| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343 |
- @import "../../themes/ionic.globals.md";
-
- // Material Design Tabs
- // --------------------------------------------------
-
- // deprecated
- $tabs-md-tab-padding: null !default;
-
- /// @prop - Padding top on the tab button
- $tabs-md-tab-padding-top: 0 !default;
-
- /// @prop - Padding end on the tab button
- $tabs-md-tab-padding-end: $tabs-md-tab-padding-top !default;
-
- /// @prop - Padding bottom on the tab button
- $tabs-md-tab-padding-bottom: $tabs-md-tab-padding-top !default;
-
- /// @prop - Padding start on the tab button
- $tabs-md-tab-padding-start: $tabs-md-tab-padding-end !default;
-
- /// @prop - Minimum height of the tab button
- $tabs-md-tab-min-height: 5.6rem !default;
-
- /// @prop - Font size of the inactive tab button text
- $tabs-md-tab-font-size: 1.2rem !default;
-
- /// @prop - Font weight of the tab button text
- $tabs-md-tab-font-weight: normal !default;
-
- /// @prop - Opacity of the inactive tab button
- $tabs-md-tab-opacity: .7 !default;
-
- /// @prop - Text color of the inactive tab button
- $tabs-md-tab-text-color: rgba($tabs-md-tab-color-inactive, $tabs-md-tab-opacity) !default;
-
- /// @prop - Text color of the active tab button
- $tabs-md-tab-text-color-active: $tabs-md-tab-color-active !default;
-
- /// @prop - Icon color of the inactive tab button
- $tabs-md-tab-icon-color: rgba($tabs-md-tab-color-inactive, $tabs-md-tab-opacity) !default;
-
- /// @prop - Icon color of the active tab button
- $tabs-md-tab-icon-color-active: $tabs-md-tab-color-active !default;
-
- // deprecated
- $tabs-md-tab-padding-active: null !default;
-
- /// @prop - Padding top of the active tab button
- $tabs-md-tab-padding-active-top: 0 !default;
-
- /// @prop - Padding end of the active tab button
- $tabs-md-tab-padding-active-end: $tabs-md-tab-padding-active-top !default;
-
- /// @prop - Padding bottom of the active tab button
- $tabs-md-tab-padding-active-bottom: $tabs-md-tab-padding-active-top !default;
-
- /// @prop - Padding start of the active tab button
- $tabs-md-tab-padding-active-start: $tabs-md-tab-padding-active-end !default;
-
- /// @prop - Font size of the active tab button text
- $tabs-md-tab-font-size-active: 1.4rem !default;
-
- // deprecated
- $tabs-md-tab-text-margin: null !default;
-
- /// @prop - Margin top on the tab button text
- $tabs-md-tab-text-margin-top: 0 !default;
-
- /// @prop - Margin end on the tab button text
- $tabs-md-tab-text-margin-end: $tabs-md-tab-text-margin-top !default;
-
- /// @prop - Margin bottom on the tab button text
- $tabs-md-tab-text-margin-bottom: $tabs-md-tab-text-margin-top !default;
-
- /// @prop - Margin start on the tab button text
- $tabs-md-tab-text-margin-start: $tabs-md-tab-text-margin-end !default;
-
- /// @prop - Capitalization of the tab button text
- $tabs-md-tab-text-capitalization: none !default;
-
- // deprecated
- $tabs-md-tab-text-transform-origin: null !default;
-
- /// @prop - Transform origin x for the tab button text
- $tabs-md-tab-text-transform-origin-x: 50% !default;
-
- /// @prop - Transform origin y for the tab button text
- $tabs-md-tab-text-transform-origin-y: 80% !default;
-
- /// @prop - Transform for the active tab button text
- $tabs-md-tab-text-transform-active: scale3d($tabs-md-tab-font-size-active / $tabs-md-tab-font-size, $tabs-md-tab-font-size-active / $tabs-md-tab-font-size, 1) !default;
-
- /// @prop - Text transition for the tab button text
- $tabs-md-tab-text-transition: transform .3s ease-in-out !default;
-
- // deprecated
- $tabs-md-tab-icon-transform-active: null !default;
-
- /// @prop - Transform x for the active tab button icon when the layout is icon-top, icon-only, or title-only
- $tabs-md-tab-icon-transform-x-active: 0 !default;
-
- /// @prop - Transform y for the active tab button icon when the layout is icon-top, icon-only, or title-only
- $tabs-md-tab-icon-transform-y-active: -2px !default;
-
- /// @prop - Transform z for the active tab button icon when the layout is icon-top, icon-only, or title-only
- $tabs-md-tab-icon-transform-z-active: 0 !default;
-
- // deprecated
- $tabs-md-tab-icon-end-transform-active: null !default;
-
- /// @prop - Transform x for the active tab button icon when the layout is icon-right
- $tabs-md-tab-icon-right-transform-x-active: 2px !default;
-
- /// @prop - Transform y for the active tab button icon when the layout is icon-right
- $tabs-md-tab-icon-right-transform-y-active: 0 !default;
-
- /// @prop - Transform z for the active tab button icon when the layout is icon-right
- $tabs-md-tab-icon-right-transform-z-active: 0 !default;
-
- // deprecated
- $tabs-md-tab-icon-bottom-transform-active: null !default;
-
- /// @prop - Transform x for the active tab button icon when the layout is icon-bottom
- $tabs-md-tab-icon-bottom-transform-x-active: 0 !default;
-
- /// @prop - Transform y for the active tab button icon when the layout is icon-bottom
- $tabs-md-tab-icon-bottom-transform-y-active: 2px !default;
-
- /// @prop - Transform z for the active tab button icon when the layout is icon-bottom
- $tabs-md-tab-icon-bottom-transform-z-active: 0 !default;
-
- // deprecated
- $tabs-md-tab-icon-start-transform-active: null !default;
-
- /// @prop - Transform x for the active tab button icon when the layout is icon-left
- $tabs-md-tab-icon-left-transform-x-active: -2px !default;
-
- /// @prop - Transform y for the active tab button icon when the layout is icon-left
- $tabs-md-tab-icon-left-transform-y-active: 0 !default;
-
- /// @prop - Transform z for the active tab button icon when the layout is icon-left
- $tabs-md-tab-icon-left-transform-z-active: 0 !default;
-
- // deprecated
- $tabs-md-tab-icon-transform-origin: null !default;
-
- /// @prop - Transform origin x for the tab button text
- $tabs-md-tab-icon-transform-origin-x: 50% !default;
-
- /// @prop - Transform origin y for the tab button text
- $tabs-md-tab-icon-transform-origin-y: 150% !default;
-
- /// @prop - Text transition for the tab button icon
- $tabs-md-tab-icon-transition: transform .3s ease-in-out !default;
-
- /// @prop - Size of the tab button icon
- $tabs-md-tab-icon-size: 2.4rem !default;
-
-
- .tabs-md .tabbar {
- background: $tabs-md-background;
- }
-
-
- // Material Design Tab Button
- // --------------------------------------------------
-
- .tabs-md .tab-button {
- min-height: $tabs-md-tab-min-height;
-
- font-weight: $tabs-md-tab-font-weight;
- color: $tabs-md-tab-text-color;
-
- @include deprecated-variable(padding, $tabs-md-tab-padding) {
- @include padding($tabs-md-tab-padding-top, $tabs-md-tab-padding-end, $tabs-md-tab-padding-bottom, $tabs-md-tab-padding-start);
- }
- }
-
- .tabs-md .tab-button[aria-selected=true] {
- color: $tabs-md-tab-text-color-active;
-
- @include deprecated-variable(padding, $tabs-md-tab-padding-active) {
- @include padding($tabs-md-tab-padding-active-top, $tabs-md-tab-padding-active-end, $tabs-md-tab-padding-active-bottom, $tabs-md-tab-padding-active-start);
- }
- }
-
-
- // Material Design Tab Button Text
- // --------------------------------------------------
-
- .tabs-md .tab-button-text {
- font-size: $tabs-md-tab-font-size;
-
- text-transform: $tabs-md-tab-text-capitalization;
- transition: $tabs-md-tab-text-transition;
-
- @include deprecated-variable(margin, $tabs-md-tab-text-margin) {
- @include margin($tabs-md-tab-text-margin-top, $tabs-md-tab-text-margin-end, $tabs-md-tab-text-margin-bottom, $tabs-md-tab-text-margin-start);
- }
-
- @include deprecated-variable(transform-origin, $tabs-md-tab-text-transform-origin) {
- @include transform-origin($tabs-md-tab-text-transform-origin-x, $tabs-md-tab-text-transform-origin-y);
- }
- }
-
- .tabs-md .tab-button[aria-selected=true] .tab-button-text {
- transform: $tabs-md-tab-text-transform-active;
- transition: $tabs-md-tab-text-transition;
- }
-
- .tabs-md[tabsLayout=icon-top] .has-icon .tab-button-text {
- @include margin(4px, null, 0, null);
- }
-
- .tabs-md[tabsLayout=icon-bottom] .tab-button .tab-button-text {
- @include margin(0, null, null, null);
- }
-
-
- // Material Design Tab Button Icon
- // --------------------------------------------------
-
- .tabs-md .tab-button-icon {
- @include margin(1px, null, null, null);
-
- min-width: $tabs-md-tab-icon-size;
-
- font-size: $tabs-md-tab-icon-size;
-
- color: $tabs-md-tab-icon-color;
-
- transition: $tabs-md-tab-icon-transition;
-
- @include deprecated-variable(transform-origin, $tabs-md-tab-icon-transform-origin) {
- @include transform-origin($tabs-md-tab-icon-transform-origin-x, $tabs-md-tab-icon-transform-origin-y);
- }
- }
-
- // Tab layout: icon-top, icon-only, title-only
- .tabs-md .tab-button[aria-selected=true] .tab-button-icon {
- color: $tabs-md-tab-icon-color-active;
-
- @include deprecated-variable(transform, $tabs-md-tab-icon-transform-active) {
- @include transform(translate3d($tabs-md-tab-icon-transform-x-active, $tabs-md-tab-icon-transform-y-active, $tabs-md-tab-icon-transform-z-active));
- }
- }
-
- // Tab layout: icon-end
- .tabs-md[tabsLayout=icon-right] .tab-button[aria-selected=true] .tab-button-icon, // deprecated
- .tabs-md[tabsLayout=icon-end] .tab-button[aria-selected=true] .tab-button-icon {
- @include deprecated-variable(transform, $tabs-md-tab-icon-end-transform-active) {
- @include transform(translate3d($tabs-md-tab-icon-right-transform-x-active, $tabs-md-tab-icon-right-transform-y-active, $tabs-md-tab-icon-right-transform-z-active));
- }
- }
-
- // Tab layout: icon-bottom
- .tabs-md[tabsLayout=icon-bottom] .tab-button[aria-selected=true] .tab-button-icon {
- @include deprecated-variable(transform, $tabs-md-tab-icon-bottom-transform-active) {
- @include transform(translate3d($tabs-md-tab-icon-bottom-transform-x-active, $tabs-md-tab-icon-bottom-transform-y-active, $tabs-md-tab-icon-bottom-transform-z-active));
- }
- }
-
- // Tab layout: icon-start
- .tabs-md[tabsLayout=icon-left] .tab-button[aria-selected=true] .tab-button-icon, // deprecated
- .tabs-md[tabsLayout=icon-start] .tab-button[aria-selected=true] .tab-button-icon {
- @include deprecated-variable(transform, $tabs-md-tab-icon-start-transform-active) {
- @include transform(translate3d($tabs-md-tab-icon-left-transform-x-active, $tabs-md-tab-icon-left-transform-y-active, $tabs-md-tab-icon-left-transform-z-active));
- }
- }
-
-
- // Material Design Tab with Icon or Title only
- // --------------------------------------------------
-
- .tabs-md[tabsLayout=icon-hide] .tab-button,
- .tabs-md[tabsLayout=title-hide] .tab-button,
- .tabs-md .tab-button.icon-only,
- .tabs-md .tab-button.has-title-only {
- @include padding(0, 10px);
- }
-
-
- // Material Design Tab Highlight
- // --------------------------------------------------
-
- .tabs-md[tabsHighlight=true] .tab-highlight {
- @include position(null, null, 0, 0);
- @include transform-origin(0, 0);
-
- position: absolute;
-
- display: block;
-
- width: 1px;
- height: 2px;
-
- background: $tabs-md-tab-color-active;
- transform: translateZ(0);
- }
-
- .tabs-md[tabsHighlight=true] .tab-highlight.animate {
- transition-duration: 300ms;
- }
-
- .tabs-md[tabsHighlight=true][tabsPlacement=bottom] > .tabbar > .tab-highlight {
- top: 0;
- }
-
-
- // Material Design Tabs Color Mixin
- // --------------------------------------------------
-
- @mixin tabbar-md($color-name, $color-base, $color-contrast) {
-
- .tabs-md-#{$color-name} .tabbar {
- background-color: $color-base;
- }
-
- .tabs-md-#{$color-name} .tab-button,
- .tabs-md-#{$color-name} .tab-button-icon {
- color: rgba($color-contrast, $tabs-md-tab-opacity);
- }
-
- .tabs-md-#{$color-name} .tab-button:hover:not(.disable-hover),
- .tabs-md-#{$color-name} .tab-button[aria-selected=true],
- .tabs-md-#{$color-name} .tab-button[aria-selected=true] .tab-button-icon {
- color: $color-contrast;
- }
-
- .tabs-md-#{$color-name}[tabsHighlight=true] .tab-highlight {
- background: $color-contrast;
- }
-
- }
-
-
- // Material Design Tabbar Color Generation
- // --------------------------------------------------
-
- @each $color-name, $color-base, $color-contrast in get-colors($colors-md) {
- @include tabbar-md($color-name, $color-base, $color-contrast);
- }
|