A React wrapper for Material Design (Web) Components
Clone or download
Latest commit 4ab2352 Nov 10, 2018
Failed to load latest commit information.
.circleci Adding codecov Jul 13, 2018
.storybook fix(Button): Corrects issue with disappearing Ripple #298 Sep 7, 2018
.vscode chore(Foundation): removal of dead code and final cleanup #239 Jun 4, 2018
config Fixing umd build Jan 10, 2018
docs v3.0.10 Nov 9, 2018
public docs(Theme): Adding dark theme example Oct 1, 2018
scripts feat(CircularProgress): Adding circular progress RMWC addon component. Sep 20, 2018
src v3.0.10 Nov 9, 2018
.babelrc fix(ParcelJS): Move babel config to babelrc and don’t publish babelrc… Jan 25, 2018
.codecov.yml Improving Test Coverage Oct 1, 2018
.eslintrc.json chore(FlowType): Fixes all flow type issues through codebase, adds fl… May 1, 2018
.flowconfig Adding react version, updating flow-bin Sep 7, 2018
.gitignore Fixing typescirpt build Sep 6, 2018
.npmignore fix(Build): ignoring test react-versions which was bloating published… Jul 16, 2018
.prettierignore fix(Version): Corrects a potential issue with MCW versioning, making … Jul 19, 2018
CHANGELOG.md v3.0.10 Nov 9, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Jan 24, 2018
CONTRIBUTING.md feat(DataTable): Adds custom DataTable component Sep 14, 2018
LICENSE Update LICENSE Aug 19, 2017
README.md Update README.md Oct 15, 2018
config-overrides.js docs refactor Sep 6, 2018
icon.sketch Updating Icon Sep 18, 2018
jsconfig.json rmdc was taken… Sep 9, 2017
lerna.json v3.0.10 Nov 9, 2018
package-lock.json fix(Textfield): Corrects issue with floating label on dynamic updates #… Nov 9, 2018
package.json Revving version Nov 9, 2018
tsconfig.json Fixing ts build Oct 1, 2018


CircleCI codecov npm npm Chat Backers on Open Collective Sponsors on Open Collective

RMWC - React Material Web Components

A React (15 / 16) wrapper for the official Material Design (Web) Components v0.40.0 https://jamesmfriedman.github.io/rmwc/


  • Uses Google's official material-components-web library
  • Includes Addon components for ones missing from the official spec
  • Works in any version of React from 15.5.x to 16.5.x
  • First class Typescript (Beta) and Flow Support
  • Server side rendering support
  • Individually packaged and released components

Recent updates

See whats new in 3.0.0 👉 https://opencollective.com/rmwc/updates/300

View all release notes 👉 https://opencollective.com/rmwc/updates

View the changelog for detailed updates: https://github.com/jamesmfriedman/rmwc/blob/master/CHANGELOG.md


  • To create the thinnest, lightest, and spec compliant wrapper around Google Material Design Components for the Web https://material.io/components/web/
  • To utilize the Foundation javascript classes and expose their api for consumption
  • To be as unobtrusive and sensible as possible.
  • To fill the gaps in material-components-web with custom React community driven components.

Doesn't Google have their own React Wrapper?

Yes, and here are the differences.

  • RMWC is feature complete! It contains all of the components in the MDC catalog.
  • RMWC Includes Addon components for ones missing from the official spec
  • RMWC Works in any version of React from 15.5.x to 16.5.x
  • RMWC includes first class Typescript and Flow Support
  • RMWC has tested server side rendering support
  • RMWC favors deprecations over breaking changes whenever possible
  • RMWC has interactive polished documentation
  • RMWC is about 8 months older than Google's.

The MDC team has been nothing but collaborative and kind, even in pursuing their own React wrapper. Both libraries individually package components, so you can use this one, that one, or a mix of both if you want to. There are multiple production apps running RMWC, so this library will continue to exist and be improved. Hopefully in the future there can be a convergence point, but in the meantime you can weigh both libraries on their own merits. https://github.com/material-components/material-components-web-react


  • npm i rmwc --save or yarn add rmwc

Additional information is available in the Installation Guide


Read the docs on how to Usage


Read the docs on Methodology

About Breaking Changes

Read the docs on Methodology

To run the tests

  • On MacOS Sierra and higher, install watchman to fix a filesystem issue with Jest. brew install watchman
  • npm test

To run the docs / contribute

  • git clone https://github.com/jamesmfriedman/rmwc.git
  • cd rmwc
  • npm install
  • npm start


This project exists thanks to all the people who contribute. [Contribute].


Thank you to all our backers! 🙏 [Become a backer]


Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]