## ----setup, include=FALSE----------------------------------------------------- knitr::opts_chunk$set(eval = FALSE) ## ----basic-------------------------------------------------------------------- # library(shiny) # library(glasstabs) # # ui <- fluidPage( # useGlassTabs(), # glassTabsUI("nav", # glassTabPanel("overview", "Overview", selected = TRUE, # h3("Overview"), # p("This pane is shown first.") # ), # glassTabPanel("details", "Details", # h3("Details"), # p("Switch to this tab using the button above.") # ), # glassTabPanel("settings", "Settings", # h3("Settings"), # p("A third tab.") # ) # ) # ) # # server <- function(input, output, session) {} # # shinyApp(ui, server) ## ----server-input------------------------------------------------------------- # server <- function(input, output, session) { # observe({ # req(input[["nav-active_tab"]]) # message("Active tab: ", input[["nav-active_tab"]]) # }) # # # Or use the convenience wrapper # active <- glassTabsServer("nav") # observe(message("Active: ", active())) # } ## ----extra-ui----------------------------------------------------------------- # choices <- c(Alpha = "alpha", Beta = "beta", Gamma = "gamma") # # ui <- fluidPage( # useGlassTabs(), # glassTabsUI("nav", # extra_ui = glassMultiSelect("cat", choices, show_style_switcher = FALSE), # glassTabPanel("a", "Tab A", selected = TRUE, # p("Content A"), # glassFilterTags("cat") # tag pills synced to the filter # ), # glassTabPanel("b", "Tab B", # p("Content B"), # glassFilterTags("cat") # ) # ) # ) ## ----theme-presets------------------------------------------------------------ # # Dark (default) # glassTabsUI("nav", theme = "dark", ...) # # # Light — suits white page backgrounds and bs4Dash cards # glassTabsUI("nav", theme = "light", ...) ## ----theme-custom------------------------------------------------------------- # # Change only the halo colour # glassTabsUI("nav", # theme = glass_tab_theme( # halo_bg = "rgba(251,191,36,0.18)", # halo_border = "rgba(251,191,36,0.40)", # tab_active_text = "#fef3c7" # ), # glassTabPanel("a", "Tab", selected = TRUE, p("Content")) # ) ## ----bs4dash------------------------------------------------------------------ # library(bs4Dash) # library(glasstabs) # # ui <- bs4DashPage( # header = bs4DashNavbar(title = "My App"), # sidebar = bs4DashSidebar(disable = TRUE), # body = bs4DashBody( # useGlassTabs(), # bs4Card( # title = "Analysis", width = 12, # glassTabsUI("dash", # wrap = FALSE, # theme = "light", # extra_ui = glassMultiSelect("f", choices, theme = "light", # show_style_switcher = FALSE), # glassTabPanel("a", "Overview", selected = TRUE, p("Overview content")), # glassTabPanel("b", "Details", p("Detail content")) # ) # ) # ) # ) ## ----multi-instance----------------------------------------------------------- # ui <- fluidPage( # useGlassTabs(), # only needed once per page # glassTabsUI("widget1", # glassTabPanel("a", "One-A", selected = TRUE, p("Widget 1, pane A")), # glassTabPanel("b", "One-B", p("Widget 1, pane B")) # ), # glassTabsUI("widget2", # glassTabPanel("x", "Two-X", selected = TRUE, p("Widget 2, pane X")), # glassTabPanel("y", "Two-Y", p("Widget 2, pane Y")) # ) # ) # # server <- function(input, output, session) { # observe(message("Widget 1 active: ", input[["widget1-active_tab"]])) # observe(message("Widget 2 active: ", input[["widget2-active_tab"]])) # }