Material PlusA component library that follows the Material specification and extends it
The latest Material Design specification as it stands, with a wider range of components on top of it and a design that goes further. Its options let you run the whole thing more compactly, or open it out for a wider screen.
Material Design 3 is a written specification, and a component library can start either from that document or from somebody else's reading of it. This one started from the document, which is why its colour roles, type scale and shape tokens carry the names the specification gives them.
Then there is where the specification stops and a screen does not. The button ladder is the plain example: xs, sm and md are the specification's 32, 40 and 56px, and lg and xl are this library's 64 and 72px — the next size the specification names is 96px, and a 96px button beside a 64px field is not a row. Charts, a data table and a command palette are the same thing one level up. The specification does not name them; applications have them anyway.
It coexists
Nothing here is page-level: no reset, no provider, no global styling. Theming is CSS custom properties in a cascade layer, so a project already running Material keeps its own setup and this one follows along.
Tested in real browsers
Every component carries its own tests, run in Chromium, Firefox and WebKit across three operating systems on every change. The composition tests drive real IME events.
Small on purpose
One runtime dependency, one peer. No CSS-in-JS runtime — the styling is a stylesheet. Every component compiles to its own module, so what you do not import is not shipped.