diff --git a/src/components/app/ionic.scss b/src/components/app/ionic.scss index 9783eb0f1f..57d516e577 100644 --- a/src/components/app/ionic.scss +++ b/src/components/app/ionic.scss @@ -45,7 +45,8 @@ @import "../checkbox/extensions/ios", "../list/extensions/ios", - "../item/extensions/ios"; + "../item/extensions/ios", + "../switch/extensions/ios"; // Icons diff --git a/src/components/switch/extensions/ios.scss b/src/components/switch/extensions/ios.scss new file mode 100644 index 0000000000..de8a5f3074 --- /dev/null +++ b/src/components/switch/extensions/ios.scss @@ -0,0 +1,38 @@ + +// iOS Switch +// -------------------------------------------------- + +$switch-ios-width: 52px !default; +$switch-ios-height: 32px !default; +$switch-ios-slider-off-background: #fff !default; +$switch-ios-slider-on-background: #4cd964 !default; +$switch-ios-toggle-on-background: #fff !default; + + +.switch-ios { + + .switch-toggle { + width: $switch-ios-width; + height: $switch-ios-height; + border-radius: $switch-ios-height / 2; + + background: #e5e5e5; + } + + .switch-toggle:before { + background: $switch-ios-slider-off-background; + } + + .switch-toggle:after { + box-shadow: 0 2px 5px rgba(0,0,0,.4); + } + + &[aria-checked=true] .switch-toggle { + background: $switch-ios-slider-on-background; + } + + &[aria-checked=true] .switch-toggle:before { + @include scale(0); + } + +} diff --git a/src/components/switch/switch.js b/src/components/switch/switch.js index b762579e8b..df43097b4d 100644 --- a/src/components/switch/switch.js +++ b/src/components/switch/switch.js @@ -1,71 +1,64 @@ -import {NgElement, Component, Template} from 'angular2/angular2'; +import {Component, Template, NgElement, PropertySetter} from 'angular2/angular2' +import {ComponentConfig} from 'ionic2/config/component-config' + +export let SwitchConfig = new ComponentConfig('switch') @Component({ selector: 'ion-switch', bind: { checked: 'checked' - } + }, + events: { + 'click': 'onClick()' + }, + services: [SwitchConfig] }) @Template({ inline: ` -
-
-