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") # v0.2.0 (SOON ON CRAN)install.packages("muiMaterial") # v0.1.3library(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.
