diff --git a/ionic/components/tabs/modes/ios.scss b/ionic/components/tabs/modes/ios.scss index 6809d7dec6..17ddc46818 100644 --- a/ionic/components/tabs/modes/ios.scss +++ b/ionic/components/tabs/modes/ios.scss @@ -88,3 +88,11 @@ ion-tabs[tabbar-placement=top] tabbar { } } + +@each $color-name, $color-value in $colors { + + tabbar[#{$color-name}] { + border-color: darken($color-value, 10%); + } + +} diff --git a/ionic/components/tabs/tabs.scss b/ionic/components/tabs/tabs.scss index 7dfd413ff5..3a39f1e580 100644 --- a/ionic/components/tabs/tabs.scss +++ b/ionic/components/tabs/tabs.scss @@ -87,10 +87,11 @@ tabbar { border: 0; border-radius: 0; background: none; +} - &:hover:not(.disable-hover) { - color: $tab-button-active-color; - } +.tab-button:hover:not(.disable-hover), +.tab-button[aria-selected=true] { + color: $tab-button-active-color; } .tab-button-text { @@ -121,10 +122,6 @@ tabbar { white-space: normal; } -.tab-button[aria-selected=true] { - color: $tab-button-active-color; -} - tab-highlight { display: none; } @@ -157,3 +154,24 @@ tab-highlight { [tabbar-icons=hide] .tab-button-icon { display: none; } + + +// Tabbar Color Generation +// -------------------------------------------------- + +@each $color-name, $color-value in $colors { + + tabbar[#{$color-name}] { + background-color: $color-value; + + .tab-button { + color: inverse($color-value); + } + + .tab-button:hover:not(.disable-hover), + .tab-button[aria-selected=true] { + color: inverse($color-value); + } + } + +} diff --git a/ionic/components/tabs/tabs.ts b/ionic/components/tabs/tabs.ts index 05b86c0f3f..9a591d97c4 100644 --- a/ionic/components/tabs/tabs.ts +++ b/ionic/components/tabs/tabs.ts @@ -1,4 +1,4 @@ -import {Directive, ElementRef, Optional, Host, NgFor, NgIf, forwardRef, ViewContainerRef} from 'angular2/angular2'; +import {Directive, ElementRef, Optional, Host, NgFor, NgIf, forwardRef, ViewContainerRef, Renderer} from 'angular2/angular2'; import {Ion} from '../ion'; import {IonicApp} from '../app/app'; @@ -8,6 +8,17 @@ import {ConfigComponent} from '../../config/decorators'; import {Icon} from '../icon/icon'; +@Directive({ + selector: '[attr]', + inputs: ['attr'] +}) +class Attr { + constructor(private renderer: Renderer, private elementRef: ElementRef) {} + onInit() { + this.renderer.setElementAttribute(this.elementRef, this.attr, ''); + } +} + /** * _For basic Tabs usage, see the [Tabs section](../../../../components/#tabs) * of the Component docs._ @@ -63,6 +74,7 @@ import {Icon} from '../icon/icon'; defaultInputs: { 'tabbarPlacement': 'bottom', 'tabbarIcons': 'top', + 'tabbarStyle': 'default', 'preloadTabs': true }, template: @@ -70,7 +82,7 @@ import {Icon} from '../icon/icon'; '' + '' + '' + - '' + + '' + '' + '' + '{{t.tabTitle}}' + @@ -85,6 +97,7 @@ import {Icon} from '../icon/icon'; Icon, NgFor, NgIf, + Attr, forwardRef(() => TabButton), forwardRef(() => TabHighlight), forwardRef(() => TabNavBarAnchor) diff --git a/ionic/components/tabs/test/basic/index.ts b/ionic/components/tabs/test/basic/index.ts index 6119d239ec..f144c2393f 100644 --- a/ionic/components/tabs/test/basic/index.ts +++ b/ionic/components/tabs/test/basic/index.ts @@ -8,14 +8,24 @@ Heart - - Tab 1 + + + + Tab 1 + + Item {{i}} {{i}} {{i}} {{i}} + ` }) class Tab1 { constructor(nav: NavController) { this.nav = nav; + + this.items = []; + for(var i = 1; i <= 250; i++) { + this.items.push(i); + } } } @@ -25,16 +35,33 @@ class Tab1 { @Page({ template: ` - Star + Schedule - - Tab 2 + + + + + {{session.name}} {{session.name}} {{session.name}} + {{session.location}} {{session.location}} {{session.location}} + + + SpeakerInfo + Add toFavorites + + + - ` + ` }) class Tab2 { - constructor(nav: NavController) { - this.nav = nav; + constructor() { + this.sessions = []; + for(var i = 1; i <= 250; i++) { + this.sessions.push({ + name: 'Name ' + i, + location: 'Location: ' + i + }); + } } } @@ -54,11 +81,8 @@ class Tab2 { ` }) -class Tab3 { - constructor(nav: NavController) { - this.nav = nav; - } -} +class Tab3 {} + @App({ template: ` @@ -75,9 +99,9 @@ class Tab3 { - - - + + + ` diff --git a/ionic/components/tabs/test/tab-bar-scenarios/main.html b/ionic/components/tabs/test/tab-bar-scenarios/main.html index b4c7e1d4f0..222687e048 100644 --- a/ionic/components/tabs/test/tab-bar-scenarios/main.html +++ b/ionic/components/tabs/test/tab-bar-scenarios/main.html @@ -59,3 +59,11 @@ + + + + + + + +
{{session.location}} {{session.location}} {{session.location}}