muiMaterial brings MUI Material
UI, the world’s most
popular React UI framework, to R and Shiny.
Most Shiny apps follow the same template: a sidebar on the left, tabs on
top, content in the middle. muiMaterial lets you go further. It gives
you access to Material UI’s rich component library, so you can build
apps and reports that look and feel truly unique.
- Works with Shiny and Quarto — use Material UI components in Shiny apps, Quarto or on its own for fully customized HTML pages.
- Built for AI — AI tools like Claude, ChatGPT, or Copilot know MUI well. Ask an AI to generate MUI code, adapt it to R, and you’re done. No React or CSS knowledge needed. See the AI-Assisted Development vignette.
- Multi-page apps — pair with reactRouter to build apps where each page has its own shareable URL, deployable to GitHub Pages, Netlify, or Posit Connect.
- Rich ecosystem — extend with muiDataGrid (data tables), muiCharts (charts) and muiTreeView (tree navigation).
See a live example: MUI template dashboard.
muiMaterial::muiMaterialExample("mui-template-dashboard")remotes::install_github("lgnbhl/muiMaterial") # development versioninstall.packages("muiMaterial")library(shiny)
library(muiMaterial)
ui <- muiMaterialPage(
Box(
sx = list(p = 2),
Typography("Hello Material UI!", variant = "h4")
)
)
server <- function(input, output, session) {}
shinyApp(ui, server)Explore the Getting Started vignette, or run the showcase:
muiMaterial::muiMaterialExample("showcase")muiMaterial is built on top of
shiny.react, the R package by
Appsilon that makes it possible to use
React components in Shiny and Quarto.
Found a bug or have a feature request? Open an issue. Pull requests are welcome.
Follow Felix Luginbuhl on LinkedIn for updates.
This package is released under the MIT License. It bundles a
pre-built copy of the Material UI JavaScript
library; the third-party copyrights and license texts are summarised in
LICENSE.note and preserved in
inst/www/muiMaterial/mui-material.js.LICENSE.txt.
“MUI” and “Material UI” are trademarks of MUI Inc. muiMaterial is an
independent, community-maintained R package and is not affiliated
with, sponsored by, or endorsed by MUI Inc. The names are used solely
to identify the underlying JavaScript library that this package wraps.
See MUI’s legal information for the canonical
list of MUI’s published policies.
