Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
react-materialize/react-materialize: Material design for react, powered by materializecss

react-materialize/react-materialize: Material design for react, powered by materializecss

6 hours ago
React Materialize

Join the chat at https://gitter.im/react-materialize/react-materialize</a> npm version</a> code style: prettier</a>

react-materialize

Material design components for react, powered by materializecss.

Install

npm install materialize-css@next
npm install react-materialize

Use

HTML Setup (from materializecss)

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
    <link rel="stylesheet" href="path/to/materialize.css">
  </head>
  <body>
    <script src="path/to/your/bundle.js"></script>
  </body>
</html>

Javascript

`` js import 'materialize-css'; import { Button, Card, Row, Col } from 'react-materialize';
##### Note
materialize-css exposes css via style field in package.json, if you have another tool for CSS that
identifies this field you can remove the import from index.html.

Docs && Examples

See documentation for live examples. Try out the boilerplate.

How does it compare to X.Y.Z?

The main goal of this project is to provide react component for materializecss, at the current stage, I am trying to implement all possible widgets that are supported by materializecss. Please create an issue on github if you find you desired component is not available.

There are other material design components for react.js, e.g. material-ui, which is more mature and popular than this one. The main advantage of this project over e.g. material-ui is that it provides a grid system similar to react-bootstrap. Another advantage over material-ui is that react-materialize does not include css in the js - which can be cumbersome to some project's architecture.

Contributions

> Yes, please!

We have a help-wanted label in the issues page for convenience

Development

Requires Node 22+ (nvm use picks up .nvmrc).

sh npm ci npm run storybook # docs and examples at http://localhost:9001 npm test # Vitest + Testing Library (npm run test:watch to watch) npm run lint # Biome lint + format check (npm run format to fix) npm run typecheck # type definitions in types/ npm run build # library build into lib/ (ESM + CommonJS)
`

Releasing

CI runs lint, typecheck, tests and build on Node 22, 24 and 26 for every pull request.

Versions and the changelog are managed with Changesets:

  1. In a PR that changes the published package, run npm run changeset, pick the bump (patch/minor/major) and describe the change for users. Commit the generated .changeset/*.md file with the PR. Docs, tests and tooling-only PRs don't need one.
  2. When changesets land on master, a Version Packages PR is opened (or updated) with the version bump and CHANGELOG.md` entries.
  3. Merging that PR publishes the package to npm (trusted publishing with provenance), creates the git tag and GitHub release, and deploys the Storybook docs to GitHub Pages.

Support

This library is only a react wrapper around the awesome materializecss, if you or your company uses this library please support them, all this work requires time :) ✌️

Chat with me