Function reference
Page containers
Create a user interface page container.
ui.page_sidebar | Create a page with a sidebar and a title. |
ui.page_navbar | Create a page with a navbar and a title. |
ui.page_sidebar | Create a page with a sidebar and a title. |
ui.page_fillable | Create a fillable page. |
ui.page_fluid | Create a fluid page. |
ui.page_fixed | Create a fixed page. |
ui.page_bootstrap | Create a Bootstrap UI page container. |
ui.page_auto | A page container which automatically decides which page function to use. |
ui.page_output | Create a page container where the entire body is a UI output. |
UI Layouts
Control the layout of multiple UI components.
ui.sidebar | Sidebar element |
ui.layout_sidebar | Sidebar layout |
ui.layout_columns | Create responsive, column-based grid layouts, based on a 12-column grid. |
ui.layout_column_wrap | A grid-like, column-first layout |
ui.card | A Bootstrap card component |
ui.card_header | Card header container |
ui.card_footer | Card footer container |
ui.popover | Add a popover to a UI element. |
ui.tooltip | Add a tooltip to a UI element. |
ui.accordion | Create a vertically collapsing accordion. |
ui.accordion_panel | Single accordion panel. |
ui.column | Responsive row-column based layout |
ui.row | Responsive row-column based layout |
UI Inputs
Create UI that prompts the user for input values or interaction.
ui.input_select | Create a select list that can be used to choose a single or multiple items from a list of values. |
ui.input_selectize | Create a select list that can be used to choose a single or multiple items from a list of values. |
ui.input_slider | Constructs a slider widget to select a number, date, or date-time from a range. |
ui.input_dark_mode | Creates a dark mode switch input that toggles the app between dark and light modes. |
ui.input_date | Creates a text input which, when clicked on, brings up a calendar that the user can click on to select dates. |
ui.input_date_range | Creates a pair of text inputs which, when clicked on, bring up calendars that the user can click on to select dates. |
ui.input_checkbox | Create a checkbox that can be used to specify logical values. |
ui.input_checkbox_group | Create a group of checkboxes that can be used to toggle multiple choices independently. |
ui.input_switch | Create a switch that can be used to specify logical values. Similar to input_checkbox , but implies to the user that the change will take effect immediately. |
ui.input_radio_buttons | Create a set of radio buttons used to select an item from a list. |
ui.input_numeric | Create an input control for entry of numeric values. |
ui.input_text | Create an input control for entry of text values. |
ui.input_text_area | Create a textarea input control for entry of unstructured text values. |
ui.input_password | Create an password control for entry of passwords. |
ui.input_action_button | Creates an action button whose value is initially zero, and increments by one each time it is pressed. |
ui.input_action_link | Creates a link whose value is initially zero, and increments by one each time it is pressed. |
ui.input_task_button | Creates a button for launching longer-running operations. |
Value boxes
Prominently display a value and label in a box that can be expanded to show more information.
ui.value_box | Value box |
ui.value_box_theme | Value box theme |
ui.showcase_bottom | Showcase bottom |
ui.showcase_left_center | Showcase left center |
ui.showcase_top_right | Showcase top right |
UI panels
Visually group together a section of UI components.
ui.panel_absolute | Create a panel of absolutely positioned content. |
ui.panel_fixed | Create a panel of absolutely positioned content. |
ui.panel_conditional | Create a conditional panel. |
ui.panel_title | Create title(s) for the application. |
ui.panel_well | Create a well panel. |
Uploads & downloads
Allow users to upload and download files.
ui.input_file | Create a file upload control that can be used to upload one or more files. |
ui.download_button | Create a download button |
ui.download_link | Create a download button. |
Chat interface
Build a chatbot interface
ui.Chat | Create a chat interface. |
ui.chat_ui | UI container for a chat component (Shiny Core). |
Custom UI
Lower-level UI functions for creating custom HTML/CSS/JS
ui.Theme | Create a custom Shiny theme. |
ui.HTML | Mark a string as raw HTML. This will prevent the string from being escaped when rendered inside an HTML tag. |
ui.TagList | Create an HTML tag list (i.e., a fragment of HTML) |
ui.tags | Functions for creating HTML tags. |
ui.markdown | Convert a string of markdown to ui.HTML . |
ui.include_css | Include a CSS file. |
ui.include_js | Include a JavaScript file. |
ui.insert_ui | Insert UI objects. |
ui.remove_ui | Remove UI objects. |
ui.busy_indicators.use | Enable/disable busy indication |
ui.busy_indicators.options | Customize spinning busy indicators. |
ui.fill.as_fillable_container | Coerce a tag to a fillable container. |
ui.fill.as_fill_item | Coerce a tag to a fill item. |
ui.fill.remove_all_fill | Remove any filling layouts from a tag. |
ui.css.as_css_unit | Convert a value into a CSS unit. |
ui.css.as_css_padding | Convert a CSS unit or list of CSS units into a CSS padding value. |
Update inputs
Programmatically update input values.
ui.update_select | Change the value of a select input on the client. |
ui.update_selectize | Change the value of a selectize.js powered input on the client. |
ui.update_slider | Change the value of a slider input on the client. |
ui.update_dark_mode | |
ui.update_date | Change the value of a date input on the client. |
ui.update_date_range | Change the start and end values of a date range input on the client. |
ui.update_checkbox | Change the value of a checkbox input on the client. |
ui.update_checkbox_group | Change the value of a checkbox group input on the client. |
ui.update_switch | Change the value of a switch input on the client. |
ui.update_radio_buttons | Change the value of a radio input on the client. |
ui.update_numeric | Change the value of a number input on the client. |
ui.update_text | Change the value of a text input on the client. |
ui.update_text_area | Change the value of a text input on the client. |
ui.update_navs | Change the value of a navs container on the client. |
ui.update_action_button | Change the label and/or icon of an action button on the client. |
ui.update_action_link | Change the label and/or icon of an action link on the client. |
ui.update_task_button | Change the state of a task button on the client. |
Update UI Layouts
ui.update_sidebar | Update a sidebar’s visibility. |
ui.update_tooltip | Update tooltip contents. |
ui.update_popover | Update the contents or title of a popover. |
ui.update_accordion | Dynamically set accordions’ states. |
ui.update_accordion_panel | Dynamically update accordion panel contents. |
ui.insert_accordion_panel | Insert an accordion_panel . |
ui.remove_accordion_panel | Remove an accordion_panel . |
Rendering outputs
UI (output_*()) and server (render)ing functions for generating content server-side.
ui.output_plot | Create a output container for a static plot. |
ui.output_image | Create a output container for a static image. |
ui.output_table | Create a output container for a table. |
ui.output_data_frame | Create an output container for an interactive table or grid. Features fast virtualized scrolling, sorting, filtering, and row selection (single or multiple). |
ui.output_text | Create a output container for some text. |
ui.output_code | Create a output container for code (monospaced text). |
ui.output_text_verbatim | Create a output container for some text. |
ui.output_ui | Create a output container for a UI (i.e., HTML) element. |
render.plot | Reactively render a plot object as an HTML image. |
render.image | Reactively render a image file as an HTML image. |
render.table | Reactively render a pandas DataFrame object (or similar) as a basic HTML table. |
render.text | Reactively render text. |
render.code | Reactively render text as code (monospaced). |
render.ui | Reactively render HTML content. |
render.express | Reactively render HTML content with output captured as in Shiny Express |
render.download | Decorator to register a function to handle a download. |
render.data_frame | Decorator for a function that returns a pandas, polars, or eager narwhals compatible DataFrame object to render as an interactive table or grid. Features fast virtualized scrolling, sorting, filtering, and row selection (single or multiple). |
render.DataGrid | Holds the data and options for a data_frame output, for a spreadsheet-like view. |
render.DataTable | Holds the data and options for a data_frame output, for a spreadsheet-like view. |
Reactive programming
reactive.calc | Mark a function as a reactive calculation. |
reactive.effect | Mark a function as a reactive side effect. |
reactive.value | Create a reactive value. |
reactive.Calc | Mark a function as a reactive calculation. |
reactive.Effect | Mark a function as a reactive side effect. |
reactive.Value | Create a reactive value. |
reactive.event | Mark a function to react only when an “event” occurs. |
reactive.isolate | Create a non-reactive scope within a reactive scope. |
reactive.invalidate_later | Scheduled Invalidation |
reactive.extended_task | Decorator to mark an async function as a slow computation. This will cause the function to be run in a background asyncio task, and the results will be available via the ExtendedTask object returned by the decorator. |
reactive.flush | Run any pending invalidations (i.e., flush the reactive environment). |
reactive.poll | Create a reactive polling object. |
reactive.file_reader | Create a reactive file reader. |
reactive.lock | A lock that should be held whenever manipulating the reactive graph. |
req | Throw a silent exception for falsy values. |
Create and run applications
run_app | Starts a Shiny app. Press Ctrl+C (or Ctrl+Break on Windows) to stop the app. |
App | Create a Shiny app instance. |
Inputs | A class representing Shiny input values. |
Outputs | A class representing Shiny output definitions. |
Session | Interface definition for Session-like classes, like AppSession , SessionProxy , and ExpressStubSession . |
Display messages
ui.help_text | Create a help text element |
ui.notification_show | Show a notification to the user. |
ui.notification_remove | Remove a notification. |
ui.modal | Creates the UI for a modal dialog, using Bootstrap’s modal class. |
ui.modal_show | Show a modal dialog. |
ui.modal_remove | Remove a modal dialog box. |
ui.modal_button | Creates a button that will dismiss a modal . |
ui.Progress | Initialize a progress bar. |
Modules
module.ui | |
module.server |
Developer facing tools
Session | |
Create output renderers | Package author methods for creating new output renderers. |
htmltools methods | |
ExtendedTask | Supervise an extended, long-running task |
Types
Miscellaneous types | |
Tag types | |
Exception types |
Deprecated
render.transformer.output_transformer | Deprecated. Please use Renderer instead. |
render.transformer.resolve_value_fn | Resolve the value function |
Experimental
These methods are under consideration and are considered unstable. However, if there is a method you are excited about, please let us know!
Card | Additional card components that compliment ui.card. |