LCARS-styled radio buttons functions.

lcarsRadio(
  inputId,
  label,
  choices = NULL,
  selected = NULL,
  inline = FALSE,
  width = NULL,
  choiceNames = NULL,
  choiceValues = NULL,
  label_color = "#FFFFFF",
  choice_color = label_color
)

lcarsRadioToggle(
  inputId,
  label,
  choices = NULL,
  selected = NULL,
  width = NULL,
  choiceNames = NULL,
  choiceValues = NULL,
  label_color = "atomic-tangerine",
  choice_color = "#000000",
  background_color = label_color,
  checked_color = choice_color,
  checked_background = "pale-canary"
)

Arguments

inputId

character, the input slot that will be used to access the value.

label

character, display label for the control, or NULL for no label.

choices

see shiny::radioButtons for details.

selected

The initially selected value (if not specified then defaults to the first value).

inline

If TRUE, render the choices inline (i.e. horizontally).

width

a valid CSS unit.

choiceNames, choiceValues

see shiny::radioButtons for details.

label_color, choice_color, background_color, checked_color, checked_background,

Color for the label, choices text, choices background, checked text and checked background. Can be any color given in hex format. Named colors must be LCARS colors. See lcarsdata for options.

Value

A set of radio buttons that can be added to a UI definition.

Details

lcarsRadio is a minimal replacement for radioButtons that provides two additional color arguments for consistency with functions like lcarsCheckbox. lcarsRadioToggle is a more customized toggle style radio buttons wrapper with more color controls.

Examples

## Only run examples in interactive R sessions
if (interactive()) {

  ui <- lcarsPage(
    fluidRow(
      column(6,
        lcarsRadio("dist1", "Distribution type:",
          c("Normal" = "norm",
            "Uniform" = "unif",
            "Log-normal" = "lnorm",
            "Exponential" = "exp"),
          inline = TRUE,
          label_color = "lilac",
          choice_color = "atomic-tangerine"
        ),
        plotOutput("distPlot1")
      ),
      column(6,
        lcarsRadioToggle("dist2", "Distribution type:",
          c("Normal" = "norm",
            "Uniform" = "unif",
            "Log-normal" = "lnorm",
            "Exponential" = "exp"),
          width = "100%"
        ),
        plotOutput("distPlot2")
      )
    )
  )

  server <- function(input, output) {
    output$distPlot1 <- renderPlot({
      dist <- switch(input$dist1,
                     norm = rnorm,
                     unif = runif,
                     lnorm = rlnorm,
                     exp = rexp,
                     rnorm)
      hist(dist(500))
    })
    output$distPlot2 <- renderPlot({
      dist <- switch(input$dist2,
                     norm = rnorm,
                     unif = runif,
                     lnorm = rlnorm,
                     exp = rexp,
                     rnorm)
      hist(dist(500))
    })
  }

  shinyApp(ui, server)
}