Package 'bsicons'

Title: Easily Work with 'Bootstrap' Icons
Description: Easily use 'Bootstrap' icons inside 'Shiny' apps and 'R Markdown' documents. More generally, icons can be inserted in any 'htmltools' document through inline 'SVG'.
Authors: Carson Sievert [cre, aut] , Posit Software, PBC [cph, fnd], Mark Otto [cph] (Bootstrap icons maintainer)
Maintainer: Carson Sievert <[email protected]>
License: MIT + file LICENSE
Version: 0.1.2.9000
Built: 2024-11-02 03:57:03 UTC
Source: https://github.com/rstudio/bsicons

Help Index


Use Bootstrap icons (as inline SVG)

Description

Use Bootstrap icons (as inline SVG)

Usage

bs_icon(
  name,
  size = "1em",
  class = NULL,
  title = NULL,
  a11y = c("auto", "deco", "sem", "none"),
  ...
)

Arguments

name

The name of the Bootstrap icon. Whitespace is replaced with - (that way, "arrow up" can be used to refer to the "actual name" of "arrow-up"). For a searchable list of names, see https://icons.getbootstrap.com/

size

Any valid CSS unit defining both the height and width of the icon.

class

Additional CSS classes to add to the ⁠<svg>⁠ element. Consider providing Bootstrap 5+ utility classes (e.g., text-success) here to stylize the icon (but also note that those utility classes will only work when Bootstrap 5+ is on the page).

title

If provided (highly recommended), a11y defaults to "sem", meaning the title is used for on-hover text and screen reader announcements.

a11y

Cases that distinguish the role of the icon and inform which accessibility attributes to be used. Icons can either be "deco" (decorative, the default case), "sem" (semantic), "none" (no accessibility features). The default, "auto", resolves to "sem" if a title is provided (and "deco" otherwise).

...

additional CSS properties (e.g., margin, position, etc.) placed on the ⁠<svg>⁠ tag.

Value

An htmltools::HTML() string containing the SVG icon.

Examples

up <- bs_icon("arrow-up-circle", size = "9em", class = "text-success")
up_fill <- bs_icon("arrow-up-circle-fill", size = "9em", class = "text-success")

# utility class will only apply with a modern version of Bootstrap
if (interactive() && requireNamespace('bslib')) {
  bslib::page_fluid(up, up_fill)
}