From 872b4db0ddd7c4bc5171a82b5c680799b3155c18 Mon Sep 17 00:00:00 2001 From: Max Lynch Date: Mon, 20 Jul 2015 16:02:48 -0500 Subject: [PATCH] That ripple shit --- ionic/components.ts | 1 + ionic/components/app/extensions/material.scss | 27 +++++++++++++++++++ ionic/components/button/button.ts | 9 ++++++- .../button/extensions/material.scss | 17 +++++++++--- ionic/components/button/test/basic/main.html | 2 ++ ionic/components/button/test/block/main.html | 3 +++ ionic/components/material/button.ts | 22 +++++++++++++++ ionic/components/material/ripple.ts | 20 +++++--------- ionic/components/material/variables.scss | 6 +++++ ionic/config/annotations.ts | 8 +++--- ionic/platform/registry.ts | 6 +++-- 11 files changed, 98 insertions(+), 23 deletions(-) create mode 100644 ionic/components/material/button.ts diff --git a/ionic/components.ts b/ionic/components.ts index c332160b61..4a4bcc4419 100644 --- a/ionic/components.ts +++ b/ionic/components.ts @@ -15,6 +15,7 @@ export * from 'ionic/components/form/label' export * from 'ionic/components/list/list' // Material components/effects +export * from 'ionic/components/material/button' export * from 'ionic/components/material/ripple' export * from 'ionic/components/modal/modal' diff --git a/ionic/components/app/extensions/material.scss b/ionic/components/app/extensions/material.scss index f10d6d9ef7..bf78ed90a8 100644 --- a/ionic/components/app/extensions/material.scss +++ b/ionic/components/app/extensions/material.scss @@ -2,4 +2,31 @@ ion-app, .ion-app { font-family: 'RobotoDraft','Roboto',-apple-system,'Helvetica Neue',sans-serif; } + + $content-padding: 16px; + + .padding, + .padding > .scroll-content { + padding: $content-padding; + } + + .padding-top, + .padding-vertical { + padding-top: $content-padding; + } + + .padding-right, + .padding-horizontal { + padding-right: $content-padding; + } + + .padding-bottom, + .padding-vertical { + padding-bottom: $content-padding; + } + + .padding-left, + .padding-horizontal { + padding-left: $content-padding; + } } diff --git a/ionic/components/button/button.ts b/ionic/components/button/button.ts index 0a406611f0..61e24c4fb6 100644 --- a/ionic/components/button/button.ts +++ b/ionic/components/button/button.ts @@ -1,9 +1,16 @@ -import {Directive, ElementRef, Optional, Ancestor} from 'angular2/angular2'; +import {Directive, ElementRef, Optional, Ancestor, onDestroy} from 'angular2/angular2'; import {IonicConfig} from '../../config/config'; import {Gesture} from '../../gestures/gesture'; import * as dom from '../../util/dom'; +@Directive({ + selector: 'button,[button]' +}) +export class Button { + constructor(elementRef: ElementRef, config: IonicConfig) { + } +} @Directive({ selector: '[tap-disabled]' diff --git a/ionic/components/button/extensions/material.scss b/ionic/components/button/extensions/material.scss index 9366877e8f..0ee8fa8a68 100644 --- a/ionic/components/button/extensions/material.scss +++ b/ionic/components/button/extensions/material.scss @@ -3,15 +3,19 @@ // -------------------------------------------------- $button-material-font-size: 1.4rem !default; -$button-material-padding: 0 0.6rem !default; -$button-material-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26) !default; +$button-material-min-height: 3.6rem !default; +$button-material-padding: 0 1.6rem !default; +$button-material-box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12),0 1px 1px 0 rgba(0, 0, 0, 0.24);//0 1px 3px 0 rgba(0, 0, 0, 0.3); //0 2px 5px 0 rgba(0, 0, 0, 0.26) !default; +$button-material-box-shadow-active: 0 4px 5px 0 rgba(0, 0, 0, 0.14),0 1px 10px 0 rgba(0, 0, 0, 0.12),0 2px 4px -1px rgba(0, 0, 0, 0.2); //0 1px 3px 0 rgba(0, 0, 0, 0.3); //0 2px 5px 0 rgba(0, 0, 0, 0.26) !default; $button-material-border-radius: 3px !default; -.mode-md button { +.mode-md button, .mode-md [button] { border: 0; border-radius: $button-material-border-radius; + min-height: $button-material-min-height; + padding: $button-material-padding; text-transform: uppercase; @@ -19,6 +23,13 @@ $button-material-border-radius: 3px !default; font-size: $button-material-font-size; box-shadow: $button-material-box-shadow; + transition: box-shadow 0.2s $animation-curve-fast-out-linear-in, + background-color 0.2s $animation-curve-default, + color 0.2s $animation-curve-default; + + &:active, &.activated { + box-shadow: $button-material-box-shadow-active; + } &[icon] { font-size: $button-icon-size; diff --git a/ionic/components/button/test/basic/main.html b/ionic/components/button/test/basic/main.html index 4574a79b0c..0fc92a5f91 100644 --- a/ionic/components/button/test/basic/main.html +++ b/ionic/components/button/test/basic/main.html @@ -1,4 +1,5 @@ +
a[button] @@ -47,3 +48,4 @@
+
diff --git a/ionic/components/button/test/block/main.html b/ionic/components/button/test/block/main.html index 8f393e711f..29b20c85e5 100644 --- a/ionic/components/button/test/block/main.html +++ b/ionic/components/button/test/block/main.html @@ -21,3 +21,6 @@