Material Web
IMPORTANT: Material Web is a work in progress and subject to major changes until 1.0 release.
Material Web is Google’s UI toolkit for building beautiful, accessible web applications. Material Web is implemented as a collection of web components.
The Material team is currently working on Material You (Material Design 3) support for Material components.
Developers using this library should expect some big changes as we work to improve our codebase and ease of use and implement the newest Material Design.
A few notable changes you should expect:
-
UX changes as we adopt the new designs (production users will definitely want to pin to an appropriate release, not mainline)
-
A single npm package (
@material/web
) -
Simplification of tag name prefixes to
md-
(CSS custom properties will be--md-
) -
Components as top-level folders which contain all variants
Example:
top-app-bar
andtop-app-bar-fixed
will be placed in the same folder:top-app-bar
-
Components with variant attributes will be split into several variant components:
Example:
mwc-button
will be split intomd-text-button
,md-filled-button
,md-tonal-button
,md-outlined-button
, etc
Components
Component | Status | Issues |
---|---|---|
<mwc-button> |
Issues | |
<mwc-bottom-app-bar> |
TBD | Issues |
<mwc-card> |
TBD | Issues |
<mwc-checkbox> |
Issues | |
<mwc-chip> |
TBD | Issues |
<mwc-circular-progress> |
Issues | |
<mwc-circular-progress-four-color> |
Issues | |
<mwc-data-table> |
TBD | Issues |
<mwc-dialog> |
Issues | |
<mwc-drawer> |
Issues | |
<mwc-fab> |
Issues | |
<mwc-formfield> |
Issues | |
<mwc-icon-button-toggle> |
Issues | |
<mwc-icon-button> |
Issues | |
<mwc-icon> |
Issues | |
<mwc-linear-progress> |
Issues | |
<mwc-list> |
Issues | |
<mwc-menu> |
Issues | |
<mwc-radio> |
Issues | |
<mwc-select> |
Issues | |
<mwc-slider> |
Issues | |
<mwc-snackbar> |
Issues | |
<mwc-switch> |
Issues | |
<mwc-tab-bar> |
Issues | |
<mwc-tab> |
Issues | |
<mwc-textarea> |
Issues | |
<mwc-textfield> |
Issues | |
<mwc-tooltip> |
TBD | Issues |
<mwc-top-app-bar-fixed> |
Issues | |
<mwc-top-app-bar> |
Issues |
Quick start
1) Install
Install a component from NPM:
npm install @material/mwc-button @webcomponents/webcomponentsjs
2) Write HTML and JavaScript
Import the component's JavaScript module, use the component in your HTML, and control it with JavaScript, just like you would with a built-in element such as <button>
: