0.8.0 • Published 11 months ago

@shortfuse/materialdesignweb v0.8.0

Weekly downloads
1
License
ISC
Repository
github
Last release
11 months ago

materialdesignweb

Material Design for Web

A standards-focused, zero-dependency implemention of Material Design 3 (Material You).

Version License MinZip Dependents

Demo

https://clshortfuse.github.io/materialdesignweb/

Getting started

Pre-bundled

<script type="module"
  src="https://cdn.jsdelivr.net/npm/@shortfuse/materialdesignweb?color=6750A4"></script>

<mdw-button>Hello World!</mdw-button>

Includes all components and theming over URL params.

Development

Static Theme Generation:

npx -p @shortfuse/materialdesignweb mdw-css --color=color=6750A4 --custom=yellow,orange:orange,green:0f0,alias:aqua --lightness=auto > theme.css

Dynamic Theme Generation:

See loader.js for an example.

Component Loading

import { Button } from '@shortfuse/materialdesignweb';
// OR
import Button from '@shortfuse/materialdesignweb/components/Button.js';
// OR
import Button from 'https://www.unpkg.com/@shortfuse/materialdesignweb/components/Button.js';
// OR
import { Button } from 'https://cdn.jsdelivr.net/npm/@shortfuse/materialdesignweb?color=6750A4';

const button = new Button();
button.textContent = 'Hello World!';
document.body.append(button);

Support

FeatureChromeEdgeFirefoxSafari
ShadowRoot53796310
WeakRef84847914.1
ElementInternals77799316.4
delegatesFocus53799415
AdoptedStyleSheets*737910116.4
Supported84849316.4

*Optional

†Can be polyfilled

Notes:

  • Compatibility may be extended via polyfills (not included)

Components

ComponentFeaturesStatusSize
Badge:paintbrush: :crayon: :o: :a: :large_blue_diamond: :signal_strength::heavy_check_mark:Size
Bottom App Bar:paintbrush: :crayon: :o: :a: :large_blue_diamond: :wheelchair::heavy_check_mark:Size
Bottom Sheet:memo:
Button:paintbrush: :crayon: :o: :a: :large_blue_diamond: :signal_strength: :wheelchair::heavy_check_mark:Size
Card:paintbrush: :crayon: :o: :a: :large_blue_diamond: :arrow_up_down: :wheelchair::heavy_check_mark:Size
Fab:paintbrush: :crayon: :o: :a: :large_blue_diamond: :signal_strength: :wheelchair::heavy_check_mark:Size
Fab - Extended:paintbrush: :crayon: :o: :a: :large_blue_diamond: :signal_strength: :wheelchair::heavy_check_mark:Size
Icon Button:paintbrush: :crayon: :o: :a: :large_blue_diamond: :signal_strength: :wheelchair::heavy_check_mark:Size
Segmented Button:paintbrush: :crayon: :o: :a: :large_blue_diamond: :signal_strength: :wheelchair::heavy_check_mark:Size
Segmented Button Group:crayon: :wheelchair::heavy_check_mark:Size
Checkbox:paintbrush: :crayon: :a: :large_blue_diamond: :wheelchair::heavy_check_mark:Size Size
Chip:paintbrush: :crayon: :o: :a: :large_blue_diamond: :signal_strength: :wheelchair::heavy_check_mark:Size
Chip - Filter:paintbrush: :crayon: :o: :a: :large_blue_diamond: :signal_strength: :wheelchair::heavy_check_mark:Size
Chip: Filter Dropdown:construction:
Chip: Input:construction:
Date Picker:grey_question:
Dialog:paintbrush: :crayon: :o: :a: :large_blue_diamond: :wheelchair::heavy_check_mark:Size
Dialog: Full-screen:grey_question:
Divider:crayon::heavy_check_mark:Size
Icon:crayon::heavy_check_mark:Size
List:paintbrush: :crayon: :signal_strength: :wheelchair::heavy_check_mark:Size Size
Listbox:paintbrush: :crayon: :signal_strength: :wheelchair::heavy_check_mark:Size Size
Menu:paintbrush: :crayon: :o: :signal_strength: :wheelchair::heavy_check_mark:Size Size
Navigation Bar:paintbrush: :crayon: :o: :large_blue_diamond: :wheelchair::heavy_check_mark:Size Size
Navigation Drawer:paintbrush: :crayon: :o: :large_blue_diamond: :wheelchair::construction:Size Size
Navigation Rail:paintbrush: :crayon: :o: :large_blue_diamond: :wheelchair::heavy_check_mark:Size Size
Progress Indicators:crayon: :wheelchair::heavy_check_mark:Size
Search:paintbrush: :crayon: :o: :a: :large_blue_diamond: :wheelchair::construction:Size
Radio:crayon: :a: :large_blue_diamond: :wheelchair::heavy_check_mark:Size Size
Slider:crayon: :wheelchair::warning:Size
Snackbar:paintbrush: :crayon: :o: :large_blue_diamond: :signal_strength: :wheelchair::heavy_check_mark:Size
Switch:paintbrush: :crayon: :a: :wheelchair::heavy_check_mark:Size Size
Tab:paintbrush: :crayon: :o: :large_blue_diamond: :wheelchair::heavy_check_mark:Size Size Size Size
Text Input:paintbrush: :crayon: :o: :a: :large_blue_diamond: :signal_strength: :wheelchair::heavy_check_mark:Size
Text Area:paintbrush: :crayon: :o: :a: :large_blue_diamond: :signal_strength: :wheelchair::heavy_check_mark:Size
Text Select:paintbrush: :crayon: :o: :a: :large_blue_diamond: :signal_strength: :wheelchair::heavy_check_mark:Size
Time Picker:grey_question:
Tooltip:paintbrush: :crayon: :o: :large_blue_diamond: :wheelchair::heavy_check_mark:Size
Top App Bar:paintbrush: :crayon: :o: :a: :wheelchair::heavy_check_mark:Size

Additional

ComponentDescriptionStatusSize
BoxSimple themeable component with Flex and Grid options:heavy_check_mark:Size
LayoutManages page nav, and pane layouts:construction:Size
IconFont-icon, SVG, and IMG support:construction:Size
BodyBox with Body typography:heavy_check_mark:Size
LabelBox with Label typography:heavy_check_mark:Size
HeadlineBox with Headline typography:heavy_check_mark:Size
TitleBox with Title typography:heavy_check_mark:Size
RippleRipple effect:heavy_check_mark:Size
ShapeThemeable, flexable, shapeable element:heavy_check_mark:Size
SurfaceThemeable, flexable, shapeable, elevateable element:heavy_check_mark:Size

Mixins

MixinDescriptionStatusSize
AriaReflectorReflects ARIA Properties:heavy_check_mark:Size
AriaToolbarShared ARIA Toolbar functionality:heavy_check_mark:Size
ControlHTML Control wrapper:heavy_check_mark:Size
DensityComponent density options:heavy_check_mark:Size
FlexableAdd flexbox options as attributes:heavy_check_mark:Size
FormAssociatedForm-associated custom element support:heavy_check_mark:Size
InputHTMLInputElement wrapper:heavy_check_mark:Size
KeyboardNavAdds arrow key navigation and roving tab index:warning:Size
ResizeObserverShared Eelement resize observer:heavy_check_mark:Size
RippleReplaces pressed state with ripple effect:heavy_check_mark:Size
RTLObserverShared RTL paoge observer:heavy_check_mark:Size
ScrollListenerListen for horizontal and vertical scroll events:heavy_check_mark:Size
ShapeAdds shape and outline layer to elements:warning:Size
SurfaceAdds shadows to elements:warning:Size
TextFieldShared text field functionality:heavy_check_mark:Size
TooltipTriggerTriggers tooltips based on events:construction:Size
TouchTargetAdds extended touch target to controls:construction:Size

Core

FileDescriptionStatusSize
CompositionComposes templates based on styles, fragments, and watches. Renders data:construction:Size
CustomElementHandles ShadowDOM, ElementInternals, Property attributes, and compositions:construction:Size
CompositionAdapterHandles data array to elements binding:construction:Size
jsonMergePatchApplies, constructors, and evaluates JSON Merge Patch:construction:Size
cssCSS, CSSStyleSheet, HTMLStyleElement functions:heavy_check_mark:Size
customTypesNon-primitive observable types:construction:Size
optimizationsMicro-optimizations functions:construction:Size
domDOM functions:warning:Size
observeObservable pattern for primitives and objects:construction:Size
templateTemplate literals for CSS (CSSStyleSheet) and HTML (DocumentFragment):heavy_check_mark:Size
uidGenerates a UID string:heavy_check_mark:Size

Other Components

These components do not have official M3 guidelines

ComponentStatus
Backdrop:skull:
Banner:construction:
Data Table:memo:
Image List:grey_question:
Side Sheet:grey_question:

Legend

Archive

The Material Design 1/2 version has been archived in the archive-md2 branch.

0.8.0

11 months ago

0.7.6

1 year ago

0.7.5

1 year ago

0.7.1-9

1 year ago

0.7.1-2

1 year ago

0.7.1-1

1 year ago

0.7.1-4

1 year ago

0.7.1-3

1 year ago

0.7.1-6

1 year ago

0.7.1-5

1 year ago

0.7.1-8

1 year ago

0.7.1-7

1 year ago

0.7.1-0

1 year ago

0.7.2

1 year ago

0.7.1

1 year ago

0.7.4

1 year ago

0.7.0

1 year ago

0.5.0

2 years ago

0.4.0

2 years ago

0.3.0

5 years ago

0.2.0

5 years ago

0.1.0

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago