elm-mdl/README.md
2016-03-14 11:00:31 +01:00

2.5 KiB

Material Design Components in Elm

Port of Google's Material Design Lite CSS/JS implementation of the Material Design Specification.

MDL is implemented primarily through CSS, with a little bit of Javascript adding and removing CSS classes in response to DOM events. This port re-implements the CSS parts in Elm, but relies on the CSS of MDL verbatim.

CAUTION This is an early and incomplete prototype. Use at your own risk.

Get Started

Build the demo:

> elm-make examples/Demo.elm

This will construct a file index.html; open that in your browser.

The library has a tiny native component (for measuring geometry of rendered elements, a necessity for re-implementing MDL ripple-animations), and so cannot be in the elm-package library. If you wish to use the library, I know no better way than to copy Material.elm and Material/* to your own project.

Contribute

Please do! The easiest place to start is to add more CSS-only components. These require no porting of Javascript, just putting together css-classes as instructed by the MDL Component Documentation. Take a look at

The remaining components, use Javascript in various ways. Toggles seem to use Javascript exclusively to insert ripple-animations and might be easy to implement using the Ripple.elm component:

The rest I haven't looked at; they may or may not be straightforward to port to Elm.