This module implements a Material design theme for all widgets.
The stylings are following the official Material Design guidelines as close as possible. Please use these widgets in combination with the official guidelines.
The typograpahy is taken from the Material Design guidelines. Its recommended to use a font size of 16px width and the Roboto Font.
The style are not opaque, so you can change every styling to your needs.
If you have any suggestions or improvements, be sure to leave a PR or a Issue over at the github repos.
Different styles for buttons have different meanings.
textButton as your default buttoncontainedButton for any important actionoutlinedButton if you have more then one important action.
Use containedButton for the most important action of the group.A contained button representing the most important action of a group.

A outlined button representing an important action within a group.

A text button representing a simple action within a group.

An single selectable icon.
![]()
Technical Remark:
A ToggleButton. Only use as a group in combination with buttonRow.
Toggle buttons should only be used with the iconButton widget, else use chips instead.

Technical Remark:
a Row of buttons.
Only use in combination with toggleButton

A boolean switch

Technical Remark:
In the material design specification the card is not really specified at all. Im practice the List seams more useful then a own card widget. Thus for now we only provide a card containing a list.
A List styled like a card.

Technical Remark:
This is a simplification of the Material Design Card and might get replaced at a later date.
Chips have the same behaviour as buttons but are visually less important.
In the official documentation chips have different names depending on where they are used:
textInput for this feature.toggleButton for icons with no text and chips for text with no icons.
Technical Remark:
A text input style that is included only to support input chips.

Technical Remark:
An alert dialog for important decisions. Use a snackbar for less important notification.

A simple styling for a row.
A simple styling for a column.
An app bar with tabs instead of a menu

A side sheet. Has a maximal width of 360.

A bottom sheet. Has a maximal width of 360. Should be align to the bottom right corner of the screen.
A List is build from items. You way want to use special items to visually organize the content of your list.
A basic item containg some text, a button. Spans the full width.

A basic item containg some text, a button and some additional information.

A text item allowing for more text.

Similar to a textItem but with an image instead of the icon.
If the image is bigger then 40x40, the size of the item will change.

Displays a selection. This should be combined with Widget.selectItem

A divider covering the full length

A divider covering only parts of the width

A divider in the center

A header of a section of a list. Comes with a full bleed divider.

A header of a section of a list. Comes with a inset divider.

A circular progress indicator

A sortable table

A typical snackbar

Technical Remark:
A Tab bar meant for only the upper most level. Do not use a tab within a tab.

A single Tab button.

Technical Remark:
The material design comes with customizable color palettes.
Check out the official documentation about the color system to see how these colors are used.
For the
-oncolors you can use white, for transitions into white, or black,for transitions into black. Other colors are also possible, but i've not seen any website acutally using a different color.