Material Design for Angular 2

It is angular/material2 for Dart, an individual porting project.

Why

The angular/material2 is one of the prospective standard material design UI library for angular2 TypeScript / JavaScript users. Bringing it into native Dart package will be useful.

Another high-quality angular2 Dart material design UI library is expected to be published soon (coming July?) as stated in the angular/material2 issue tracker. I believe most Dart people will choose it, and it is absolutely fine with me.

I have been maintaining the same API and internal structure as much as I can for easy side by side comparison between the Dart version and the TypeScript version. (And for easy updating.) It would clarify the API compatibility, and hopefully, it would be a good code example for TypeScript / JavaScript users who are interested in angular2 Dart version.

Project Status

This package is very much a work in progress.

Please note that the original angular/material2 is in alpha phase, and this package may contain additional bugs.

Current porting target.

497a3c1(commit SHA1) 6/15/2016

Components

Usage

Please see the Demo App which includes all of the components and core functions usages.

How to see the Demo App on a browser.

Assuming you have already installed Dart,

  1. Clone this repository.

    git clone https://github.com/ntaoo/material2_dart.git
    
  2. Go to the project root.

    cd material2_dart
    
  3. Run pub get to get all the dependent packages.

    pub get
    
  4. Run pub serve to start up a development server.

    pub serve
    
  5. Go to http://localhost:8080 on a browser. (I recommend Dartium because perhaps there are still browser-specific bugs on this package.)

Contributing

Your contribution is welcome. Please note that this project is nothing more than a porting work of angular/material2.

Many tests have not been ported, so it is much appreciated if you help to port them.

Features and bugs

Basically, I would not add any original features on it. If you need new features, please consider contributing angular/material2.

If you find this Dart version's specific bugs, please file them at the issue tracker.

Testing Angular2.

// Run test server.
pub serve

// Run tests on dartium.
pub run test --pub-serve=8081 -p dartium

Libraries

button
button_toggle
card
checkbox
dir
dom_portal_host
error
field_value
future_completer
grid_list
grid_list_errors
grid_list_measure
grid_tile
icon
icon_registry
ink_bar
input
line
list
portal
portal_directives
portal_errors
radio
sidenav
slide_toggle
tab_content
tab_label
tab_label_wrapper
tabs
tile_coordinator
tile_styler
toolbar
unique_selection_dispatcher