05:00
dept_choices <- c("Ancient Near Easter Art", "American")
selectInput(
"dept",
"Select Department",
choices = dept_choices
)
<div class="form-group shiny-input-container">
<label class="control-label" id="dept-label" for="dept">
Select Department
</label>
<div>
<select id="dept" class="form-control">
<option value="Ancient Near Easter Art" selected>Ancient Near Easter Art</option>
<option value="American">American</option>
</select>
</div>
</div>
Empowers users across spectrum of design experience
Set of rules that define how HTML content is presented in the browser
In the application ex-1/app.R
, give the image display a bit of style! Visit the exercise page for more details.
05:00
{bslib}
Provides tools for customizing Bootstrap themes directly in R
Building upon the app from exercise 1, use {bslib}
to customize font and other theme elements!
05:00
Prioritizing accessibility leads to better UX!
{cicerone}
A convienent API to create guided tours of Shiny applications using
driver.js
{cicerone}
WorkflowCicerone
R6 class and step()
methods to define stepsuse_cicerone()
in app UI{shinyWidgets}
Custom widgets and other components to enhance your Shiny application
😐 Not quite: {shiny}
and {shinydashboard}
use different styling toolkits under the hood
{htmltools}
to the RescueuseValueBox <- function() {
if (!requireNamespace(package = "shinydashboard")) {
message("package 'shinydashboard' is required to run this function")
}
deps <- htmltools::findDependencies(
shinydashboard::dashboardPage(
header = shinydashboard::dashboardHeader(),
sidebar = shinydashboard::dashboardSidebar(),
body = shinydashboard::dashboardBody()
)
)
htmltools::attachDependencies(tags$div(), value = deps)
}
value_box <- function(...) shinydashboard::valueBox(...)
{shinyWidgets}
Usage of this powerful technique in {shinyWidgets}
:
All of Shiny’s interactivity is powered by JavaScript
Varations underpin many community packages
{shinyjs}
Easily improve the user experience of your Shiny apps in seconds, without having to know JS
Harness the power of custom JavaScript in the Art Viewer App!
10:00