Material Plus
A React library that follows the Material Design 3 specification directly and adds the components other Material libraries leave out. It reads the tokens a page already has, so it can sit beside an existing Material setup.
About this project
Material Plus is a React component library that implements Material Design 3 directly rather than wrapping an existing implementation of it, so its colour roles, type scale and shapes are the ones the specification names. What it adds is the pile of components a Material project ends up writing anyway — the field that handles IME composition properly, the icon wrapper that agrees with your own set — extracted, documented and tested. It also goes past the specification where applications need it: wider versions of the components Material names, and the charts, the data table and the command palette it does not name at all.
It is themed in one line: set a source colour and every colour role follows, the way Material generates a scheme. Nothing in the library is page-level — no reset, no provider, no global styling — and it reads the Material system tokens a page already carries, so a project already running Material keeps its setup and gains the missing components. Korean, Japanese and Chinese composition survives whatever the change handler does with the value, which is the bug most Material fields quietly carry.
The package is ESM only with TypeScript declarations, tree-shakeable for real — one component is 3.8 kB gzipped against 130.6 kB for all of the more than a hundred and twenty — and the stylesheet splits the same way. It works inside a Next.js server component with nothing configured, resolves in every major bundler, and takes translations as a module handed over once at startup.
Features
Documentation site
TypeScript types
Multiple languages
Verified by tests
Accessibility built in
Dark mode
Tree-shakeable
