Giter Club home page Giter Club logo

ionic-material's Introduction

This project / repository is retired

This project will not have updates for AngularJS/Ionic 1. Please contact the author (zachfitz) if you have ability and interest in resurrecting it, or (preferrably) porting it to Ionic 2/Angular.

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/dist/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/dist/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

artguy10 avatar bitsmuggler avatar denzildoyle avatar frederickjansen avatar gabrielbiga avatar gimox avatar gitter-badger avatar gpasztor87 avatar guilhermedecampo avatar harrybailey avatar jjaybrown avatar lahaxearnaud avatar mavrick avatar movibe avatar mzdu avatar oscarmcm avatar pierredup avatar rbutera avatar sahat avatar sameera207 avatar simonecorsi avatar walkerfranson avatar willbittner avatar zachfitz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ionic-material's Issues

Centralize CSS

Hey, love the work!

I'm looking around for material design frameworks, and noticed that there a number of them; each of them building out the same type of CSS modules. There are a number of material frameworks, but each one is built for a specific JS framework.
I'm wondering if it would be possible to centralize some of the similar CSS work into a separate project.

I'm not on ionic, but I really like what you're doing here.

Do you use scss, or another preprocessor? (couldn't see any .scss files)
Would you be interested in a project that focuses on the CSS elements in the material design spec, and leaves the JS stuff to other frameworks, or provides helper functions that other JS frameworks could use?

Just brainstorming right now, but this is something that I think could help create a larger toolset for all the material design focused projects.

Content Scroll = True Doesn't work

Hello Zach, i tried to add some content to a page, and i tried adding the content-scroll:true attribute , but i can't scroll down in any page i used ionic material in. is there any way to achieve this? maybe a css attribut i am not aware of perhaps?

Thanks,
Shaul.

API Documentation

Looks great, but some API documentation would be incredible. Thanks =D

[Question] Angular Material

I read that is possible to use Ionic and Angular Material (material.angularjs.org), this project is an alternative? or is bridge between that?

popover height issues

hi Zach, I noticed that if you open a popover in the header, it's header will be cut out. please fix this when you have the chance...thanks :)

Wrong main files

Had some trouble getting started as my build tool is set to include all main bower files and ionic material refused to join the party.

bower.json and package.json should be updated to include the correct css and js files.

Would have done a PR but wasn't sure where you wanted the files (root or dist folder).

"main": [
  "./ionic.material.min.css",
  "./ionic.material.min.js"
],

no angular solution.

is it possible to use a clean package to avoid using angular? I would like to use ionic material with meteorJS

menu header jumps when opening

hello Zach, I have been checking the thronester, and I noticed that if you open the menu, the header of the menu jumps to the height of the apps header. ..is there any way to fix this?

How Can I Animate Menu Items?

Hello Zach, I succeeded to add the ink effect to the menu items, great implementation!
Now i am trying to animate the menu items themselve, like with animte-blinds for example.
My problem is when i put the animation class on the menu list, and check the app, i can see nothing..

I read you need to add an animation initialization to the controller of the page, but in my app.js i have no menu page state, so i am not sure where to edit this.

Any help would be appreciated.
Thanks man :)

Memory leak with list animations

A big amount of items in a animated list create a memory leak and crash app on iOS.

Will do a reproduction soon and start to fix this issue.

Integration ionic material in ionic project

@ZachSoft Can you please let me know about how to use ionic material. I have install it using bower and now I saw directories in my lib folder. Also, included the ionic-material.js and css files inindex.html
But still did not see the button or any other components changed in material design.

Can you please please help integrating or any small doc how to include it ? I know api doc is on the way, but again a smal 5-10 lines of itegration will help :)
So, after that we can also contribute to the doc.

Ghost clicks/taps

I installed the demo app and when I scroll through a list I am getting the material animation as though I had tapped the item.

Feature Request - status bar color

hi Zach , I would to add a wish for an implementation of the status bar plugin. in this way we could change status bar color on lollipop and it will look more professional.

thanks :)

nav bar an back button

Hi!
In order to use ionic-material, we have to replace all the ionic directives, with normal classes - right?

It works fine for lists, buttons, etc - but the navbar and the backbuttons won't work any longer.
Is there any workaround for this? (I'm using the side-menu starter template).

Ink effects not working on ng-repeat

i have an ng-repeat and i've noticed if i clicked the list, no effects are showing. Here is the code that i've used

<div class="list">
            <a class="item item-text-wrap" ui-sref="route.detail" ng-repeat="route in searchResults">
                <h2>{{ route.name }}</h2>
                <p>
                    From <strong>{{ route.to }}</strong>
                    to <strong>{{ route.from }}</strong>
                </p>
            </a>
        </div>

Jumpy animations

I am running the test app on an LG G3 Lollipop and when navigating around the app the animations are slightly slow (just enough to make it an issue).

This is an awesome project - I think the guys at Ionic should consider integrating this solution into their framework to help Android developers.

Ionic is out of date

Hey Ionic released 1.0.0-rc.0 and beta 1.0 is out more then a half year why is there 0.9... ?

Waves Material Animation and Angular Animation don't work on built apk's

Hello Again Zach, i did some tests and tried to compile the list page from your demos, it looks great and behaves great when viewing from chrome. i than went to intel xdk and built the project in regular android, and also in crosswalk, and the application works great, but there are not animations working for the enter page, is there any additional step to make them work in the built app?

Thanks,
Shaul.

ng filter doesn't work with animations

When I try to filter the list, the whole list is gone. Without animation everything works fine.

Here is the code I have:

<label class="item item-input">
    <input type="text" placeholder="City" ng-model="searchCity">
  </label>
<ion-list class="animate-blinds">
    <ion-item ng-repeat="x in items | filter:searchCity"  ui-sref="app.details({ loc: loc, id: x.id })">
        <h2>{{ x.title }}</h2>
        <p>{{ x.content }}</p>
    </ion-item>
</ion-list>

Android compatibility

I've tried your demo project on an Android device, but it doesn't work like on iOS device. It doesn't navigate into other views, and scrollview is not currectly rendered on load.

list items hidden on scroll after a certain height ?

Hello, first of all awesome alpha release.
But im having a major bug, the list items are hidden inside ion-content after i scroll. The animation doesn't get triggered. Is this "normal" (bug) ? or is there a fix?

Thanks in advance.

Will There Be Any Demo With UI-Router ?

Hello Zach, i was wandering if you are working on maybe a demo built on top of ionic, including angular setup, and ui-router configuration?
currently i can see only demos for seperate pages, but no router to change the pages, so i am not sure how to use the code in a regular project with a number of pages... any help would be appreciated :)

Thanks,
Shaul.

Bottom Right Fab Button Is not Fixed

Hello Again Zach, I have tried to add the bottom right fab button, and succeeded, but the button is not fixed to it's right corner, and on different displays it will show or not show... instead of being fixed in place, like the top fab button, which works great in this manner.
How can i fix this problem?

Thanks so much,
Shaul.

menu button and title margin

Hi, I noticed that after adding the ionic-material library to my project, the header's title , and menu button, got an additional margin to the right.... i was wandering if this is supposed to be or a bug...

Thanks,
Shaul.

Documentation

Hi Guys, This looks awesome, have had a play with it on a test project. Are you going to be supplying some documentation?

animations

when i have a list of more than 4-5 elements that are not all in view at the same time, the animation does not animate all of the elements so when i scroll through the list i see blank space where the remaining elements should be. when i remove the effects the list populates fine. any ideas why?

width is not 100%

Hi Zach, the project is coming really good. I can still notice that the page's width is more than 100%, I can see it a bit stretched...any chance you can check it out? I am on android 5 with a lg g3

Feature request

Hi man than looks great! I was wandering if there is going to be a tabs element, and sidemenu element also? That would be a great addition:)

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.