library(shiny) library(bslib) # Define UI for slider demo app ---- ui <- page_sidebar( # App title ---- title = "Sliders", # Sidebar panel for inputs ---- sidebar = sidebar( # Input: Simple integer interval ---- sliderInput( "integer", "Integer:", min = 0, max = 1000, value = 500 ), # Input: Decimal interval with step value ---- sliderInput( "decimal", "Decimal:", min = 0, max = 1, value = 0.5, step = 0.1 ), # Input: Specification of range within an interval ---- sliderInput( "range", "Range:", min = 1, max = 1000, value = c(200, 500) ), # Input: Custom currency format for with basic animation ---- sliderInput( "format", "Custom Format:", min = 0, max = 10000, value = 0, step = 2500, pre = "$", sep = ",", animate = TRUE ), # Input: Animation with custom interval (in ms) ---- # to control speed, plus looping sliderInput( "animation", "Looping Animation:", min = 1, max = 2000, value = 1, step = 10, animate = animationOptions(interval = 300, loop = TRUE) ) ), # Output: Table summarizing the values entered ---- tableOutput("values") ) # Define server logic for slider examples ---- server <- function(input, output) { # Reactive expression to create data frame of all input values ---- sliderValues <- reactive({ data.frame( Name = c( "Integer", "Decimal", "Range", "Custom Format", "Animation" ), Value = as.character(c( input$integer, input$decimal, paste(input$range, collapse = " "), input$format, input$animation )), stringsAsFactors = FALSE ) }) # Show the values in an HTML table ---- output$values <- renderTable({ sliderValues() }) } # Create Shiny app ---- shinyApp(ui, server)