}}\preformatted{bs_theme(base_font = font_google("Pacifico", local = TRUE))
+\if{html}{\out{
}}\preformatted{bs_theme(base_font = font_google("Pacifico", local = TRUE))
}\if{html}{\out{
}}
-However, specifying multiple "fallback" font families is recommended,
-especially when relying on remote and/or system fonts being available, for
-instance. Fallback fonts are useful not only for handling missing fonts, but
-also for handling a Flash of Invisible Text (FOIT) which can be quite
-noticeable with remote web fonts on a slow internet connection.
+That said, we recommend you specify multiple "fallback" font families,
+especially when relying on remote and/or system fonts being available.
+Fallback fonts are useful not only for handling missing fonts, but also
+ensure that your users don't experience a Flash of Invisible Text (FOIT)
+which can be quite noticeable with remote web fonts on a slow internet
+connection.
-\if{html}{\out{
}}\preformatted{bs_theme(base_font = font_collection(font_google("Pacifico", local = FALSE), "Roboto", "sans-serif"))
+\if{html}{\out{
}}\preformatted{bs_theme(base_font = font_collection(font_google("Pacifico", local = FALSE), "Roboto", "sans-serif"))
}\if{html}{\out{
}}
}
\examples{
+\dontshow{if (rlang::is_interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf}
theme <- bs_theme(
# Controls the default grayscale palette
@@ -177,21 +182,39 @@ theme <- bs_theme(
# Can also add lower-level customization
"input-border-color" = "#EA80FC"
)
-if (interactive()) {
- bs_theme_preview(theme)
-}
+
+bs_theme_preview(theme)
# Lower-level bs_add_*() functions allow you to work more
# directly with the underlying Sass code
theme <- bs_add_variables(theme, "my-class-color" = "red")
theme <- bs_add_rules(theme, ".my-class { color: $my-class-color }")
-
+\dontshow{\}) # examplesIf}
}
\references{
-\url{https://rstudio.github.io/bslib/articles/theming.html}
-
-\url{https://rstudio.github.io/sass/}
+\itemize{
+\item \href{https://rstudio.github.io/bslib/articles/theming/index.html}{Get Started: Theming}
+introduces theming with bslib in Shiny apps and R Markdown documents.
+\item \href{https://rstudio.github.io/bslib/articles/bs5-variables/index.html}{Theming: Bootstrap 5 variables}
+provides a searchable reference of all theming variables available in
+Bootstrap 5.
+\item \href{https://rstudio.github.io/bslib/articles/custom-components/index.html}{Theming: Custom components}
+gives a tutorial on creating a dynamically themable custom component.
+\item bslib's theming capabilities are powered by
+\href{https://rstudio.github.io/sass/}{the {sass} package}.
+\item \href{https://rstudio.github.io/bslib/articles/utility-classes/index.html}{Bootstrap's utility classes}
+can be helpful when you want to change the appearance of an element
+without writing CSS or customizing your \code{bs_theme()}.
+}
}
\seealso{
-\code{\link[=bs_add_variables]{bs_add_variables()}}, \code{\link[=bs_theme_preview]{bs_theme_preview()}}
+Other Bootstrap theme functions:
+\code{\link{bs_add_variables}()},
+\code{\link{bs_current_theme}()},
+\code{\link{bs_dependency}()},
+\code{\link{bs_global_theme}()},
+\code{\link{bs_remove}()},
+\code{\link{bs_theme_dependencies}()},
+\code{\link{bs_theme_preview}()}
}
+\concept{Bootstrap theme functions}
diff --git a/man/bs_theme_dependencies.Rd b/man/bs_theme_dependencies.Rd
index 1976fd9be..e2482505d 100644
--- a/man/bs_theme_dependencies.Rd
+++ b/man/bs_theme_dependencies.Rd
@@ -13,7 +13,7 @@ bs_theme_dependencies(
)
}
\arguments{
-\item{theme}{a \code{\link[=bs_theme]{bs_theme()}} object.}
+\item{theme}{A \code{\link[=bs_theme]{bs_theme()}} object.}
\item{sass_options}{a \code{\link[sass:sass_options]{sass::sass_options()}} object.}
@@ -26,12 +26,12 @@ object created by \code{\link[sass:sass_file_cache]{sass_file_cache()}}, or \cod
precompiled CSS file for the \code{\link[=theme_version]{theme_version()}}. If \code{precompiled = TRUE}
and a precompiled CSS file exists for the theme object, it will be fetched
immediately and not compiled. At the moment, we only provide precompiled
-CSS for "stock" builds of Bootstrap (i.e., no theming additions, bootswatch
+CSS for "stock" builds of Bootstrap (i.e., no theming additions, Bootswatch
themes, or non-default \code{sass_options}).}
}
\value{
-a list of HTML dependencies containing Bootstrap CSS, Bootstrap
-JavaScript, and \code{jquery}. This list may contain additional HTML
+Returns a list of HTML dependencies containing Bootstrap CSS,
+Bootstrap JavaScript, and \code{jquery}. This list may contain additional HTML
dependencies if bundled with the \code{theme}.
}
\description{
@@ -45,22 +45,21 @@ component, see \code{\link[=bs_dependency]{bs_dependency()}}.
\section{Sass caching and precompilation}{
-If Shiny Developer Mode is enabled (by setting \code{options(shiny.devmode = TRUE)} or calling \code{shiny::devmode(TRUE)}), both \pkg{sass} caching and \pkg{bslib}
-precompilation are disabled by default; that is, a call to
-\code{bs_theme_dependencies(theme)} expands to \code{bs_theme_dependencies(theme, cache = F, precompiled = F)}). This is useful for local development as
-enabling caching/precompilation may produce incorrect results if local
-changes are made to bslib's source files.
+If Shiny Developer Mode is enabled (by setting \code{options(shiny.devmode = TRUE)} or calling \code{shiny::devmode(TRUE)}), both \pkg{sass} caching and
+\pkg{bslib} precompilation are disabled by default; that is, a call to
+\code{bs_theme_dependencies(theme)} expands to \code{bs_theme_dependencies(theme, cache = F, precompiled = F)}). This is useful for local development as enabling
+caching/precompilation may produce incorrect results if local changes are
+made to bslib's source files.
}
\examples{
+\dontshow{if (rlang::is_interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf}
# Function to preview the styling a (primary) Bootstrap button
library(htmltools)
button <- tags$a(class = "btn btn-primary", href = "#", role = "button", "Hello")
preview_button <- function(theme) {
- if (interactive()) {
- browsable(tags$body(bs_theme_dependencies(theme), button))
- }
+ browsable(tags$body(bs_theme_dependencies(theme), button))
}
# Latest Bootstrap
@@ -71,8 +70,16 @@ preview_button(bs_theme(3))
preview_button(bs_theme(4, bootswatch = "minty"))
# Bootswatch 4 sketchy theme
preview_button(bs_theme(4, bootswatch = "sketchy"))
-
+\dontshow{\}) # examplesIf}
}
\seealso{
-\code{\link[=bs_theme]{bs_theme()}}, \code{\link[=bs_dependency]{bs_dependency()}}
+Other Bootstrap theme functions:
+\code{\link{bs_add_variables}()},
+\code{\link{bs_current_theme}()},
+\code{\link{bs_dependency}()},
+\code{\link{bs_global_theme}()},
+\code{\link{bs_remove}()},
+\code{\link{bs_theme_preview}()},
+\code{\link{bs_theme}()}
}
+\concept{Bootstrap theme functions}
diff --git a/man/bs_theme_preview.Rd b/man/bs_theme_preview.Rd
index bc9464407..0588af329 100644
--- a/man/bs_theme_preview.Rd
+++ b/man/bs_theme_preview.Rd
@@ -2,12 +2,12 @@
% Please edit documentation in R/bs-theme-preview.R
\name{bs_theme_preview}
\alias{bs_theme_preview}
-\title{Preview the currently set theme}
+\title{Preview a Bootstrap theme}
\usage{
bs_theme_preview(theme = bs_theme(), ..., with_themer = TRUE)
}
\arguments{
-\item{theme}{a \code{\link[=bs_theme]{bs_theme()}} object.}
+\item{theme}{A \code{\link[=bs_theme]{bs_theme()}} object.}
\item{...}{passed along to \code{\link[shiny:runApp]{shiny::runApp()}}.}
@@ -18,18 +18,33 @@ nothing, this function is called for its side-effects (launching an
application).
}
\description{
-Launches an example shiny app via \code{run_with_themer()} and
-\code{bs_theme_dependencies()}. Useful for getting a quick preview of the current
-theme setting as well as an interactive GUI for tweaking some of the main
-theme settings.
+Launches an example shiny app that can be used to get a quick preview of a
+\code{\link[=bs_theme]{bs_theme()}}, as well as an interactive GUI for tweaking some of the
+main theme settings. Calling \code{bs_theme_preview()} with no arguments starts
+the theme preview app with the default theme, which is a great way to see
+the available theme presets or to start creating your own theme.
}
\details{
-The app that this launches is subject to change.
+The app that this launches is subject to change as new features are
+developed in \pkg{bslib} and \pkg{shiny}.
}
\examples{
+\dontshow{if (rlang::is_interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf}
theme <- bs_theme(bg = "#6c757d", fg = "white", primary = "orange")
-if (interactive()) bs_theme_preview(theme)
+bs_theme_preview(theme)
+\dontshow{\}) # examplesIf}
}
\seealso{
-\code{\link[=run_with_themer]{run_with_themer()}}
+Use \code{\link[=run_with_themer]{run_with_themer()}} or \code{\link[=bs_themer]{bs_themer()}} to add the theming UI to
+an existing shiny app.
+
+Other Bootstrap theme functions:
+\code{\link{bs_add_variables}()},
+\code{\link{bs_current_theme}()},
+\code{\link{bs_dependency}()},
+\code{\link{bs_global_theme}()},
+\code{\link{bs_remove}()},
+\code{\link{bs_theme_dependencies}()},
+\code{\link{bs_theme}()}
}
+\concept{Bootstrap theme functions}
diff --git a/man/builtin_themes.Rd b/man/builtin_themes.Rd
index 5498c53bb..500542cec 100644
--- a/man/builtin_themes.Rd
+++ b/man/builtin_themes.Rd
@@ -12,8 +12,18 @@ builtin_themes(version = version_default(), full_path = FALSE)
\item{full_path}{whether to return a path to the installed theme.}
}
\value{
-a character vector of built-in themes provided by \pkg{bslib}.
+Returns a character vector of built-in themes provided by
+\pkg{bslib}.
}
\description{
Obtain a list of all available built-in \pkg{bslib} themes.
}
+\seealso{
+Other Bootstrap theme utility functions:
+\code{\link{bootswatch_themes}()},
+\code{\link{bs_get_variables}()},
+\code{\link{theme_bootswatch}()},
+\code{\link{theme_version}()},
+\code{\link{versions}()}
+}
+\concept{Bootstrap theme utility functions}
diff --git a/man/card.Rd b/man/card.Rd
index 65498bae1..cb6e3c429 100644
--- a/man/card.Rd
+++ b/man/card.Rd
@@ -48,34 +48,58 @@ A \code{\link[htmltools:builder]{htmltools::div()}} tag.
\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}}
A general purpose container for grouping related UI elements together with a
-border and optional padding. To learn more about \code{\link[=card]{card()}}s, see \href{https://rstudio.github.io/bslib/articles/cards.html}{this article}.
+border and optional padding. To learn more about \code{\link[=card]{card()}}s, see \href{https://rstudio.github.io/bslib/articles/cards/index.html}{the Cards article} or the
+other articles listed in the \emph{References} section below.
}
\examples{
-
+\dontshow{if (rlang::is_interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf}
library(htmltools)
-if (interactive()) {
- card(
- full_screen = TRUE,
- card_header(
- "This is the header"
- ),
- card_body(
- p("This is the body."),
- p("This is still the body.")
- ),
- card_footer(
- "This is the footer"
- )
+card(
+ full_screen = TRUE,
+ card_header(
+ "This is the header"
+ ),
+ card_body(
+ p("This is the body."),
+ p("This is still the body.")
+ ),
+ card_footer(
+ "This is the footer"
)
+)
+\dontshow{\}) # examplesIf}
+}
+\references{
+Several articles on the bslib website feature the card component:
+\itemize{
+\item \href{https://rstudio.github.io/bslib/articles/cards/index.html}{Cards}
+\item \href{https://rstudio.github.io/bslib/articles/dashboards/index.html}{Get Started: Dashboards}
+\item \href{https://rstudio.github.io/bslib/articles/any-project/index.html}{Get Started: Any Project}
+\item \href{https://rstudio.github.io/bslib/articles/column-layout/index.html}{Column-based layouts}
+\item \href{https://rstudio.github.io/bslib/articles/filling/index.html#full-screen-cards}{Filling layouts: Full-screen cards}
}
-
}
\seealso{
-\code{\link[=card_body]{card_body()}} for putting stuff inside the card.
+\link[=card_body]{Card item functions} create the various parts of a
+card.
+
+\code{\link[=navset_card_tab]{navset_card_tab()}}, \code{\link[=navset_card_pill]{navset_card_pill()}} and
+\code{\link[=navset_card_underline]{navset_card_underline()}} create cards with tabbed navigation.
+
+\code{\link[=layout_columns]{layout_columns()}} and \code{\link[=layout_column_wrap]{layout_column_wrap()}} help position multiple
+cards into columns and rows and can also be used inside a card.
+
+\code{\link[=layout_sidebar]{layout_sidebar()}} adds a sidebar to a card when nested in \code{\link[=card]{card()}}
+or \code{\link[=card_body]{card_body()}}.
-\code{\link[=navset_card_tab]{navset_card_tab()}} for cards with multiple tabs.
+\code{\link[=value_box]{value_box()}} uses \code{\link[=card]{card()}} to highlight a showcase a key piece of
+information.
-\code{\link[=layout_column_wrap]{layout_column_wrap()}} for laying out multiple cards (or multiple
-columns inside a card).
+Other Components:
+\code{\link{accordion}()},
+\code{\link{popover}()},
+\code{\link{tooltip}()},
+\code{\link{value_box}()}
}
+\concept{Components}
diff --git a/man/card_body.Rd b/man/card_body.Rd
index 96ea3883a..ce29c2a78 100644
--- a/man/card_body.Rd
+++ b/man/card_body.Rd
@@ -97,7 +97,9 @@ An \code{\link[htmltools:builder]{htmltools::div()}} tag.
}
\description{
Components designed to be provided as direct children of a \code{\link[=card]{card()}}. For a
-general overview of the \code{\link[=card]{card()}} API, see \href{https://rstudio.github.io/bslib/articles/cards.html}{this article}.
+general overview of the \code{\link[=card]{card()}} API, see \href{https://rstudio.github.io/bslib/articles/cards/index.html}{the Cards article} or the
+other articles listed in the \emph{References} section of the \code{\link[=card]{card()}}
+documentation.
}
\section{Functions}{
\itemize{
@@ -117,10 +119,14 @@ general overview of the \code{\link[=card]{card()}} API, see \href{https://rstud
}}
\seealso{
-\code{\link[=card]{card()}} for creating a card component.
+\code{\link[=card]{card()}} creates a card component.
-\code{\link[=navset_card_tab]{navset_card_tab()}} for cards with multiple tabs.
+\code{\link[=navset_card_tab]{navset_card_tab()}}, \code{\link[=navset_card_pill]{navset_card_pill()}} and
+\code{\link[=navset_card_underline]{navset_card_underline()}} create cards with tabbed navigation.
-\code{\link[=layout_column_wrap]{layout_column_wrap()}} for laying out multiple cards (or multiple
-columns inside a card).
+\code{\link[=layout_columns]{layout_columns()}} and \code{\link[=layout_column_wrap]{layout_column_wrap()}} help position multiple
+cards into columns and rows and can also be used inside a card.
+
+\code{\link[=layout_sidebar]{layout_sidebar()}} adds a sidebar to a card when nested in \code{\link[=card]{card()}}
+or \code{\link[=card_body]{card_body()}}.
}
diff --git a/man/fragments/value-box-themes.Rmd b/man/fragments/value-box-themes.Rmd
index 9a488c835..0cb3773b0 100644
--- a/man/fragments/value-box-themes.Rmd
+++ b/man/fragments/value-box-themes.Rmd
@@ -17,8 +17,10 @@ knitr::opts_chunk$set(
The appearance of a `value_box()`
can be controlled via the `theme` argument
in one of two ways:
-(1) a character value describing the theme, e.g. `theme = "primary"`
-or (2) `theme = value_box_theme()` to create a custom theme.
+1. a character value describing the theme,
+ such as `theme = "primary"` or `theme = "blue"`; or
+3. `theme = value_box_theme()` to create a custom theme.
+
We recommend using named themes for most value boxes (the first approach),
because these themes will automatically match your Bootstrap theme.
diff --git a/man/input_switch.Rd b/man/input_switch.Rd
index 3631e5b14..bce859930 100644
--- a/man/input_switch.Rd
+++ b/man/input_switch.Rd
@@ -22,7 +22,8 @@ toggle_switch(id, value = NULL, session = get_current_session())
\item{width}{Any valid \link[htmltools:validateCssUnit]{CSS unit} (e.g.,
\code{width="200px"}).}
-\item{session}{a shiny session object (the default should almost always be used).}
+\item{session}{a shiny session object (the default should almost always be
+used).}
}
\value{
Returns a UI element for a switch input control. The server value
diff --git a/man/layout_column_wrap.Rd b/man/layout_column_wrap.Rd
index 0753cd584..a73c33d42 100644
--- a/man/layout_column_wrap.Rd
+++ b/man/layout_column_wrap.Rd
@@ -76,11 +76,13 @@ devices (or narrow windows).}
Wraps a 1d sequence of UI elements into a 2d grid. The number of columns (and
rows) in the grid dependent on the column \code{width} as well as the size of the
-display. For more explanation and illustrative examples, see
-\href{https://rstudio.github.io/bslib/articles/cards.html#multiple-cards}{here}.
+display. For more explanation and illustrative examples, see the \emph{References}
+section below.
}
\examples{
+\dontshow{if (rlang::is_interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf}
x <- card("A simple card")
+
# Always has 2 columns (on non-mobile)
layout_column_wrap(width = 1/2, x, x, x)
@@ -91,5 +93,17 @@ layout_column_wrap(x, x, x)
# To use larger column widths by default, set `width`.
# This example has 3 columns when the screen is at least 900px wide:
layout_column_wrap(width = "300px", x, x, x)
-
+\dontshow{\}) # examplesIf}
+}
+\references{
+The bslib website features \code{layout_column_wrap()} in two places:
+\itemize{
+\item \href{https://rstudio.github.io/bslib/articles/column-layout/index.html}{Column-based layouts}
+\item \href{https://rstudio.github.io/bslib/articles/cards/index.html#multiple-cards}{Cards: Multiple cards}
+}
+}
+\seealso{
+Other Column layouts:
+\code{\link{layout_columns}()}
}
+\concept{Column layouts}
diff --git a/man/layout_columns.Rd b/man/layout_columns.Rd
index cce213f66..f8ea30f04 100644
--- a/man/layout_columns.Rd
+++ b/man/layout_columns.Rd
@@ -38,10 +38,10 @@ above.
\item{row_heights}{One of the following:
\itemize{
\item A numeric vector, where each value represents the
-\href{https://css-tricks.com/introduction-fr-css-unit/}{fractional unit} (\code{fr})
-height of the relevant row. If there are more rows than values provided,
-the pattern will repeat. For example, \code{row_heights = c(1, 2)} allows even
-rows to take up twice as much space as odd rows.
+\href{https://css-tricks.com/introduction-fr-css-unit/}{fractional unit}
+(\code{fr}) height of the relevant row. If there are more rows than values
+provided, the pattern will repeat. For example, \code{row_heights = c(1, 2)}
+allows even rows to take up twice as much space as odd rows.
\item A list of numeric and \link[htmltools:validateCssUnit]{CSS length units},
where each value represents the height of the relevant row. If more rows
are needed than values provided, the pattern will repeat. For example,
@@ -72,8 +72,6 @@ Create responsive, column-based grid layouts, based on a 12-column grid.
}
\examples{
\dontshow{if (rlang::is_interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf}
-
-
x <- card("A simple card")
page_fillable(
@@ -108,6 +106,15 @@ page_fillable(
)
\dontshow{\}) # examplesIf}
}
+\references{
+\href{https://rstudio.github.io/bslib/articles/column-layout/index.html}{Column-based layouts}
+on the bslib website.
+}
\seealso{
-\code{\link[=breakpoints]{breakpoints()}} for more information on breakpoints.
+\code{\link[=breakpoints]{breakpoints()}} for more information on specifying column widths at
+responsive breakpoints.
+
+Other Column layouts:
+\code{\link{layout_column_wrap}()}
}
+\concept{Column layouts}
diff --git a/man/nav-items.Rd b/man/nav-items.Rd
index 250ef90db..ed724ae51 100644
--- a/man/nav-items.Rd
+++ b/man/nav-items.Rd
@@ -69,5 +69,19 @@ forms, links to external content, etc.)
}}
\seealso{
-\code{\link[=navset_tab]{navset_tab()}}, \code{\link[=nav_select]{nav_select()}}.
+\link{navset} create the navigation container holding the nav panels.
+
+\code{\link[=nav_menu]{nav_menu()}}, \code{\link[=nav_item]{nav_item()}}, \code{\link[=nav_spacer]{nav_spacer()}} create menus, items, or
+space in the navset control area.
+
+\code{\link[=nav_insert]{nav_insert()}}, \code{\link[=nav_remove]{nav_remove()}} programmatically add or remove nav
+panels.
+
+\code{\link[=nav_select]{nav_select()}}, \code{\link[=nav_show]{nav_show()}}, \code{\link[=nav_hide]{nav_hide()}} change the state of a
+\code{\link[=nav_panel]{nav_panel()}} in a navset.
+
+Other Panel container functions:
+\code{\link{nav_select}()},
+\code{\link{navset}}
}
+\concept{Panel container functions}
diff --git a/man/nav_prepend.Rd b/man/nav_prepend.Rd
index 0cc9b62b2..0174113f1 100644
--- a/man/nav_prepend.Rd
+++ b/man/nav_prepend.Rd
@@ -30,7 +30,8 @@ nav_append(
\item{select}{Should \code{nav} be selected upon being inserted?}
-\item{session}{a shiny session object (the default should almost always be used).}
+\item{session}{a shiny session object (the default should almost always be
+used).}
}
\description{
Exported for use by \code{\link[shiny:insertTab]{shiny::prependTab()}}/\code{\link[shiny:insertTab]{shiny::appendTab()}}. These
diff --git a/man/nav_select.Rd b/man/nav_select.Rd
index 36c6176f8..606eaf0de 100644
--- a/man/nav_select.Rd
+++ b/man/nav_select.Rd
@@ -31,7 +31,8 @@ nav_hide(id, target, session = get_current_session())
\item{selected}{a character string used to identify a particular
\code{\link[=nav_panel]{nav_panel()}} item.}
-\item{session}{a shiny session object (the default should almost always be used).}
+\item{session}{a shiny session object (the default should almost always be
+used).}
\item{nav}{a \code{\link[=nav_panel]{nav_panel()}} item.}
@@ -48,7 +49,7 @@ specified and must be called within an active Shiny session.
}
\examples{
-can_browse <- function() interactive() && require("shiny")
+can_browse <- function() rlang::is_interactive() && require("shiny")
# Selecting a tab
if (can_browse()) {
@@ -95,5 +96,16 @@ if (can_browse()) {
}
\seealso{
-\code{\link[=nav_panel]{nav_panel()}}, \code{\link[=navset_tab]{navset_tab()}}.
+\link[=navset]{Navset functions} create the navigation container holding
+the nav panels.
+
+\code{\link[=nav_panel]{nav_panel()}}, \code{\link[=nav_panel_hidden]{nav_panel_hidden()}} create panels of content.
+
+\code{\link[=nav_menu]{nav_menu()}}, \code{\link[=nav_item]{nav_item()}}, \code{\link[=nav_spacer]{nav_spacer()}} create menus, items, or
+space in the navset control area.
+
+Other Panel container functions:
+\code{\link{nav-items}},
+\code{\link{navset}}
}
+\concept{Panel container functions}
diff --git a/man/navset.Rd b/man/navset.Rd
index da8b121b9..661c4f80f 100644
--- a/man/navset.Rd
+++ b/man/navset.Rd
@@ -383,5 +383,19 @@ Note also that the underline styling can be removed via the \code{underline} arg
}
\seealso{
-\code{\link[=nav_panel]{nav_panel()}}, \code{\link[=nav_select]{nav_select()}}.
+\code{\link[=nav_panel]{nav_panel()}}, \code{\link[=nav_panel_hidden]{nav_panel_hidden()}} create panels of content.
+
+\code{\link[=nav_menu]{nav_menu()}}, \code{\link[=nav_item]{nav_item()}}, \code{\link[=nav_spacer]{nav_spacer()}} create menus, items, or
+space in the navset control area.
+
+\code{\link[=nav_insert]{nav_insert()}}, \code{\link[=nav_remove]{nav_remove()}} programmatically add or remove nav
+panels.
+
+\code{\link[=nav_select]{nav_select()}}, \code{\link[=nav_show]{nav_show()}}, \code{\link[=nav_hide]{nav_hide()}} change the state of a
+\code{\link[=nav_panel]{nav_panel()}} in a navset.
+
+Other Panel container functions:
+\code{\link{nav-items}},
+\code{\link{nav_select}()}
}
+\concept{Panel container functions}
diff --git a/man/popover.Rd b/man/popover.Rd
index 60df7ad98..051892190 100644
--- a/man/popover.Rd
+++ b/man/popover.Rd
@@ -161,8 +161,17 @@ shinyApp(ui, server)
\dontshow{\}) # examplesIf}
}
\references{
-\url{https://getbootstrap.com/docs/5.3/components/popovers/}
+Popovers are based on \href{https://getbootstrap.com/docs/5.3/components/popovers/}{Bootstrap's Popover component}. See the
+bslib website for an \href{https://rstudio.github.io/bslib/articles/tooltips-popovers/index.html}{interactive introduction to tooltips and popovers}.
}
\seealso{
-\code{\link[=tooltip]{tooltip()}}
+\code{\link[=tooltip]{tooltip()}} provides an alternative way to display informational
+text on demand, typically when focusing or hovering over a trigger element.
+
+Other Components:
+\code{\link{accordion}()},
+\code{\link{card}()},
+\code{\link{tooltip}()},
+\code{\link{value_box}()}
}
+\concept{Components}
diff --git a/man/precompiled_css_path.Rd b/man/precompiled_css_path.Rd
index 541062b19..7da04dc05 100644
--- a/man/precompiled_css_path.Rd
+++ b/man/precompiled_css_path.Rd
@@ -7,7 +7,7 @@
precompiled_css_path(theme = bs_theme())
}
\arguments{
-\item{theme}{a \code{\link[=bs_theme]{bs_theme()}} object.}
+\item{theme}{A \code{\link[=bs_theme]{bs_theme()}} object.}
}
\value{
The path to the precompiled CSS file, if it exists, or \code{NULL}, if
diff --git a/man/sidebar.Rd b/man/sidebar.Rd
index 9040a3a8a..b69b9542b 100644
--- a/man/sidebar.Rd
+++ b/man/sidebar.Rd
@@ -38,8 +38,6 @@ layout_sidebar(
)
toggle_sidebar(id, open = NULL, session = get_current_session())
-
-sidebar_toggle(id, open = NULL, session = get_current_session())
}
\arguments{
\item{...}{Unnamed arguments can be any valid child of an \link[htmltools:builder]{htmltools tag} and named arguments become HTML attributes on
@@ -127,39 +125,39 @@ used).}
\description{
\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}}
-Create a collapsing sidebar layout by providing a \code{sidebar()} object to the
-\code{sidebar} argument of:
-\itemize{
-\item \code{\link[=page_sidebar]{page_sidebar()}}
-\itemize{
-\item Creates a "page-level" sidebar.
-}
-\item \code{\link[=page_navbar]{page_navbar()}}
-\itemize{
-\item Creates a multi-page app with a "page-level" sidebar.
-\item Creates a multi page/tab UI with a singular \code{sidebar()} (which is
-shown on every page/tab).
-}
-\item \code{layout_sidebar()}
-\itemize{
-\item Creates a "floating" sidebar layout component which can be dropped
-inside any \code{\link[=page]{page()}} and/or \code{\link[=card]{card()}} context.
-}
-\item \code{\link[=navset_card_tab]{navset_card_tab()}} and \code{\link[=navset_card_pill]{navset_card_pill()}}
+Sidebar layouts place UI elements, like input controls or additional context,
+next to the main content area which often holds output elements like plots or
+tables.
+
+There are several page, navigation, and layout functions that allow you to
+create a sidebar layout. In each case, you can create a collapsing sidebar
+layout by providing a \code{sidebar()} object to the \code{sidebar} argument the
+following functions.
\itemize{
-\item Creates a multi-tab card with a sidebar inside of it.
-}
+\item \code{\link[=page_sidebar]{page_sidebar()}} creates a "page-level" sidebar.
+\item \code{\link[=page_navbar]{page_navbar()}} creates a multi-panel app with an (optional, page-level)
+sidebar that is shown on every panel.
+\item \code{layout_sidebar()} creates a "floating" sidebar layout component which can
+be used inside any \code{\link[=page]{page()}} and/or \code{\link[=card]{card()}} context.
+\item \code{\link[=navset_card_tab]{navset_card_tab()}} and \code{\link[=navset_card_pill]{navset_card_pill()}} create multi-tab cards with a
+shared sidebar that is accessible from every panel.
}
-See \href{https://rstudio.github.io/bslib/articles/sidebars.html}{this article}
-to learn more.
+See \href{https://rstudio.github.io/bslib/articles/sidebars.html}{the Sidebars article}
+on the bslib website to learn more.
}
\section{Functions}{
\itemize{
\item \code{toggle_sidebar()}: Toggle a \code{sidebar()} state during an active Shiny user
session.
-\item \code{sidebar_toggle()}: An alias for \code{\link[=toggle_sidebar]{toggle_sidebar()}}.
-
}}
-\keyword{internal}
+\references{
+Sidebar layouts are featured in a number of pages on the bslib
+website:
+\itemize{
+\item \href{https://rstudio.github.io/bslib/articles/sidebars.html}{Sidebars}
+\item \href{https://rstudio.github.io/bslib/articles/cards/index.html#sidebars}{Cards: Sidebars}
+\item \href{https://rstudio.github.io/bslib/articles/dashboards/index.html}{Getting Started: Dashboards}
+}
+}
diff --git a/man/theme_bootswatch.Rd b/man/theme_bootswatch.Rd
index 7dc3bc1e2..11dd1b186 100644
--- a/man/theme_bootswatch.Rd
+++ b/man/theme_bootswatch.Rd
@@ -7,11 +7,20 @@
theme_bootswatch(theme)
}
\arguments{
-\item{theme}{a \code{\link[=bs_theme]{bs_theme()}} object.}
+\item{theme}{A \code{\link[=bs_theme]{bs_theme()}} object.}
}
\value{
-the Bootswatch theme named used (if any) in the \code{theme}.
+Returns the Bootswatch theme named used (if any) in the \code{theme}.
}
\description{
Obtain a theme's Bootswatch theme name
}
+\seealso{
+Other Bootstrap theme utility functions:
+\code{\link{bootswatch_themes}()},
+\code{\link{bs_get_variables}()},
+\code{\link{builtin_themes}()},
+\code{\link{theme_version}()},
+\code{\link{versions}()}
+}
+\concept{Bootstrap theme utility functions}
diff --git a/man/theme_version.Rd b/man/theme_version.Rd
index 82e5d8d0e..3567462ef 100644
--- a/man/theme_version.Rd
+++ b/man/theme_version.Rd
@@ -7,11 +7,20 @@
theme_version(theme)
}
\arguments{
-\item{theme}{a \code{\link[=bs_theme]{bs_theme()}} object.}
+\item{theme}{A \code{\link[=bs_theme]{bs_theme()}} object.}
}
\value{
-the major version of Bootstrap used in the \code{theme}.
+Returns the major version of Bootstrap used in the \code{theme}.
}
\description{
Obtain a theme's Bootstrap version
}
+\seealso{
+Other Bootstrap theme utility functions:
+\code{\link{bootswatch_themes}()},
+\code{\link{bs_get_variables}()},
+\code{\link{builtin_themes}()},
+\code{\link{theme_bootswatch}()},
+\code{\link{versions}()}
+}
+\concept{Bootstrap theme utility functions}
diff --git a/man/tooltip.Rd b/man/tooltip.Rd
index 640a8d2bf..bb93a8b7b 100644
--- a/man/tooltip.Rd
+++ b/man/tooltip.Rd
@@ -130,8 +130,18 @@ card(
\dontshow{\}) # examplesIf}
}
\references{
-\url{https://getbootstrap.com/docs/5.3/components/tooltips/}
+Tooltips are based on \href{https://getbootstrap.com/docs/5.3/components/tooltips/}{Bootstrap's Tooltip component}. See the
+bslib website for an \href{https://rstudio.github.io/bslib/articles/tooltips-popovers/index.html}{interactive introduction to tooltips and popovers}.
}
\seealso{
-\code{\link[=popover]{popover()}}
+\code{\link[=popover]{popover()}} provides a an alternative and more persistent container
+for additional elements, typically revealed by clicking on a target
+element.
+
+Other Components:
+\code{\link{accordion}()},
+\code{\link{card}()},
+\code{\link{popover}()},
+\code{\link{value_box}()}
}
+\concept{Components}
diff --git a/man/value_box.Rd b/man/value_box.Rd
index 00e006197..c464df878 100644
--- a/man/value_box.Rd
+++ b/man/value_box.Rd
@@ -116,13 +116,14 @@ Accepted values in the second category are \code{"auto"}, \code{"min-content"},
An opinionated (\code{\link[=card]{card()}}-powered) box, designed for displaying a \code{value} and
\code{title}. Optionally, a \code{showcase} can provide for context for what the
\code{value} represents (for example, it could hold a \code{\link[bsicons:bs_icon]{bsicons::bs_icon()}}, or
-even a \code{\link[shiny:plotOutput]{shiny::plotOutput()}}).
+even a \code{\link[shiny:plotOutput]{shiny::plotOutput()}}). Find examples and template code you can use to
+create engaging \href{https://rstudio.github.io/bslib/articles/value-boxes/index.html}{value boxes on the bslib website}.
}
-\section{Build a Box App}{
+\section{Build-a-Box App}{
Explore all of the \code{value_box()} options and layouts interactively with the
-\href{https://bslib.shinyapps.io/build-a-box/}{Build a Box app}, available
+\href{https://bslib.shinyapps.io/build-a-box/}{Build-a-Box app}, available
online thanks to \href{https://www.shinyapps.io/}{shinyapps.io}. Or, you can
run the app locally with:
@@ -136,8 +137,12 @@ run the app locally with:
The appearance of a \code{value_box()}
can be controlled via the \code{theme} argument
in one of two ways:
-(1) a character value describing the theme, e.g. \code{theme = "primary"}
-or (2) \code{theme = value_box_theme()} to create a custom theme.
+\enumerate{
+\item a character value describing the theme,
+such as \code{theme = "primary"} or \code{theme = "blue"}; or
+\item \code{theme = value_box_theme()} to create a custom theme.
+}
+
We recommend using named themes for most value boxes (the first approach),
because these themes will automatically match your Bootstrap theme.
\subsection{Named themes}{
@@ -370,6 +375,24 @@ value_box(
)
\dontshow{\}) # examplesIf}
}
+\references{
+Value boxes are featured on the bslib website in a few articles:
+\itemize{
+\item \href{https://rstudio.github.io/bslib/articles/value-boxes/index.html}{Value boxes}
+\item \href{https://bslib.shinyapps.io/build-a-box}{Build-a-Box App}
+\item \href{https://rstudio.github.io/bslib/articles/dashboards/index.html#value-boxes}{Get Started: Dashboards}
+}
+}
\seealso{
-\code{\link[=card]{card()}}
+Value boxes are a specialized form of a \code{\link[=card]{card()}} component.
+
+\code{\link[=layout_columns]{layout_columns()}} and \code{\link[=layout_column_wrap]{layout_column_wrap()}} help position multiple
+value boxes into columns and rows.
+
+Other Components:
+\code{\link{accordion}()},
+\code{\link{card}()},
+\code{\link{popover}()},
+\code{\link{tooltip}()}
}
+\concept{Components}
diff --git a/man/versions.Rd b/man/versions.Rd
index f49a76dfd..e06ebd2d7 100644
--- a/man/versions.Rd
+++ b/man/versions.Rd
@@ -10,8 +10,17 @@ versions()
version_default()
}
\value{
-A list of the Bootstrap versions available.
+Returns a list of the Bootstrap versions available.
}
\description{
Available Bootstrap versions
}
+\seealso{
+Other Bootstrap theme utility functions:
+\code{\link{bootswatch_themes}()},
+\code{\link{bs_get_variables}()},
+\code{\link{builtin_themes}()},
+\code{\link{theme_bootswatch}()},
+\code{\link{theme_version}()}
+}
+\concept{Bootstrap theme utility functions}