Ember implementation of Google's Material Design

Overview

No longer maintained

This project is no longer maintained. For an up-to-date material design project, please use Ember Paper.


Ember-material-design

The Ember Material Design project is an implementation of Material Design in EmberJS. This project attempts to provide a set of reusable, well-tested and accessible UI components based on the Material Design system.

This project is as close to a reference implementation of Angular Material as I could make it. Most of the credit for this work belongs to that team.

Note that this addon is under a lot of active development. I try to keep breaking changes to a minimum, but no guarantees until development slows down and stabilizes and a 1.0 version is released.

Demo

Visit Demo Page to view the components in action.

Installation

Install the ember-cli addon into project

$ ember install ember-material-design

This project uses SASS for compiling stylesheets. Import them into your styles.scss.

@import "ember-material-design";

To use SASS, you will need to either install broccoli-sass or ember-cli-sass.

$ ember install ember-cli-sass

This project does not provide any vendor prefixes. It is highly recommended to use an autoprefixer. I prefer to use ember-cli-autoprefixer which can be installed as an addon very easily.

$ ember install ember-cli-autoprefixer

Any variables you want to set should be set prior to importing the ember-material-design stylesheet.

For example, to change the $primary color:

$primary: 'red';

@import "ember-material-design";

Fonts

By default, the RobotoDraft font is used from the Google Fonts api. To include this font, add the following line in the <head> section of your index page.

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=RobotoDraft:300,400,500,700,400italic">

If you wish to use another font, overwrite the $font-family in a .scss file before your @import "ember-material-design";.

Real World Usage

If you're using this addon, I'd love to see an example of your work. Feel free to send me an email, or a pull request with your site listed here!

Comments
  • Update for Ember 2.0 Deprecation

    Update for Ember 2.0 Deprecation

    I was getting a WSOD of death, with an error saying Ember.default.View can't be found.

    Grepping around, and found another package(qunit*) that used if (Ember.View) to wrap their code.

    Cheers

    opened by jhr007 4
  • Reopen input helpers and add support for md attributes?

    Reopen input helpers and add support for md attributes?

    I was trying to add "layout-fill" to a textarea, but it didn't get past the textarea helper.

    Then I found that I need to reopen the Helper class and add acceptable attributes. http://stackoverflow.com/questions/18189614/adding-attributes-to-input-element-in-handlebars-used-with-ember-js and I should do this in initializers: http://stackoverflow.com/questions/27154886/ember-cli-where-to-reopen-framework-classes

    Maybe some attributes could be added to helpers by ember-material-design? https://material.angularjs.org/latest/#/layout/options layout-fill I could make the argument for this on input fields to maximize width in a container. Maybe flex ? to normalize fields?

    Has anyone else had to reopen input helpers to get Material Design attributes in the helper?

    opened by jhr007 4
  • Trying to understand the Grid

    Trying to understand the Grid

    Hi @mike1o1 !

    Loving this man! amazing how quick it was for me to get up and going. Congrats on the great work!!

    I'm looking to understand how I can do something like:

    <div class="row">
      <div class="col-xs-12
                  col-sm-8
                  col-md-6
                  col-lg-4">
      </div>
    </div>
    

    Basically, how can I set the width of an element (say, an md-card) based on the current breakpoint?

    opened by hhff 2
  • Use <progress> Element for md-progress

    Use Element for md-progress

    All that is needed is to set tagName to progress, adding min, and max attributes to take advantage of the HTML5 <progress> element here.

    PR to come shortly.

    wontfix 
    opened by srsgores 2
  • how to overwrite font loading ?

    how to overwrite font loading ?

    Is there a way to overwrite (in the app) the font import statement at: https://github.com/mike1o1/ember-material-design/blob/master/app/styles/core/typography.scss

    Reason: for client side installed applications (e.g.: phonegap/cordova) I want to be able to load the fonts also when offline (in my specific case from local running webserver)

    enhancement 
    opened by rsaccon 2
  • Grid and Animations

    Grid and Animations

    Hi, thanks for this amazing addon!

    I´m using materialize until now, but I agree that a native ember solution is much better.

    Are you going to have a grid system? If not, do you recoment any external grid framework?

    About animations, it seems that liquid-fire is the official choice from Ember core team, and I agree that it´s fantastic. But it allways break css, and it happend with materialize. Do you like the idea of having native support for liquid-fire? In a way that we can use it with ember-md and don´t have to worry about it, just works as it should.

    I´m building a skeleton app for my next projects, based on rails + ember + materialize. My idea is to have a dashboard theme, using many addons that I like, all tested and working from server to frontend. This way would be much faster to start a new app, and I think it could help people to start with ember. It is very early WIP, and I couldn´t work on this on the past weeks, but I´ll came back next week. And I´ll change the dependecies pro materialize to your addon, here is the repo.

    Cheers!

    documentation 
    opened by thiagoc7 2
  • md-button action args?

    md-button action args?

    how to pass an action args from the md-button to the controller?

    {{#md-button class="md-raised md-primary" action='gotoModels' brand.BrandName}}

    does not work !

    opened by yanzixiang 1
  • Allow for parameter in md-button component

    Allow for parameter in md-button component

    This allows users to include a parameter to be passed onto the action that is triggered when the button is pressed. An example scenario is:

    <h2> Select the video you would like to play </h2>
    {{#each model as |button|}}
        {{#md-button class="md-raised" action='changeStream' param=button}}{{button.name}}{{/md-button}}
    {{/each}}
    

    Which allows me to pass the button object to the function changeStream() in the controller.

    opened by atomala 1
  • #14 - initial implementation of Use <progress> Element for md-progress

    #14 - initial implementation of Use Element for md-progress

    Some unit tests are failing, so I would ask that you wait until I can fix them. The rest of the changes will have to wait until I can attend to them unless you can.

    We'll also have to add styles for the progress elements. See the CSS Tricks write-up on this.

    opened by srsgores 1
  • core/typography.css URI is missing ')'

    core/typography.css URI is missing ')'

    using ember-cli v0.2.3

    ember install ember-material-design ember install ember-cli-sass ember install ember-cli-autoprefixer ember serve

    i got this error

    documentation 
    opened by yanzixiang 1
  • Failing to instal using ember-cli v0.2.3 'ember install ember-material-design'

    Failing to instal using ember-cli v0.2.3 'ember install ember-material-design'

    The addon install is failing with the following output. Even on a freshly created ember-cli application.

    ./node_modules/.bin/ember install ember-material-design
    version: 0.2.3
    Could not find watchman, falling back to NodeWatcher for file system events.
    Visit http://www.ember-cli.com/#watchman for more info.
    Installed packages for tooling via npm.
    installing
      identical app/styles/app.scss
    installing
    The `ember generate` command requires an entity name to be specified. For more details, use `ember help`.
    
    ./node_modules/.bin/ember --version
    version: 0.2.3
    Could not find watchman, falling back to NodeWatcher for file system events.
    Visit http://www.ember-cli.com/#watchman for more info.
    node: 0.12.2
    npm: 2.7.6
    
    bug 
    opened by opichals 1
  • Cannot read property 'reopen' of undefined

    Cannot read property 'reopen' of undefined

    TypeError: Cannot read property 'reopen' of undefined at Object.initialize (md-layout-views.js:7) at ember.debug.js:5509 at ember.debug.js:5538 at Object.visit as default at DAG.topsort (ember.debug.js:2589) at Class._runInitializer (ember.debug.js:5537) at Class.runInitializers (ember.debug.js:5498) at Class._bootSync (ember.debug.js:4800) at Class.domReady (ember.debug.js:4689) at Object.run (ember.debug.js:295)

    after installing this, when i start the server, the above error occurs. Is it my problem?

    opened by tmclouisluk 4
  • Clicking the Source button for Basic Usage under Tabs shows blank hbs file

    Clicking the Source button for Basic Usage under Tabs shows blank hbs file

    The Documentation for Tabs > Basic Usage does not have any text shown for the .hbs file when clicking the 'Source' button.

    http://mike1234.com/ember-material-design/#/tabs screen shot 2015-07-12 at 10 09 43 pm

    opened by mnannola 1
  • ember click test helper doesn't work with buttons

    ember click test helper doesn't work with buttons

    The ember click helper doesn't work with buttons. For example, the following button:

    {{#md-button class="md-raised md-primary" type="submit"}}
        Log In
    {{/md-button}}
    

    ...and the following test...

    click('button[type="submit"]');
    

    ...produce the error:

    Acceptance | login: users can log in
    ✘ Error: Element button[type="submit"] not found.
         expected true
    

    Replacing the ember-material-design button with the following works:

    <button type="submit">Log In</button>
    
    opened by jonblack 1
  • [Bug] Button is missing ripple container on firefox

    [Bug] Button is missing ripple container on firefox

    Caught this as part of adding cross-browser testing #21

    component:md-button: it should have md-ripple-container after click 
    

    consistently fails on firefox 37.0

    bug 
    opened by mike-north 0
Material Design Lite for Ember.js Apps

ember-material-lite Google's Material Design Lite for Ember.js apps This addon requires ember >= 1.11.0 Installation # ember-cli < 0.2.3 ember install

Mike North 148 Dec 17, 2021
Ember-cli addon for using Bootstrap as native Ember components.

ember-bootstrap An ember-cli addon for using Bootstrap 4 und 5 in Ember applications. The addon includes the Bootstrap CSS (or Sass, Less) in your pro

kaliber5 491 Dec 25, 2022
Ember.js addon allowing you to easily implement non-CRUD actions for your Ember Data models

@mainmatter/ember-api-actions This is an Ember.js addon allowing you to easily implement non-CRUD actions for your Ember Data models. Compatibility Em

Mainmatter 6 Dec 15, 2022
The ember implementation of UIkit

ember-uikit This addon is a wrapper for the CSS library UIkit which exposes certain components to give users an easy way for using UIkit in ember apps

Adfinis 25 Oct 20, 2022
Ember implementation of the game

Ember implementation of the game

null 9 Apr 27, 2022
A frontend Framework for building B2B applications running in the browser on top of REST/GraphQL APIs, using ES6, React and Material Design

react-admin A frontend Framework for building data-driven applications running in the browser on top of REST/GraphQL APIs, using ES6, React and Materi

marmelab 21.2k Dec 30, 2022
A set of React components implementing Google's Material Design specification with the power of CSS Modules

React Toolbox is a set of React components that implement Google's Material Design specification. It's powered by CSS Modules and harmoniously integra

React Toolbox 8.7k Dec 30, 2022
Material Design Web Components

Material Web IMPORTANT: Material Web is a work in progress and subject to major changes until 1.0 release. Material Web is Google’s UI toolkit for bui

Material Components 4.6k Dec 31, 2022
A component library based on Material Design 3 & Web Components

material-web-entity Material Web Entity A component library based on Material Design & Web Components Go to link to see what components this library s

HugePancake 5 Jun 3, 2022
📓 The UI component explorer. Develop, document, & test React, Vue, Angular, Web Components, Ember, Svelte & more!

Build bulletproof UI components faster Storybook is a development environment for UI components. It allows you to browse a component library, view the

Storybook 75.8k Jan 4, 2023
An accessible dropdown component for use in Ember apps.

ember-a11y-dropdown This is an accessible dropdown that you can use in your Ember app for a menu dropdown. I'm making it so people can stop using the

Melanie Sumner 2 Feb 10, 2022
Demonstration of how to use statecharts as and with actors in Ember.js

statechart-actors This app demonstrate how we can use ember-statecharts and XState's actor feature together. The demo-use case: Show a blog posts over

Michael Klein 3 Jan 9, 2022
An Ember CLI Addon that provides a variety of UI components.

We use https://waffle.io/softlayer/sl-ember-components to work our issues. What sl-ember-components is An Ember CLI Addon that provides UI components

SoftLayer 115 May 7, 2022
Official Semantic UI Integration for Ember

Semantic-UI-Ember This is the official Ember library for the Semantic-UI modules. Support The NodeJS and EmberJS versions respective tags are tested o

Semantic Org 335 Oct 1, 2022
Bootstrap for Ember.js

Please use our CLI-ADDONS instead We rewrote almost all components from scratch and packed them as Ember-Addons, Please avoid using this project and u

null 708 Nov 17, 2022
Rich components for Ember.js framework.

Ember Components Ember Components is a comprehensive set of rich web components written purely in Ember.js that let you create an astonishing UI for a

Indexia Technologies, ltd. 185 Dec 18, 2020
Bugsnag integration for Ember applications.

Ember Bugsnag Bugsnag integration for Ember applications.

Bagaar 1 Apr 28, 2022
A demo app to illustrate core and latest concepts in Ember.js

ember-workshop A demo app to illustrate core and latest concepts in Ember.js Setup Installation Clone this repo. git clone [email protected]:ijlee2/ember

Isaac Lee 15 Dec 17, 2022
Codemod to un-pod Ember apps, addons, and engines

ember-codemod-pod-to-octane Codemod to un-pod Ember apps, addons, and engines Usage Step 1. Quickly return to default Octane. cd <your/project/path> n

Isaac Lee 9 Nov 30, 2022