Demo | ||
Material | ||
Native | ||
.gitignore | ||
Demo.elm | ||
elm-package.json | ||
Makefile | ||
Material.elm | ||
README.md |
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 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.