React Material Web Components

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

tests codecov npm npm npm Chat

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].