Git Product home page Git Product logo

ionic-material's Introduction

Ionic Material

Join the chat at https://gitter.im/zachsoft/Ionic-Material Ionic Framework โ™ฅ Material Design

NB: all versions pre-1.0 are intended as a work in progress 'Alpha'

GitHub version Commitizen friendly

See our releases and other versions

Demo and Documentation

Codepen

Documentation

NB: Note: It is recommended that when creating an issue, you demonstrate the problem by forking the codepen.

Quick Start

Step 1: Install using Bower

 cd /PATH/TO/YOUR/PROJECT
 bower install ionic-material

Step 2: Add RobotoDraft font (by Google)

Via CDN:

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

via Bower

Check out RobotoDraft by RaiButera on Github

bower install robotodraft 

using Sass? instructions for raibutera/robotodraft + scss:

$RobotoDraftFontPath: "../fonts"; // REMINDER: edit as appropriate!
$RobotoDraftFontName: "RobotoDraft";
$RobotoDraftFontVersion: "1.0.0";

@import "/PATH/TO/YOUR/PROJECT/bower_components/robotodraft/sass/robotodraft.scss";    // REMINDER: edit as appropriate!

NB: the above assumes you are using Bower

Step 3: Add Ionic Material stylesheets and scripts

Add ionic.material.min.css and ionic.material.min.js to your index.html

    <link href="lib/ionic/css/ionic.css" rel="stylesheet">
    <link href="lib/ionic-material/ionic.material.min.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">

    <script src="lib/ionic/js/ionic.bundle.js"></script>
    <script src="lib/ionic-material/ionic.material.min.js"></script>

Step 4: Inject Ionic & Ionic Material into your Ionic App

    var app = angular.module('YOUR_APP_NAME', ['ionic', 'ionic-material']);

Step 5: Where appropriate, inject ionicMaterialInk and/or ionicMaterialMotion

The angular services ionicMaterialInk and ionicMaterialMotion are used to activate animations.

You are all set to go! ๐Ÿ‘

Activating Animations

NB: Make sure the relevant services are injected into your controllers.

In your controllers:

  • ionicMaterialInk.displayEffect() (will need to happen once on controller activation and then repeat every time the objects update)
  • ionicMaterialMotion.ripple() (etc.)

Sample App

Ionic demo app "Thronester" is found within './demo' - You can also run 'index.html' locally to view in a webkit browser on a computer.

Builds

Instructions:

  • npm install
  • gulp build (or gulp style for just the stylesheets)

Look at gulpfile.js for how the process works.

Development

This project uses Webpack

Contributing

See our CONTRIBUTING INSTRUCTIONS

Website

http://ionicmaterial.com/

FAQ

What is Ionic Material?

Ionic material is aimed at being an extension library for the Ionic Framework, meaning you won't change the way you develop your Ionic hybrid apps to have them materialized. Ionic Material aims to integrate the best representations of Material Design into a single add-on library for Ionic Developers. With the Polymer Project, ngMaterial, and other open source projects arising, we aim to be actively engaged and aligned with these, and other, related projects.

As a 100% free open-source project, developer participation is encouraged, as much or little as possible.

Can I use Ionic and Angular Material together?

Ionic and Angular Material are fairly incompatible (you can add them to the same project, but the styling will be extremely inconsistent and none of the UI components will work cross-framework, eg. an ionic side menu with material tabs). Ionic is 1.0 and angular material is still pre-1.0.

Ionic Material is best explained as a "material extension" to Ionic, rather than to Angular as a whole. The difference isn't just semantics - Ionic Material extends the actual ionic framework namespace (in JS), renders material styles on the ionic elements (following ionic's conventions), and will aim to follow the releases of Ionic, and support material theming, ink, and motion for any new Ionic release.

Ionic Material will pull in the best ideas of Angular Material, Paper/Polymer, etc. and by the same tune, Ionic Material will also abstract the parts of the framework that would be beneficial outside of ionic apps (like animations, motions) into their standalone git projects so they can be adopted for use in -any- web project that uses material design.

How can I contribute?

Please see our contribution guidelines

Want to become an official collaborator? Please contact @zachsoft

Roadmap and the Future

See Milestones

Rough Ideas

  1. Complete implementation of Material Design specification.

  2. Full UI Kit w/ dozens of templates for rapid application development. Inspired by amazing kits like: https://ui8.net/product/material-ui-kit.

  3. Increase animation performance. We're really stretching the limits of hybrid app animations - if you have ideas on performance adjustments, we're all ears and would love the insight.

  4. Port animate.js with bezier curve adjustments to match "authentic motion" spec of Material Design.

  5. Bug fixes

ionic-material's People

Contributors

rbutera avatar zachfitz avatar oscarmcm avatar denzildoyle avatar jjaybrown avatar guilhermedecampo avatar simonecorsi avatar frederickjansen avatar gabrielbiga avatar harrybailey avatar lahaxearnaud avatar mavrick avatar pierredup avatar gitter-badger avatar walkerfranson avatar willbittner avatar sameera207 avatar

Watchers

DZT Sukanya avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.