| Title: | Create Dashboards with 'Tabler' and 'Shiny' | 
| Version: | 0.1.0 | 
| Description: | Provides functions to build interactive dashboards combining the 'Tabler UI Kit' with 'Shiny', making it easy to create professional-looking web applications. 'Tabler' is fully responsive and compatible with all modern browsers. Offers customizable layouts and components built with 'HTML5' and 'CSS3'. The underlying 'Tabler' (https://github.com/tabler/tabler) and 'Tabler Icons' (https://github.com/tabler/tabler-icons) were pre-built from source to eliminate the need for 'Node.js' and 'NPM' on package installation. | 
| URL: | https://github.com/pachadotdev/tabler | 
| BugReports: | https://github.com/pachadotdev/tabler/issues | 
| Depends: | R (≥ 3.5.0) | 
| License: | Apache License (≥ 2) | 
| Imports: | htmltools | 
| Suggests: | DT, testthat (≥ 3.0.0) | 
| RoxygenNote: | 7.3.3 | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| Config/testthat/edition: | 3 | 
| NeedsCompilation: | no | 
| Packaged: | 2025-10-27 17:44:00 UTC; pacha | 
| Author: | Mauricio Vargas Sepulveda [aut, cre], Tabler [ctb, cph] (Tabler Dashboard) | 
| Maintainer: | Mauricio Vargas Sepulveda <m.vargas.sepulveda@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-10-31 17:50:08 UTC | 
tabler: Create Dashboards with 'Tabler' and 'Shiny'
Description
Provides functions to build interactive dashboards combining the 'Tabler UI Kit' with 'Shiny', making it easy to create professional-looking web applications. 'Tabler' is fully responsive and compatible with all modern browsers. Offers customizable layouts and components built with 'HTML5' and 'CSS3'. The underlying 'Tabler' (https://github.com/tabler/tabler) and 'Tabler Icons' (https://github.com/tabler/tabler-icons) were pre-built from source to eliminate the need for 'Node.js' and 'NPM' on package installation.
Author(s)
Maintainer: Mauricio Vargas Sepulveda m.vargas.sepulveda@gmail.com
Other contributors:
Tabler (Tabler Dashboard) [contributor, copyright holder]
See Also
Useful links:
Create a Tabler Card
Description
Build a modern card component with optional header, body, and footer
Small helper to render the page pretitle element used by Tabler examples
Small helper to render the page title element used by Tabler examples
Create the full page header structure with pretitle and title
Display a key metric or value prominently
Display an icon from Tabler Icons or other icon libraries
Display important messages to users
Create interactive buttons with Tabler styling
Usage
card(..., title = NULL, footer = NULL, status = NULL, class = NULL)
pre_title(text)
title(text)
page_header(title_text, pretitle_text = NULL, ...)
value_box(value, title, icon = NULL, color = "primary", width = 3)
icon(name, library = "tabler", class = NULL)
alert(..., type = "info", dismissible = FALSE, title = NULL)
button(
  label,
  href = NULL,
  onclick = NULL,
  color = "primary",
  size = "md",
  outline = FALSE,
  icon = NULL,
  icon_right = FALSE,
  disabled = FALSE,
  block = FALSE,
  pill = FALSE,
  square = FALSE,
  loading = FALSE,
  class = NULL,
  type = "button",
  ...
)
Arguments
... | 
 Additional HTML attributes  | 
title | 
 Alert title (optional)  | 
footer | 
 Card footer content (optional)  | 
status | 
 Card color status: "primary", "secondary", "success", "warning", "danger", etc.  | 
class | 
 Additional CSS classes  | 
text | 
 The title text to display  | 
title_text | 
 The main title text  | 
pretitle_text | 
 The pretitle text (optional)  | 
value | 
 Main value to display  | 
icon | 
 Icon to include  | 
color | 
 Button color theme  | 
width | 
 Column width (1-12)  | 
name | 
 Icon name  | 
library | 
 Icon library: "tabler", "bootstrap", "feather"  | 
type | 
 HTML button type attribute  | 
dismissible | 
 Whether alert can be dismissed  | 
label | 
 Button text  | 
href | 
 URL to link to (creates an anchor tag instead of button)  | 
onclick | 
 JavaScript to execute on click  | 
size | 
 Button size: "sm", "md", "lg"  | 
outline | 
 Use outline style  | 
icon_right | 
 Position icon on the right side  | 
disabled | 
 Whether the button is disabled  | 
block | 
 Make button full-width (block-level)  | 
pill | 
 Use pill-shaped button style  | 
square | 
 Use square button style  | 
loading | 
 Show loading spinner  | 
Value
An HTML tag representing the card
An HTML tag representing the value box
An HTML tag representing the icon
An HTML tag representing the alert
An HTML tag representing the button
Get layout-specific body attributes
Description
Determine body classes and attributes based on layout
Usage
get_layout_attributes(layout)
Arguments
layout | 
 Layout type  | 
Value
A list of body attributes
Tabler Icons Data
Description
A dataset containing Tabler icon names and their categories.
Usage
icons
Format
A data frame with 6,019 rows and 3 variables:
- root
 The root category of the icon (e.g., "arrow/arrows", "brand", "device", etc.)
- icon
 The full icon name (e.g., "arrow-up", "arrow-down", "circle-arrow-up", "circle-arrow-up-filled", etc.)
- filled
 Logical indicating whether the icon is a filled or not.
Source
Derived from the icons from https://github.com/tabler/tabler-icons
Examples
icons[grepl("paw", icons$icon), ]
Build boxed layout structure
Description
Build the HTML structure for the boxed layout. This layout has a top navbar.
Usage
layout_boxed(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Arguments
navbar | 
 Navbar component (or list with top/side for combo)  | 
sidebar | 
 Sidebar component (not typically used when passing list)  | 
body | 
 Body content  | 
footer | 
 Footer component  | 
Build combo layout structure
Description
Build the HTML structure for the combo layout. This layout has BOTH a sidebar (vertical navbar with dark theme) AND a top navbar.
Usage
layout_combo(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Arguments
navbar | 
 Navbar component (or list with top/side for combo)  | 
sidebar | 
 Sidebar component (not typically used when passing list)  | 
body | 
 Body content  | 
footer | 
 Footer component  | 
Build condensed layout structure
Description
Build the HTML structure for the condensed layout. This accepts either a single navbar tag, or a named list with 'top' and 'side' for compatibility with combo-like callers. Returns the full page tag structure (including optional top navbar, page wrapper, body and footer)
Usage
layout_condensed(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Arguments
navbar | 
 Navbar component (or list with top/side for combo)  | 
sidebar | 
 Sidebar component (not typically used when passing list)  | 
body | 
 Body content  | 
footer | 
 Footer component  | 
theme | 
 Theme name (light/dark) passed for downstream use  | 
color | 
 Primary color name  | 
show_theme_button | 
 Logical whether to show theme toggles  | 
Build fluid layout structure
Description
Build structure for the fluid layout which uses a top navbar
Usage
layout_fluid(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Arguments
navbar | 
 Navbar component  | 
sidebar | 
 Not used  | 
body | 
 Body content  | 
footer | 
 Footer content  | 
Build fluid vertical layout structure
Description
Vertical fluid layout uses a sidebar (<aside>) and page wrapper
Usage
layout_fluid_vertical(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Arguments
navbar | 
 Navbar or sidebar component  | 
sidebar | 
 Not used  | 
body | 
 Body content  | 
footer | 
 Footer content  | 
Build horizontal layout structure
Description
Horizontal layout uses a top header/navigation
Usage
layout_horizontal(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Arguments
navbar | 
 Navbar component  | 
sidebar | 
 Not used  | 
body | 
 Body content  | 
footer | 
 Footer  | 
Build navbar dark layout structure
Description
Top navbar variant with dark theme wrapper
Usage
layout_navbar_dark(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Build navbar overlap layout structure
Description
Overlap navbar variant - similar to condensed but with text-white page header
Usage
layout_navbar_overlap(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Build navbar sticky layout structure
Description
Sticky navbar wrapper - transforms vertical navbar to horizontal sticky structure
Usage
layout_navbar_sticky(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Build rtl layout structure
Description
Right-to-left layout variant - transforms vertical navbar to horizontal with brand and theme inside ul
Usage
layout_rtl(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Build vertical layout structure
Description
Vertical layout with sidebar on the left
Usage
layout_vertical(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Build vertical-right layout structure
Description
Vertical layout with sidebar on the right
Usage
layout_vertical_right(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Build vertical transparent layout structure
Description
Vertical layout with transparent sidebar
Usage
layout_vertical_transparent(
  navbar,
  sidebar,
  body,
  footer,
  theme = "light",
  color = NULL,
  show_theme_button = TRUE
)
Create a Dropdown Menu Item
Description
Create a nav-item with a dropdown menu using columns like the example
Usage
menu_dropdown(text, icon = NULL, href = NULL, items = list())
Arguments
text | 
 Title of the dropdown  | 
icon | 
 Icon name (optional)  | 
href | 
 Link for the dropdown toggle (optional)  | 
items | 
 A list of character vectors or tags representing dropdown links; each element can be a character vector of length 2: c(text, href)  | 
Value
An HTML tag representing the dropdown nav item
Build a standard navbar/header
Description
Create the top header used in boxed layout. This function accepts raw 'li' items (created by 'menu_item') or a 'sidebar_brand()' attached as 'title' attribute on a 'ul'.
Usage
navbar_menu(..., brand = NULL, show_theme_button = FALSE)
Arguments
... | 
 Additional nodes to include (typically 'menu_item()' elements)  | 
brand | 
 Optional brand for the navbar; either a string (text title), 'sidebar_brand(...)' or a named list with elements 'text' and 'img' (URL/path).  | 
show_theme_button | 
 Whether to show the theme toggle buttons (default: 'FALSE“).  | 
Value
An HTML tag for the header
Create a Tabler Dashboard Page
Description
Main function to create a complete dashboard page with Tabler theme
Container for dashboard content
Helper to create a top navigation header. This replaces the previous top-navbar behavior when users passed a header-like component.
Footer for the dashboard
Container for navigation items in sidebar
Container for navigation items in horizontal layout
Individual navigation item for sidebar
Container for multiple tab panels in tabbed layouts
Individual tab panel content
Usage
page(
  title = NULL,
  navbar = NULL,
  body = NULL,
  footer = NULL,
  layout = "boxed",
  theme = "light",
  color = "blue",
  show_theme_button = FALSE
)
body(..., class = NULL)
topbar(title = NULL, brand_image = NULL, ...)
footer(left = NULL, right = NULL)
sidebar_menu(..., title = NULL)
horizontal_menu(...)
menu_item(text, tab_name = NULL, icon = NULL, href = NULL, badge = NULL)
tab_items(...)
tab_item(tab_name, ...)
Arguments
title | 
 Optional brand for the sidebar; either a string (text title) or a named list with elements 'text' and 'img' (URL/path) to render a brand image and title. Example: 'title = list(text = "My App", img = "logo.png")'.  | 
navbar | 
 Dashboard navbar/menu. Can be: - 'sidebar_menu()' for a vertical sidebar - 'horizontal_menu()' for a horizontal menu  | 
body | 
 Dashboard body content  | 
footer | 
 Dashboard footer (optional)  | 
layout | 
 Layout type: "boxed"  | 
theme | 
 Default theme: "light" (default) or "dark".  | 
color | 
 Color theme (optional): "blue" (default), "azure", "indigo", "purple", "pink", "red", "orange", "yellow", "lime", "green", "teal", "cyan".  | 
show_theme_button | 
 Whether to show the theme toggle buttons (default: 'FALSE').  | 
... | 
 Content for this tab  | 
class | 
 Additional CSS classes  | 
brand_image | 
 URL or path to brand image  | 
left | 
 Left-aligned content  | 
right | 
 Right-aligned content  | 
text | 
 Item text/label  | 
tab_name | 
 Unique identifier for the tab (must match menuItem tab_name)  | 
icon | 
 Icon name (optional)  | 
href | 
 Link URL (optional, alternative to tab_name)  | 
badge | 
 Badge text (optional)  | 
Value
HTML tag with dependencies attached
An HTML tag representing the body
An HTML tag representing the top header
An HTML tag representing the footer
An HTML tag representing the sidebar menu
An HTML tag representing the horizontal menu
An HTML tag representing the menu item
An HTML tag representing the tab items container
An HTML tag representing the tab item
Examples
ui <- page(
  title = "Combo Dashboard",
  layout = "combo",
  navbar = list(
    top = topbar(title = "My App"),
    side = sidebar_menu(
      menu_item("Dogs", icon = "dog"),
      menu_item("Cats", icon = "cat")
    )
  ),
  body = body("Welcome to Tabler!")
)
server <- function(input, output, session) {}
# shinyApp(ui, server)
Create a Sidebar Brand
Description
Helper to build a brand structure for 'sidebar_menu(title = ...)'.
Usage
sidebar_brand(text = NULL, img = NULL, href = "#")
Arguments
text | 
 Brand text/label  | 
img | 
 Optional image URL/path for brand logo  | 
href | 
 Optional link URL for the brand (defaults to "#")  | 
Value
A named list suitable to pass to 'sidebar_menu(title = )'
Examples
sidebar_brand("My App", img = "logo.png")