Getting started
m3-expressive-react is a Material Design 3 (Expressive) component
library for React with a deliberately MUI-idiomatic API. Appearance,
defaults, and motion follow the MD3 spec and Jetpack Compose material3.
Installation
npm install m3-expressive-react
Requires React 18 or 19.
Usage
Wrap your app in ThemeProvider and import the token stylesheet once:
import { ThemeProvider, Button } from 'm3-expressive-react'
import 'm3-expressive-react/styles.css'
export function App() {
return (
<ThemeProvider seedColor="#6750A4" mode="light">
<Button variant="filled" onClick={() => console.log('clicked')}>
Hello MD3
</Button>
</ThemeProvider>
)
}
The stylesheet import is required
styles.css carries the design tokens (shape, motion, state, typescale)
every component references. Colors come from ThemeProvider, which derives
the full MD3 color-role map (light and dark) from your seedColor at
runtime via Dynamic Color.
Next steps
- Browse the component gallery
- Set up theming and icons
- Coming from the 0.x line? See the v1 migration guide