Helper function to manage attributes for Bootstrap's JavaScript components.

bs_set_data(tag, ...)

bs_set_aria(tag, ...)

## Arguments

tag htmltools::tag named arguments used to set the attributes of tag

## Value

htmltools::tag, modified copy of tag

## Details

One of the mechanisms used by the API for Boostrap JavaScript-components is an html elements' attributes. These attribute names are prefixed with "data-" or "aria-", depending on the function.

When expressed in html, attributes themselves have the properties:

• Logical values are expressed as "true" or "false".

• Time durations are expressed as number of milliseconds.

• Vector (non scalar) values are expressed in a space-delimited list.

The purpose of this function is to let you express these values in ways familiar to you as an R user. For example:

• Logical values can be expressed as logicals: TRUE or FALSE.

• Time durations can be expressed using lubridate durations.

• Vector (non scalar) values can be expressed as vectors.

Note that this returns a modified copy of the tag sent to it, so it is pipeable.

library("htmltools")
bs_set_aria(expanded = FALSE)#> <div data-target="#foobar" data-delay="1000" data-placement="right auto" aria-expanded="false"></div>