diff --git a/ionic/components/action-menu/modes/ios.scss b/ionic/components/action-menu/modes/ios.scss index 491d0f469d..6abbf0feff 100644 --- a/ionic/components/action-menu/modes/ios.scss +++ b/ionic/components/action-menu/modes/ios.scss @@ -20,7 +20,7 @@ $action-menu-ios-background-active: #ebebeb !default; $action-menu-ios-icon-font-size: 1.4em !default; -ion-action-menu[mode=ios] { +ion-action-menu { text-align: center; .action-menu-container { @@ -90,7 +90,7 @@ ion-action-menu[mode=ios] { } -.hairlines .action-menu[mode=ios] { +&.hairlines .action-menu { .action-menu-title, .action-menu-option { border-bottom-width: 0.55px; diff --git a/ionic/components/action-menu/modes/material.scss b/ionic/components/action-menu/modes/material.scss index 5916999601..612c40d81b 100644 --- a/ionic/components/action-menu/modes/material.scss +++ b/ionic/components/action-menu/modes/material.scss @@ -18,7 +18,7 @@ $action-menu-md-icon-font-size: 2.4rem !default; $action-menu-md-icon-margin: 0 28px 0 0 !default; -ion-action-menu[mode=md] { +ion-action-menu { margin: 0; .action-menu-container { diff --git a/ionic/components/app/app.ts b/ionic/components/app/app.ts index adb6d60240..ee1bdb8153 100644 --- a/ionic/components/app/app.ts +++ b/ionic/components/app/app.ts @@ -167,7 +167,7 @@ export class IonicApp { } }); - bodyEle.setAttribute('mode', config.setting('mode')); + bodyEle.classList.add(config.setting('mode')); /** * Hairline Shim diff --git a/ionic/components/app/normalize.scss b/ionic/components/app/normalize.scss index 1f22b3f1c7..6a1c112faa 100644 --- a/ionic/components/app/normalize.scss +++ b/ionic/components/app/normalize.scss @@ -1,4 +1,4 @@ -/*! Ionic fork of normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css */ +/*! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css */ // HTML5 display definitions diff --git a/ionic/components/app/test/hn/main.html b/ionic/components/app/test/hn/main.html index 1262b134b0..ddd6495220 100644 --- a/ionic/components/app/test/hn/main.html +++ b/ionic/components/app/test/hn/main.html @@ -5,7 +5,7 @@ .navbar-container { background-color: #ff6600 !important; } -.nav[mode=ios] ion-title { +.md .nav ion-title { color: #fff !important; } diff --git a/ionic/components/app/test/yerk/main.html b/ionic/components/app/test/yerk/main.html index 8ea812ecec..f917ad2c7e 100644 --- a/ionic/components/app/test/yerk/main.html +++ b/ionic/components/app/test/yerk/main.html @@ -1,10 +1,10 @@ diff --git a/ionic/components/text-input/modes/ios.scss b/ionic/components/text-input/modes/ios.scss index aa2eea8477..a0937abf27 100644 --- a/ionic/components/text-input/modes/ios.scss +++ b/ionic/components/text-input/modes/ios.scss @@ -5,8 +5,8 @@ $input-label-ios-color: #7f7f7f !default; -.list[mode=ios], -ion-card[mode=ios] { +.list, +ion-card { .text-input { margin: $item-ios-padding-top ($item-ios-padding-right / 2) $item-ios-padding-bottom ($item-ios-padding-left / 2); diff --git a/ionic/components/text-input/modes/material.scss b/ionic/components/text-input/modes/material.scss index 53f3ce9e46..403012248a 100644 --- a/ionic/components/text-input/modes/material.scss +++ b/ionic/components/text-input/modes/material.scss @@ -6,8 +6,8 @@ $text-input-highlight-color: map-get($colors, primary) !default; $input-label-md-color: #999 !default; -.list[mode=md], -ion-card[mode=md] { +.list, +ion-card { .text-input { margin: $item-md-padding-top ($item-md-padding-right / 2) $item-md-padding-bottom ($item-md-padding-left / 2); @@ -67,7 +67,7 @@ ion-card[mode=md] { } } -.list[mode=md][inset] ion-input.item { +.list[inset] ion-input.item { padding-right: 0; padding-left: 0; } diff --git a/ionic/components/toolbar/modes/ios.scss b/ionic/components/toolbar/modes/ios.scss index 45fc460cb1..1c6bb9de58 100644 --- a/ionic/components/toolbar/modes/ios.scss +++ b/ionic/components/toolbar/modes/ios.scss @@ -16,8 +16,7 @@ $toolbar-ios-button-font-size: 1.7rem !default; $toolbar-ios-title-font-size: 1.7rem !default; -.nav[mode=ios] .toolbar, -.toolbar[mode=ios] { +.toolbar { border-bottom-width: 1px; border-bottom-style: solid; min-height: $toolbar-ios-height; @@ -46,12 +45,17 @@ $toolbar-ios-title-font-size: 1.7rem !default; } .back-button { + margin: 0 4px; + min-height: 3.2rem; + line-height: 1; order: map-get($toolbar-order-ios, 'back-button'); overflow: inherit; } .back-button-icon { - padding-right: 0.6rem; + display: inherit; + min-width: 20px; + font-size: 3.2rem; } button, @@ -76,6 +80,6 @@ $toolbar-ios-title-font-size: 1.7rem !default; } -.hairlines .toolbar[mode=ios] { +&.hairlines .toolbar { border-bottom-width: 0.55px; } diff --git a/ionic/components/toolbar/modes/material.scss b/ionic/components/toolbar/modes/material.scss index e0e9412504..0293ee6b5d 100644 --- a/ionic/components/toolbar/modes/material.scss +++ b/ionic/components/toolbar/modes/material.scss @@ -7,8 +7,7 @@ $toolbar-md-title-font-size: 2rem !default; $toolbar-md-button-font-size: 1.4rem !default; -.nav[mode=md] .toolbar, -.toolbar[mode=md] { +.toolbar { min-height: $toolbar-md-height; .toolbar-inner-title { diff --git a/ionic/config/annotations.ts b/ionic/config/annotations.ts index 9ab90a36c1..3ff092ee81 100644 --- a/ionic/config/annotations.ts +++ b/ionic/config/annotations.ts @@ -159,9 +159,6 @@ function appendConfig(cls, config) { let componentId = config.classId || (config.selector && config.selector.replace('ion-', '')); config.host['class'] = ((config.host['class'] || '') + ' ' + componentId).trim(); - // the mode will get figured out when the component is constructed - config.host['[attr.mode]'] = 'clsMode'; - return config; } diff --git a/ionic/ionic.core.scss b/ionic/ionic.core.scss index 2fea3ed4ed..62e6353b07 100644 --- a/ionic/ionic.core.scss +++ b/ionic/ionic.core.scss @@ -1,4 +1,8 @@ +// Theme +@import "themes/default"; + + // Globals @import "util/mixins", @@ -43,3 +47,14 @@ "components/switch/switch", "components/tabs/tabs", "components/view/view"; + + +// Ionicons +$ionicons: true !default; +@if ($ionicons) { + @import "fonts/ionicons"; +} + + +// Engine +@import "platform/cordova"; diff --git a/ionic/ionic.ios.scss b/ionic/ionic.ios.scss index 91f35c6197..6c6242da25 100644 --- a/ionic/ionic.ios.scss +++ b/ionic/ionic.ios.scss @@ -1,3 +1,5 @@ +/*! Ionic: iOS */ + // iOS Components @import diff --git a/ionic/ionic.material.scss b/ionic/ionic.md.scss similarity index 94% rename from ionic/ionic.material.scss rename to ionic/ionic.md.scss index 89b9a0ef9e..54de598adf 100644 --- a/ionic/ionic.material.scss +++ b/ionic/ionic.md.scss @@ -1,7 +1,8 @@ +/*! Ionic: Material Design */ + // Material Design Components @import - "components/material/variables", "components/material/ripple", "components/toolbar/modes/material", "components/action-menu/modes/material", diff --git a/ionic/ionic.scss b/ionic/ionic.scss index 2c72878eb0..b541ccbb4b 100755 --- a/ionic/ionic.scss +++ b/ionic/ionic.scss @@ -1,41 +1,27 @@ @charset "UTF-8"; -// Default Theme -@import "themes/default"; - - // Core Components @import "ionic.core"; // iOS Components -$ios-mode: true !default; -@if ($ios-mode) { +.ios { @import "ionic.ios"; } // Material Design Components -$material-design-mode: true !default; -@if ($material-design-mode) { - @import "ionic.material"; +.md { + @import "ionic.md"; } -// Ionicons -$ionicons: true !default; -@if ($ionicons) { - @import "fonts/ionicons"; -} - - -// Roboto +// Roboto Font $roboto: true !default; @if ($roboto) { @import "fonts/roboto"; + .md { + font-family: "Roboto", "Helvetica Neue", sans-serif; + } } - - -// Platforms -@import "platform/cordova";