Package {shinyglass}


Type: Package
Title: Liquid Glass Design Themes for 'shiny' Applications
Version: 0.1.0
Description: Drop-in Liquid Glass themes for 'shiny'. Call glass_theme() and pass the result to fluidPage(), navbarPage(), or any 'bslib'-aware page function to get translucent surfaces, backdrop blur, and system typography on 'Bootstrap' components. Light and dark presets are included, with options for accent color, blur, and corner radius.
License: GPL-3
URL: https://ericrayanderson.github.io/shinyglass/, https://github.com/ericrayanderson/shinyglass
BugReports: https://github.com/ericrayanderson/shinyglass/issues
Encoding: UTF-8
Imports: bslib (≥ 0.5.0), htmltools (≥ 0.5.0), sass (≥ 0.4.0)
Suggests: DT, ggplot2, shiny (≥ 1.5.0), testthat (≥ 3.0.0)
Config/testthat/edition: 3
Config/roxygen2/markdown: TRUE
Config/roxygen2/version: 8.0.0
NeedsCompilation: no
Packaged: 2026-07-19 12:54:32 UTC; ericrayanderson
Author: Eric Anderson [aut, cre]
Maintainer: Eric Anderson <eric.ray.anderson@gmail.com>
Repository: CRAN
Date/Publication: 2026-07-28 16:30:10 UTC

Liquid Glass Design Themes for Shiny Applications

Description

Drop-in Liquid Glass themes for shiny. Call glass_theme() and pass the result to ⁠theme =⁠ on fluidPage(), navbarPage(), or any bslib-aware page function to get translucent surfaces, backdrop blur, and system typography.

Getting started

library(shiny)
library(shinyglass)

ui <- fluidPage(
  theme = glass_theme(),
  titlePanel("Liquid Glass"),
  sliderInput("n", "Bars", 5, 30, 15),
  plotOutput("plot")
)

Light and dark presets are available via glass_theme(preset = "dark"). Accent color, blur, saturation, and corner radius are configurable.

For teal apps, set options(teal.bs_theme = glass_theme()) before calling teal::init().

Author(s)

Maintainer: Eric Anderson eric.ray.anderson@gmail.com

Authors:

See Also

glass_theme()


Liquid Glass theme for Shiny

Description

Create a bslib::bs_theme() styled with a Liquid Glass look: translucent surfaces, backdrop blur, soft depth, and system typography. Pass the result to ⁠theme =⁠ on fluidPage(), navbarPage(), bslib::page_sidebar(), or any other page function that accepts a bslib theme.

Usage

glass_theme(
  preset = c("light", "dark"),
  primary = "#007AFF",
  blur = 28,
  saturation = 200,
  radius = "1.25rem",
  ...
)

Arguments

preset

"light" or "dark". Switches the full color system.

primary

Accent color for buttons, links, and focus rings. Defaults to system blue (⁠#007AFF⁠).

blur

Backdrop blur radius in pixels.

saturation

Backdrop saturation percentage.

radius

Default border radius for glass surfaces (CSS length).

...

Additional arguments forwarded to bslib::bs_theme().

Value

A bslib::bs_theme() object suitable for Shiny page functions.

Examples

theme <- glass_theme()
dark <- glass_theme(preset = "dark", primary = "#BF5AF2")

if (interactive()) {
  library(shiny)

  ui <- fluidPage(
    theme = glass_theme(),
    titlePanel("Liquid Glass"),
    selectInput("color", "Color", c("Blue", "Purple", "Orange")),
    plotOutput("plot")
  )

  shinyApp(ui, function(...) {})
}