muiMaterial brings MUI Material UI, the world’s most popular React UI framework, to R and Shiny.
Why muiMaterial?
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")Quick start
remotes::install_github("lgnbhl/muiMaterial") # v0.2.0 (SOON ON CRAN)
install.packages("muiMaterial") # v0.1.3
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")Acknowledgements
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.
Contributing
Found a bug or have a feature request? Open an issue. Pull requests are welcome.
Follow Felix Luginbuhl on LinkedIn for updates.
License
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.
Trademark notice
“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.
