Create Dashboards with 'Shiny'

Create dashboards with 'Shiny'. This package provides a theme on top of 'Shiny', making it easy to create attractive dashboards.

Travis: Travis-CI Build Status

AppVeyor: AppVeyor Build Status

To install from CRAN:


See the documentation at


shinydashboard 0.7.1

Full changelog

New features

  • Shiny async support: render functions can now handle promises. Instead of returning a valueBox to renderValueBox, return a promise that resolves to a valueBox (for example).

Bug fixes

  • Fixed #297: recent versions of Shiny caused the sidebar toggle icon to not render because FontAwesome was upgraded in Shiny. (#299)

shinydashboard 0.7.0

Full changelog

New features

  • Changed license from GPL-2 to GPL>=2 (meaning GPL version 2 or later). (#258)

Bug fixes

  • Fixed shinytest/#167: shinydashboard did not work properly with shinytest. (#256](

  • Fixed #257: Calling the setValue() method on sidebarmenuExpandedInputBinding did not cause the submenu to expand. This caused screenshots from shinytest to be incorrect.

  • Fixed #235: make sure that the text input field and search button line up when using sidebarSearchForm. (#243)

  • Fixed #229: only run ensureActivatedTab() after renderMenu() is called if the el in question has class "sidebar-menu". Since this function is used for both dropdownMenuOutput and sidebarMenuOutput, we have to make sure that ensureActivatedTab() is only called if it's the latter case (otherwise, you get unexpected tab redirections when updating a dropdown menu). (#233)

shinydashboard 0.6.1

This is a hotfix release of shinydashboard, meant to fix a few edge cases that have surfaced since the last release.

Full changelog

  • Fixed #214: make sure that the data-value attribute of .sidebarMenuSelectedTabItem is always set in the body of the ensureActivatedTab() function. (#216)

  • Fixed #217: correct input$sidebarCollapsed value for edge cases by attaching the change event to the end of the sidebar CSS transitions (instead of when the toggle button is clicked). Also make sure that input$sidebarCollapsed is set to FALSE when the app starts up with the sidebar already collapsed. (#222)

shinydashboard 0.6.0

This release of shinydashboard was aimed at both fixing bugs and also bringing the package up to speed with users' requests and Shiny itself (especially fully bringing bookmarkable state to shinydashboard's sidebar). In addition to the changes listed below, we also added a new "Behavior" section to the shinydashboard website to explain this release's two biggest new features.

Full changelog

New features

  • Address #179 support for bookmarking the expanded/collapsed state of the whole sidebar. (commit e71c93f)

  • Added Shiny input to keep track of which sidebar menuItem is expanded (if any), which makes bookmarking the exact state of the sidebar trivial. (commit 6901b90)

Minor new features and improvements

  • Addressed #165: added a new optional argument, called headerText to the dropdownMenu() function. If provided by the user, this text (instead of the default) will be shown on the header of the menu (only visible when the menu is expanded). See ?dropdownMenu for more details. #207

  • Split JS files. (commit ea91503). More updates to Gruntfile and structure. (commit 4e80616)

  • Better shown/hidden mechanic for Shiny inputs inside collapsible menuItems. (commit 6901b90)

  • Added hack on adminLTE/app.js in order to make the slideUp/slideDown css transitions look reasonable when its content is initially empty (use case is for hidden Shiny outputs that are not rendered until the first time the menuItem is expanded and reveal them -- i.e. first time that trigger("shown") is called). (commit 25725a6)

  • Added manual tests for bookmarking and the shown/hidden events that happen on the sidebar. (commit 9e3e55d)

Bug fixes

  • Fixed #71 and #87: detect and enforce selected tab for dynamic sidebar menus by calling ensureActivatedTab() for these. (commit 9b88a79)

  • Fixed #127 and #177: previously, if dashboardSidebar() was called with an explicit width parameter, mobile rendering would look weird (the sidebar wouldn't completely disappear when it was collapsed, and content in the dashboard body would be hidden under the still-visible sidebar). (#204)

  • Fixed #79: Re-enable slight css transition when the sidebar is expanded/collapsed. (#205).

  • Fixed #89: We claimed that dashboardPage() would try to extract the page's title from dashboardHeader() (if the title is not provided directly to dashboardPage()); however, we were selecting the wrong child of the header tag object (#203)

  • Fixed #129: Trigger shown/hidden event for Shiny outputs in the sidebar. (#194)

  • Fixed #73: add collapsed argument to dashboardSidebar(), which allows it to start off collapsed. (#186)

  • Fixed #62: make images resize when the sidebar collapses/expands. #185

  • Fixed #176 (making buttons look good on the sidebar) by giving Shiny action buttons and links some margin space. (#182)

Library updates

  • Update documentation to newest version of roxygen. (commit #541d3c1)

  • Addressed #178: switch from npm to yarn. Also upgraded all yarn packages to the latest tag (all major changes). #184

  • Updated to AdminLTE 2.3.11. (#181)

shinydashboard 0.5.3

  • Fixed (#160: Using a dynamically-created sidebarMenu without an id argument would cause the app to not start, when used with Shiny 0.14.

shinydashboard 0.5.2

  • Added ability to bookmark and restore tabs, when used with Shiny 0.14 and above. (#152, #157)

  • Fixed issue with R CMD check and Shiny version 0.14.

  • Updated to AdminLTE 2.3.2 (1ee281b).

shinydashboard 0.5.1

  • Logout panels from Shiny Server Pro were previously not visible, but now they are.

  • If a sidebarUserPanel doesn't have an image, space for the image is no longer allocated.

  • tabNames are now validated so that illegal characters result in an error early. (#66)

  • sidebarUserPanel now displays properly. (#70)

  • radioButtons did not wrap, but now they do. (#60)

shinydashboard 0.5.0

  • Updated to AdminLTE 2.1.2 (406de4e). Please note that some CSS selectors have changed, so if you are using custom CSS, it may require modification. The documentation at has some updated examples.

  • shinydashboard now respects the shiny.minified option.

  • Collapse buttons on boxes trigger shown and hidden events. Previously they did not, which resulted in dynamic content not working for boxes that started collapsed. (#17, #42)

  • Dynamic menuSubItems now work in the sidebar. (#54)

  • Arbitrary content may now be used in a sidebarMenu(), not just menuItems. (#44)

  • Added options to set the width of dashboardHeader() and dashboardSidebar(). (#43, #45, #54)

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.7.1 by Winston Chang, 3 years ago

Report a bug at

Browse source code at

Authors: Winston Chang [aut, cre] , Barbara Borges Ribeiro [aut] , RStudio [cph] , Almasaeed Studio [ctb, cph] (AdminLTE theme for Bootstrap) , Adobe Systems Incorporated [ctb, cph] (Source Sans Pro font)

Documentation:   PDF Manual  

GPL (>= 2) | file LICENSE license

Imports utils, shiny, htmltools, promises

Imported by AovBay, BayesianFROC, BayesianNetwork, BiasCorrector, CaPO4Sim, CruzPlot, DIFshiny, EventDetectGUI, Factoshiny, GDINA, GMSE, GWSDAT, JustifyAlpha, LDAShiny, MCPModPack, MDMAPR, MedianaDesigner, MtreeRing, OpenRepGrid.ic, PKconverter, RALSA, RLumShiny, RawHummus, ReviewR, RtutoR, SPARTAAS, SSDM, ShinyItemAnalysis, ShinyQuickStarter, TKCat, aRbs, aaSEA, arena2r, bdDwC, bdchecks, bdclean, bea.R, bestSDP, bridger2, consortr, corporaexplorer,, cromwellDashboard, dccvalidator, discoveR, dragon, drawsample, eAnalytics, eirm, elaborator, elementR, exploratory, ezr, geodrawr, gwpcormapper, irtGUI, matman, memapp, mlr3shiny, modchart, modgetxl, mplot, naturaList, ontoFAST, pagoo, periscope, pguIMP, polished, predictoR, regressoR, revtools, rsqliteadmin, seasonalview, shinyIRT, shinydashboardPlus, soilphysics, spotGUI, sstModel, stminsights, teachingApps, toxEval, trackeRapp, wilson, wiseR, yuimaGUI.

Depended on by conmet, gwdegree, iAdapt, monobinShiny, paramGUI.

Suggested by GMCM, IOHanalyzer, MODIStsp, SqlRender, UCSCXenaTools, VOSONDash, bayesbr, blockCV, eSDM, fresh, gratis, idiogramFISH, nCov2019, phenocamr, podr, presize, rAmCharts, safetyGraphics, semantic.dashboard, sen2r, shiny.reglog, shinyEffects, shinyWidgets, shinyauthr, snotelr, taipan, xROI.

See at CRAN