The shinyjqui package is an R wrapper for jQuery UI javascript library. It allows user to easily add interactions and animation effects to a shiny app.


You can install the stable version from CRAN, or the development version from github with:


# load packages
  • Draggable: Allow elements to be moved using the mouse

  • Resizable: Change the size of an element using the mouse.

  • Sortable: Reorder elements in a list or grid using the mouse.

  • Animation Effects: Apply an animation effect to an element. Effects can also be used in hide or show.

  • Classes transformation: Add and remove class(es) to elements while animating all style changes.

  • orderInput(): Display a list of items. Their order can be changed by drag and drop.
server <- function(input, output) {
  output$order <- renderPrint({ print(input$dest_order) })

ui <- fluidPage(
  orderInput('source', 'Source', items =,
             as_source = TRUE, connect = 'dest'),
  orderInput('dest', 'Dest', items = NULL, placeholder = 'Drag items here...'),

shinyApp(ui, server)

  • sortableTableOutput(): Render a HTML table with sortable rows.

  • selectableTableOutput(): Render a HTML table with selectable rows or cells.