shinyglass is a theme layer, not a universal skin. It targets Bootstrap 5 / bslib surfaces first, then overlays denser dashboard stacks where practical.
| Stack | Status | Notes |
|---|---|---|
fluidPage / navbarPage |
Supported | Drop-in theme = glass_theme() |
bslib page_navbar / nav_menu |
Supported | See chrome-kitchen-sink.R |
bslib page_sidebar / layout_sidebar |
Supported | Floating glass sidebar; nested layouts stay in-flow (0.1.1+) |
| bslib cards, value boxes, navsets, accordion | Supported | Tooltip / popover / toast use the glass menu surface |
| DT | Supported | Visible .page-link chips (not li-only) |
| reactable | Supported | Avoids double-framing the html-output |
| gt | Supported | Table / heading / stripe / summary chrome |
| leaflet | Supported | Map container transparency |
| plotly | Good | Glass frame + modebar; set paper_bgcolor transparent in
R for best dark |
| shinyWidgets (common inputs) | Good | Slider tooltips / noUiSlider chips |
| shinydashboard / bs4Dash / shinydashboardPlus | Overlay | Glass header/sidebar/boxes/controlbar/dropdowns; layout stays AdminLTE |
| teal | Good | Use options(teal.bs_theme = glass_theme()) |
| waiter / shinybusy / loaders | Good | Blurred overlays, not solid white scrims |
| shinyalert / SweetAlert2 | Good | Popup uses glass menu surface |
| rhandsontable | Partial | Frame + cell ink; core grid still third-party |
| echarts4r / highcharter / apex | Partial | Host wrapper glass; chart internals set in R |
| Bootstrap 3-only apps | Limited | Theme is BS5 via bslib |
layout_sidebar() does not
double-float.# overlays: datepicker, notifications, showModal, accordion, navbar menu
shiny::runApp(system.file("examples", "chrome-kitchen-sink.R", package = "shinyglass"))
# plotly + gt (+ waiter if installed)
shiny::runApp(system.file("examples", "plotly-gt-demo.R", package = "shinyglass"))
# denser AdminLTE (requires shinydashboardPlus)
shiny::runApp(system.file("examples", "shinydashboardPlus-glass-demo.R", package = "shinyglass"))Dual-theme contrast audit (optional ecosystem apps skip if packages missing):
paper_bgcolor /
plot_bgcolor in layout() (see
plotly-gt-demo.R); CSS handles the modebar.preset = "auto" is ideal for demos; pin
"light" or "dark" for screenshots and
tests.