rstudio / shiny

Easy interactive web applications with R
https://shiny.posit.co/
Other
5.35k stars 1.87k forks source link

fix(pulse): Remove radius from pulse #4053

Closed gadenbuie closed 4 months ago

gadenbuie commented 4 months ago

This PR removes border-radius: 50% from the pulse to make the height uniform.

Example App ```r library(shiny) library(bslib) options(shiny.trace = TRUE) # Reusable card module card_ui <- function(id, spinner_type = id) { card( card_header("Spinner:", spinner_type), plotOutput(shiny::NS(id, "plot")) ) } card_server <- function(id, rerender) { moduleServer(id, function(input, output, session) { output$plot <- renderPlot({ rerender() Sys.sleep(2) plot(x = 1:100, cumsum(rnorm(100))) }) }) } # Main app ui <- page_fillable( useBusyIndicators(pulse = TRUE, spinners = FALSE), busyIndicatorOptions( pulse_height = "50px" ), actionButton("rerender", "Rerender"), fluidRow( column(width = 6, card_ui("ring")), column(width = 6, card_ui("bars")), column(width = 6, card_ui("dots")), column(width = 6, card_ui("pulse")) ) ) server <- function(input, output, session) { rerender <- reactive({ input$rerender }) card_server("ring", rerender = rerender) card_server("bars", rerender = rerender) card_server("dots", rerender = rerender) card_server("pulse", rerender = rerender) } shinyApp(ui, server) ```

The screenshots below use a very large pulse_height="50px" to exaggerate the effect, but the rounded pulse is noticeable at much smaller and more reasonable heights.

Before

image

After

image