Skip to main content

material-expressive-react

React wrappers for Material 3 web components, built on top of @material/web.

Install

npm i material-expressive-react @material/web

Quick start

import {Button, Icon} from 'material-expressive-react';

export function App() {
return (
<Button onClick={() => console.log('clicked')}>
<Icon slot="icon">upload</Icon>
Upload
</Button>
);
}

SSR note

These components wrap Custom Elements.

  • In SSR frameworks, render them from client components (or behind a client-only boundary).
  • Custom element registration happens in the browser via dynamic import.