React Material Web Components

A React wrapper for Material Design (Web) Components
GitHub
1.67k
Created 8 years ago, last commit 5 days ago
68 contributors
3.5k commits
Stars added on GitHub, month by month
0
0
3
4
5
6
7
8
9
10
11
12
1
2
2024
2025
Stars added on GitHub, per day, on average
Yesterday
=
Last week
+0.1
/day
Last month
+0.1
/day
Last 12 months
+0.1
/day
npmPackage on NPM
rmwc
14.3.5
Monthly downloads on NPM
3
4
5
6
7
8
9
10
11
12
1
2
2024
2025
README

tests codecov npm npm npm Chat

Warning

RMWC is based on Google Material Components for the web, which has now been archived and will no longer receive updates. As a result, there will be no major updates to RMWC either.

We are still using RMWC in several applications we work on, but we have started migrating these to other solutions. We may still fix critical bugs in RMWC if necessary, but we will only perform essential maintenance going forward. Pull requests are always welcome, but please be aware that we might not have the capacity to prioritize them.

It has been a pleasure working on this great open-source project, and we want to extend a big thank you to James Friedman for creating this fantastic library and allowing us to help maintain it.

❤️ The RMWC Development Team
Emily, Brett, and Jens

RMWC - React Material Web Components

RMWC is a React UI Kit built on Google's official Material Components Web library v14.x.x https://rmwc.io/

Features:

  • Uses Google's official material-components-web library
  • Includes Addon components for ones missing from the official spec
  • Works in React 16.8.x and up
  • First class Typescript Support
  • Server side rendering support
  • Individually packaged and released components

Try it in the Code Sandbox

Special credit 🥇

RMWC was created by James Friedman.

Check out his other work at https://github.com/jamesmfriedman.

Recent updates

v14.3.5 is here! This release includes:

  • support for material-components-web v14
  • support for react 18
  • a new and improved tooltip adhering to the Material Design principles (the old tooltip is renamed to rc-tooltip in favor for the new)
  • a new segmented button component
  • migrated from Lerna to Nx and Vite ⚡
  • various bugfixes introduced in v14.0.0
  • accessibility improvements
  • the old chip as we know it + the new chip from material v 14.0.0 (currently experimental)
  • an improved API for the MDC Tooltip that stays true to the documentation from material-components-web. This also meant removing backwards compatibility to the "old" tooltip that is now known as RCToolip from the RMWC package. This change was for the better, as the Tooltip was buggy due to trying to make two entirely different components compatible.

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

Goals

  • 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 from material-components-web
  • To be as unobtrusive and sensible as possible.
  • To fill the gaps in material-components-web with custom React community driven components.

Installation

  • npm i rmwc --save or yarn add rmwc

Additional information is available in the Installation Guide

Usage

Read the docs on how to Usage

Why?

Read the docs on Methodology

About Breaking Changes

RMWC avoids them at all costs! Read the docs on Methodology

To run the tests

  • npm test

To run the docs / contribute

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

Contributions

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