| Type: | Package | 
| Title: | Alerts, Notifications and Loading Screen in 'Shiny' | 
| Version: | 0.2.0 | 
| Description: | Easily create alerts, notifications, modals, info tips and loading screens in 'Shiny'. Includes several options to customize alerts and notifications by including text, icons, images and buttons. When wrapped around a 'Shiny' output, loading screen is automatically displayed while the output is being recalculated. | 
| Depends: | R(≥ 3.3) | 
| Imports: | grDevices, htmltools, shiny | 
| Suggests: | rmarkdown, kableExtra, knitr, testthat (≥ 3.0.0), covr | 
| License: | GPL (≥ 3) | 
| URL: | https://standby.rsquaredacademy.com/, https://github.com/rsquaredacademy/standby | 
| BugReports: | https://github.com/rsquaredacademy/standby/issues | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.3.2 | 
| VignetteBuilder: | knitr | 
| Config/testthat/edition: | 3 | 
| NeedsCompilation: | no | 
| Packaged: | 2024-10-28 10:47:20 UTC; HP | 
| Author: | Aravind Hebbali [aut, cre], Zong Bin [ctb, cph] (Author of Three Dots), Tobias Ahlin [ctb, cph] (Author of SpinKit), https://github.com/RIDICS [ctb, cph] (CSS loader code), Raphael Fabini [ctb, cph] (Author of included CSS loader code), Luke Hass [ctb, cph] (Author of included CSS loader code), Mohammad Younes [ctb, cph] (Author of Alertify), Nick Payne [ctb, cph] (Author of BootBox), Indrashish Ghosh [ctb, cph] (Author of MicroTip), https://github.com/codrops [ctb, cph] (Author of Notification Styles), Hunter Perrin [ctb, cph] (Author of PNotify), Robin Parisi [ctb, cph] (Author of Tingle), Marcelo Dolza [ctb, cph] (Author of iziToast) | 
| Maintainer: | Aravind Hebbali <hebbali.aravind@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2024-10-28 11:50:32 UTC | 
standby package
Description
Loading screens for Shiny.
Details
See the README on GitHub
Author(s)
Maintainer: Aravind Hebbali hebbali.aravind@gmail.com
Other contributors:
Zong Bin (Author of Three Dots) [contributor, copyright holder]
Tobias Ahlin (Author of SpinKit) [contributor, copyright holder]
https://github.com/RIDICS (CSS loader code) [contributor, copyright holder]
Raphael Fabini (Author of included CSS loader code) [contributor, copyright holder]
Luke Hass (Author of included CSS loader code) [contributor, copyright holder]
Mohammad Younes (Author of Alertify) [contributor, copyright holder]
Nick Payne (Author of BootBox) [contributor, copyright holder]
Indrashish Ghosh (Author of MicroTip) [contributor, copyright holder]
https://github.com/codrops (Author of Notification Styles) [contributor, copyright holder]
Hunter Perrin (Author of PNotify) [contributor, copyright holder]
Robin Parisi (Author of Tingle) [contributor, copyright holder]
Marcelo Dolza (Author of iziToast) [contributor, copyright holder]
See Also
Useful links:
Report bugs at https://github.com/rsquaredacademy/standby/issues
Preview Alerts
Description
Preview different types of alerts/notifications.
Preview different types of spinners/loaders.
Usage
previewAlerts(type = "toast")
previewSpinners(spinner = "threedots")
Arguments
type | 
 Type of alert/notification. Valid values are: 
  | 
spinner | 
 Type of spinner. The following spinners are available: 
  | 
Value
None
None
standby dependencies
Description
Attaches custom script and stylesheet.
Usage
standbyDeps()
Alertify
Description
Pretty browser alerts and notifications.
Usage
useAlertify()
alertify_alert(
  title = "Alert Title",
  message = "Alert Message",
  type = "success",
  btn_label = "OK",
  transition = "pulse",
  transition_off = FALSE,
  closable = TRUE,
  auto_reset = FALSE,
  frameless = FALSE,
  maximizable = FALSE,
  modal = FALSE,
  movable = FALSE,
  move_bounded = TRUE,
  overflow = FALSE,
  padding = TRUE,
  pinnable = FALSE,
  resizeable = FALSE,
  start_maximized = FALSE,
  session = getDefaultReactiveDomain()
)
alertify_notify(
  message = "Alert Message",
  type = "success",
  delay = 5,
  position = "bottom-right",
  session = getDefaultReactiveDomain()
)
Arguments
title | 
 Dialog title.  | 
message | 
 Dialog contents.  | 
type | 
 Dialog type. Defaults to  
  | 
btn_label | 
 The   | 
transition | 
 Transition effect to be used when showing/hiding the dialog. Defaults to  
  | 
transition_off | 
 Logical; if   | 
closable | 
 Logical; if   | 
auto_reset | 
 Logical; if   | 
frameless | 
 Logical; if   | 
maximizable | 
 Logical; if   | 
modal | 
 Logical; if   | 
movable | 
 Logical; if   | 
move_bounded | 
 Logical; if   | 
overflow | 
 Logical; if   | 
padding | 
 Logical; if   | 
pinnable | 
 Logical; if   | 
resizeable | 
 Logical; if   | 
start_maximized | 
 Logical; if   | 
session | 
 Shiny session object.  | 
delay | 
 The time (in seconds) to wait before the notification is auto-dismissed.   | 
position | 
 Position of the notification. Defaults to  
  | 
Value
None
Functions
-  
useAlertify: Dependencies to include in your UI. -  
alertify_alert: Display alerts. -  
alertify_notify: Display notifications. 
Examples
# Example 1: Alert
if (interactive()) {
library(shiny)
library(standby)
ui <- fluidPage(
  useAlertify(), # include dependencies
  actionButton(inputId = "btn",
               label   = "Alert Demo")
)
server <- function(input, output, session) {
  observeEvent(input$btn, {
    # display alert
    alertify_alert("Hey there!", "Thank you for exploring standby!")
  })
}
shinyApp(ui, server)
}
# Example 2: Notification
if (interactive()) {
library(shiny)
library(standby)
ui <- fluidPage(
  useAlertify(), # include dependencies
  actionButton(inputId = "btn",
               label   = "Notification Demo")
)
server <- function(input, output, session) {
  observeEvent(input$btn, {
    # display notification
    alertify_notify("Hey there! Thank you for exploring standby!")
  })
}
shinyApp(ui, server)
}
BootBox
Description
Bootstrap modals made easy.
Usage
useBootBox()
bootBox(
  title = "Your title",
  message = "Your message here...",
  size = "small",
  close_on_escape = TRUE,
  show = TRUE,
  backdrop = NULL,
  close_button = TRUE,
  animate = TRUE,
  class = NULL,
  session = getDefaultReactiveDomain()
)
Arguments
title | 
 Adds a header to the dialog.  | 
message | 
 Text displayed in the dialog.  | 
size | 
 Adds the relevant Bootstrap modal size class to the dialog wrapper. Valid values are: 
  | 
close_on_escape | 
 Logical; if   | 
show | 
 Logical; if   | 
backdrop | 
 Logical; if  
  | 
close_button | 
 Logical; if   | 
animate | 
 Logical; if   | 
class | 
 Custom CSS class (using Animate.css).  | 
session | 
 Shiny session object.  | 
Value
None
Functions
-  
useBootBox: Dependencies to include in your UI. -  
bootBox: Display modals. 
Examples
if (interactive()) {
library(shiny)
library(standby)
ui <- fluidPage(
  useBootBox(), # include dependencies
  actionButton(inputId = "btn",
               label   = "BootBox Demo")
)
server <- function(input, output, session) {
  observeEvent(input$btn, {
    # display modal
    bootBox("Hey there!", "Thank you for exploring standby!")
  })
}
shinyApp(ui, server)
}
CSS Loaders
Description
Simple CSS loaders
Usage
useLoaders()
loaders(uiOutput, type = "default", style = NULL, text = NULL)
Arguments
uiOutput | 
 An output element to be wrapped within a loader.  | 
type | 
 The type of loader to use. Visit https://css-loader.raphaelfabeni.com/ for details. 
  | 
style | 
 Custom styling for the loaders.  | 
text | 
 Custom text. Available only for the following types: 
  | 
Value
None
Functions
-  
useLoaders: Dependencies to include in your UI. -  
loaders: Display loading animation. 
Examples
if (interactive()) {
  library(shiny)
  shinyApp(
    ui = fluidPage(
      useLoaders(),
      actionButton("render", "Render"),
      loaders(uiOutput = plotOutput("plot"),
              type = "default",
              style = "half",
              text = "Loading...")
    ),
    server = function(input, output) {
      output$plot <- renderPlot({
        input$render
        Sys.sleep(3)
        hist(mtcars$mpg)
      })
    }
  )
}
MicroTip
Description
Minimal CSS only tooltip.
Usage
useMicroTip()
microTip(
  id = NULL,
  tip = "Hey! tooltip!",
  position = "top",
  size = NULL,
  session = getDefaultReactiveDomain()
)
Arguments
id | 
 The id of the element to attach the tooltip.  | 
tip | 
 Content of the tooltip.  | 
position | 
 Where the tooltip should appear relative to the target element. Defaults to  
  | 
size | 
 Size of the tooltip. Defaults to  
  | 
session | 
 Shiny session object.  | 
Value
None
Functions
-  
useMicroTip: Dependencies to include in your UI. -  
microTip: Add tooltip. 
Examples
if (interactive()) {
library(shiny)
library(standby)
ui <- fluidPage(
  useMicroTip(), # include dependencies
  br(), br(), br(), br(),
  actionButton(inputId = "btn",
               label   = "MicroTip Demo")
)
server <- function(input, output, session) {
  # display tooltip
  microTip(id = "btn",
           tip = "Hey there! This is a micro tip!",
           position = "bottom-right")
}
shinyApp(ui, server)
}
Notification Styles
Description
Simple website notifications with effects
Usage
useNS()
notice(
  message = "Hello",
  type = "notice",
  layout = "growl",
  effect = "jelly",
  session = getDefaultReactiveDomain()
)
Arguments
message | 
 Notification message.  | 
type | 
 Notification type. Defaults to  
  | 
layout | 
 Notification layout. Defaults to  
  | 
effect | 
 Notification effect type. Valid values include: 
  | 
session | 
 Shiny session object.  | 
Value
None
Functions
-  
useNS: Dependencies to include in your UI. -  
notice: Display notifications. 
Examples
if (interactive()) {
library(shiny)
library(standby)
ui <- fluidPage(
  useNS(), # include dependencies
  actionButton(inputId = "btn",
               label   = "Notice Demo")
)
server <- function(input, output, session) {
  observeEvent(input$btn, {
    # display notification
    notice("Hey there! Thank you for exploring standby!")
  })
}
shinyApp(ui, server)
}
PNotify
Description
Beautiful notifications and prompts.
Usage
useNotify()
notify(
  title = "Hey",
  text = NULL,
  type = "notice",
  icon = TRUE,
  delay = 8000,
  hide = TRUE,
  sticker = TRUE,
  closer = TRUE,
  shadow = TRUE,
  mouse_reset = TRUE,
  animation = "fade",
  animate_speed = "normal",
  width = "360px",
  min_height = "16px",
  max_text_height = "200px",
  translucent = FALSE,
  non_blocking = FALSE,
  session = getDefaultReactiveDomain()
)
Arguments
title | 
 Title of the notice. It can be a string, an element or   | 
text | 
 Text of the notice. It can be a string, an element or   | 
type | 
 Type of notice. Defaults to  
  | 
icon | 
 Logical; if   | 
delay | 
 Delay in milliseconds before the notice is removed. If set to   | 
hide | 
 Logical; if   | 
sticker | 
 Logical; if   | 
closer | 
 Logical; if   | 
shadow | 
 Logical; if   | 
mouse_reset | 
 Logical; if   | 
animation | 
 The animation to be used while displaying and hiding the notice.   | 
animate_speed | 
 Speed at which the notice animates in and out. Valid values are: 
  | 
width | 
 Width of the notice. Default is   | 
min_height | 
 Minimum height of the notice. Default is   | 
max_text_height | 
 Maximum height of the text container. Default is   | 
translucent | 
 Logical; if   | 
non_blocking | 
 Logical; if   | 
session | 
 Shiny session object.  | 
Value
None
Functions
-  
useNotify: Dependencies to include in your UI. -  
notify: Display notifications. 
Examples
if (interactive()) {
library(shiny)
library(standby)
ui <- fluidPage(
  useNotify(), # include dependencies
  actionButton(inputId = "btn",
               label   = "PNotify Demo")
)
server <- function(input, output, session) {
  observeEvent(input$btn, {
    # display notification
    notify("Hey there!", "Thank you for exploring standby!")
  })
}
shinyApp(ui, server)
}
SpinKit
Description
Simple CSS spinners.
Usage
useSpinkit()
spinkit(uiOutput, type = "plane", color = "#333", size = "40px")
Arguments
uiOutput | 
 An output element to be wrapped within a spinner.  | 
type | 
 Type of spinner to use. Valid values are: 
  | 
color | 
 Color of the spinner. Defaults to   | 
size | 
 Size of the spinner. Defaults to   | 
Value
None
Functions
-  
useSpinkit: Dependencies to include in your UI. -  
spinkit: Display loading animation. 
Examples
if (interactive()) {
  library(shiny)
  shinyApp(
    ui = fluidPage(
      useSpinkit(),
      actionButton("render", "Render"),
      spinkit(plotOutput("plot"), type = "circle-fade")
    ),
    server = function(input, output) {
      output$plot <- renderPlot({
        input$render
        Sys.sleep(3)
        hist(mtcars$mpg)
      })
    }
  )
}
Single Element CSS Spinners
Description
A collection of loading spinners animated with CSS
Usage
useSpinners()
spinners(uiOutput, type = 1, color = "#0275d8")
Arguments
uiOutput | 
 An output element to be wrapped within a spinner.  | 
type | 
 Type of spinner to use. Any integer between   | 
color | 
 Color of the spinner. Choose between hexadecimal or keyword values.  | 
Value
None
Functions
-  
useSpinners: Dependencies to include in your UI. -  
spinners: Display loading animation. 
Examples
if (interactive()) {
  library(shiny)
  shinyApp(
    ui = fluidPage(
      useSpinners(),
      actionButton("render", "Render"),
      spinners(plotOutput("plot"))
    ),
    server = function(input, output) {
      output$plot <- renderPlot({
        input$render
        Sys.sleep(3)
        hist(mtcars$mpg)
      })
    }
  )
}
Three Dots
Description
Single element CSS loading animation.
Usage
useThreeDots()
threeDots(uiOutput, type = "elastic", color = "#9880ff")
Arguments
uiOutput | 
 An output element to be wrapped within a loader.  | 
type | 
 The type of animation to use. Visit https://nzbin.github.io/three-dots/ for details.  | 
color | 
 The color of the loader. Choose between hexadecimal, RGB or keyword values.  | 
Value
None
Functions
-  
useThreeDots: Dependencies to include in your UI. -  
threeDots: Display loading animation. 
Examples
if (interactive()) {
  library(shiny)
  shinyApp(
    ui = fluidPage(
      useThreeDots(),
      actionButton("render", "Render"),
      threeDots(plotOutput("plot"))
    ),
    server = function(input, output) {
      output$plot <- renderPlot({
        input$render
        Sys.sleep(3)
        hist(mtcars$mpg)
      })
    }
  )
}
Tingle
Description
Minimalist and easy to use modals.
Usage
useTingle()
tingle(
  content = "Hello",
  close_button = FALSE,
  button_label = "Close",
  button_type = "default",
  button_position = "right",
  session = getDefaultReactiveDomain()
)
Arguments
content | 
 Content of the modal.  | 
close_button | 
 Logical; if   | 
button_label | 
 Label of   | 
button_type | 
 Type of button. Defaults to  
  | 
button_position | 
 Position of the button inside the modal. Defaults to  
  | 
session | 
 Shiny session object.  | 
Value
None
Functions
-  
useTingle: Dependencies to include in your UI. -  
tingle: Display modals. 
Examples
if (interactive()) {
library(shiny)
library(standby)
ui <- fluidPage(
  useTingle(), # include dependencies
  actionButton(inputId = "btn",
               label   = "Tingle Demo")
)
server <- function(input, output, session) {
  observeEvent(input$btn, {
    # display modal
    tingle("Hey there!, Thank you for exploring standby!")
  })
}
shinyApp(ui, server)
}
iziToast
Description
Lightweight toast notifications
Usage
useToast()
toast(
  title = "Hey",
  message = NULL,
  type = NULL,
  theme = NULL,
  position = "center",
  duration = 5000,
  progress_bar_color = NULL,
  background_color = NULL,
  max_width = NULL,
  title_color = NULL,
  title_size = NULL,
  title_line_height = NULL,
  message_color = NULL,
  message_size = NULL,
  message_line_height = NULL,
  image = NULL,
  image_width = NULL,
  zindex = 99999,
  layout = 1,
  balloon = FALSE,
  close = TRUE,
  close_on_escape = FALSE,
  close_on_click = FALSE,
  rtl = FALSE,
  display_mode = 0,
  drag_to_close = TRUE,
  pause_on_hover = TRUE,
  reset_on_hover = FALSE,
  progress_bar_easing = "linear",
  overlay = FALSE,
  overlay_close = FALSE,
  overlay_color = "rgba(0, 0, 0, 0.6)",
  animate_inside = TRUE,
  transition_in = "fadeInUp",
  transition_out = "fadeOut",
  session = getDefaultReactiveDomain()
)
Arguments
title | 
 Title of the toast.  | 
message | 
 Message of toast.  | 
type | 
 Type of notification. Defaults to  
  | 
theme | 
 Theme of toast. Choose between   | 
position | 
 Where toast will be shown. Defaults to  
  | 
duration | 
 Time in milliseconds to close the toast. Defaults to   | 
progress_bar_color | 
 Progress bar color. Choose between hexadecimal, RGB or keyword values.  | 
background_color | 
 Background color of the toast. Choose between hexadecimal, RGB or keyword values.  | 
max_width | 
 Maximum width of the toast.  | 
title_color | 
 Title color. Choose between hexadecimal, RGB or keyword values.  | 
title_size | 
 Title font size.  | 
title_line_height | 
 Title line height.  | 
message_color | 
 Message color. Choose between hexadecimal, RGB or keyword values.  | 
message_size | 
 Message font size.  | 
message_line_height | 
 Message line height.  | 
image | 
 Cover image.  | 
image_width | 
 Width of cover image. Defaults to   | 
zindex | 
 The z-index CSS attribute of the toast. Defaults to   | 
layout | 
 Size of the toast. Choose between   | 
balloon | 
 Logical; if   | 
close | 
 Logical; if   | 
close_on_escape | 
 Logical; if   | 
close_on_click | 
 Logical; if   | 
rtl | 
 Logical; if   | 
display_mode | 
 Rules to show multiple toasts. Default is  
  | 
drag_to_close | 
 Logical; if   | 
pause_on_hover | 
 Logical; if   | 
reset_on_hover | 
 Logical; if   | 
progress_bar_easing | 
 Animation easing of progress bar. Defaults to   | 
overlay | 
 Logical; if   | 
overlay_close | 
 Logical; if   | 
overlay_color | 
 Overlay background color. Defaults to   | 
animate_inside | 
 Logical; if   | 
transition_in | 
 Toast open animation. Defaults to  
  | 
transition_out | 
 Toast close animation. Defaults to  
  | 
session | 
 Shiny session object.  | 
Value
None
Functions
-  
useToast: Dependencies to include in your UI. -  
toast: Display toast notifications. 
Examples
if (interactive()) {
library(shiny)
library(standby)
ui <- fluidPage(
  useToast(), # include dependencies
  actionButton(inputId = "btn",
               label   = "iziToast Demo")
)
server <- function(input, output, session) {
  observeEvent(input$btn, {
    # display toast notification
    toast("Hey there!", "Thank you for exploring standby!")
  })
}
shinyApp(ui, server)
}
Loading Visualization
Description
Loading bars and spinners.
Usage
useVizLoad()
vizLoad(
  uiOutput,
  type = "bars",
  size = "large",
  color = NULL,
  add_label = FALSE,
  label = "Loading..."
)
Arguments
uiOutput | 
 An output element to be wrapped within a spinner.  | 
type | 
 The type of bar/spinner to use. Valid values are: 
  | 
size | 
 The size of the bar/spinner. Valid values are: 
  | 
color | 
 The color of the bar/spinner. Choose between hexadecimal, RGB or keyword values.  | 
add_label | 
 Logical; if   | 
label | 
 The label to be displayed below the bar/spinner.   | 
Value
None
Functions
-  
useVizLoad: Dependencies to include in your UI. -  
vizLoad: Display loading animation. 
Examples
if (interactive()) {
  library(shiny)
  shinyApp(
    ui = fluidPage(
      useVizLoad(),
      actionButton("render", "Render"),
      vizLoad(plotOutput("plot"))
    ),
    server = function(input, output) {
      output$plot <- renderPlot({
        input$render
        Sys.sleep(3)
        hist(mtcars$mpg)
      })
    }
  )
}