Files
Brandy Carney 706832f031 fix(toolbar): make iOS toolbar closer to native
aligned title and back button, increased font size of back icon,
removed color shade from toolbar buttons, increased font weight of
title, changed primary color, reduced back button text letter spacing.

Fixes #5149
2016-01-22 14:14:33 -05:00

301 lines
6.2 KiB
SCSS

@import "../../globals.md";
@import "./toolbar";
@import "./toolbar-button";
// Material Design Toolbar
// --------------------------------------------------
$toolbar-order-md: (
back-button: 0,
menu-toggle-start: 1,
buttons-left: 2,
content: 3,
buttons-start: 4,
buttons-end: 5,
buttons-right: 6,
menu-toggle-end: 7,
);
$toolbar-md-padding: 4px !default;
$toolbar-md-height: 5.6rem !default;
$toolbar-md-title-font-size: 2rem !default;
$toolbar-md-button-font-size: 1.4rem !default;
$navbar-md-height: $toolbar-md-height !default;
$bar-button-md-color: $toolbar-md-button-color !default;
$bar-button-md-border-radius: 2px !default;
.toolbar {
padding: $toolbar-md-padding;
min-height: $toolbar-md-height;
}
ion-navbar-section {
min-height: $navbar-md-height;
}
// Material Design Toolbar Background
// --------------------------------------------------
.toolbar-background {
border-color: $toolbar-md-border-color;
background: $toolbar-md-background;
}
// Material Design Toolbar Content
// --------------------------------------------------
.toolbar-content {
flex: 1;
order: map-get($toolbar-order-md, content);
}
.toolbar-title {
color: $toolbar-md-text-color;
}
ion-title {
padding: 0 12px;
font-size: $toolbar-md-title-font-size;
font-weight: 500;
}
@mixin md-toolbar-theme($color-name, $color-value) {
.toolbar[#{$color-name}] {
.toolbar-background {
background: $color-value;
}
.toolbar-title,
.bar-button-default,
.bar-button-outline {
color: toolbar-button-inverse($color-value);
}
.bar-button-outline {
border-color: toolbar-button-inverse($color-value);
}
@each $color-name, $color-value in $colors-md {
@include md-bar-button-default($color-name, $color-value);
@include md-bar-button-outline($color-name, $color-value);
@include md-bar-button-solid($color-name, $color-value);
}
}
}
// Material Design Toolbar Button Placement
// --------------------------------------------------
ion-buttons {
order: map-get($toolbar-order-md, buttons-start);
transform: translateZ(0px);
}
ion-buttons[left] {
order: map-get($toolbar-order-md, buttons-left);
}
ion-buttons[left] .bar-button:first-child {
margin-left: 0;
}
ion-buttons[end] {
text-align: right;
order: map-get($toolbar-order-md, buttons-end);
}
ion-buttons[right] {
text-align: right;
order: map-get($toolbar-order-md, buttons-right);
}
// Material Design Toolbar Button Default
// --------------------------------------------------
.bar-button {
margin-top: 0;
margin-bottom: 0;
margin-left: 0.2rem;
margin-right: 0.2rem;
padding: 0 5px;
min-height: 32px;
border: 0;
font-size: $toolbar-md-button-font-size;
border-radius: $bar-button-md-border-radius;
text-transform: uppercase;
font-weight: 500;
}
@mixin md-bar-button-default($color-name, $color-value) {
.bar-button-#{$color-name} {
$fg-color: $color-value;
color: $fg-color;
background-color: transparent;
&:hover:not(.disable-hover) {
color: $fg-color;
}
}
}
// Material Design Toolbar Button Outline
// --------------------------------------------------
.bar-button-outline {
border-width: 1px;
border-style: solid;
border-color: $bar-button-md-color;
color: $bar-button-md-color;
background-color: transparent;
&:hover:not(.disable-hover) {
opacity: 0.4;
}
&.activated {
color: inverse($bar-button-md-color);
background-color: $bar-button-md-color;
}
}
@mixin md-bar-button-outline($color-name, $color-value) {
.bar-button-outline-#{$color-name} {
$fg-color: color-shade($color-value);
border-color: $fg-color;
color: $fg-color;
background-color: transparent;
&.activated {
color: inverse($fg-color);
background-color: $fg-color;
}
}
}
// Material Design Toolbar Button Solid
// --------------------------------------------------
.bar-button-solid {
color: inverse($bar-button-md-color);
background-color: $bar-button-md-color;
&:hover:not(.disable-hover) {
color: inverse($bar-button-md-color);
}
&.activated {
color: inverse($bar-button-md-color);
background-color: color-shade($bar-button-md-color);
}
}
@mixin md-bar-button-solid($color-name, $color-value) {
.bar-button-solid-#{$color-name} {
color: inverse($color-value);
background-color: $color-value;
&.activated {
background-color: color-shade($color-value);
}
}
}
// Material Design Toolbar Button Icon
// --------------------------------------------------
.bar-button-icon-left ion-icon {
margin-left: -0.1em;
padding-right: 0.3em;
font-size: 1.4em;
line-height: 0.67;
pointer-events: none;
}
.bar-button-icon-right ion-icon {
padding-left: 0.4em;
font-size: 1.4em;
line-height: 0.67;
pointer-events: none;
}
.bar-button-icon-only {
padding: 0;
ion-icon {
padding: 0 0.1em;
font-size: 1.8em;
line-height: 0.67;
min-width: 28px;
pointer-events: none;
}
}
// Material Design Toolbar Back Button
// --------------------------------------------------
.back-button {
margin: 0 0 0 12px;
box-shadow: none;
}
.back-button-icon {
margin: 0;
min-width: 44px;
font-size: 2.4rem;
font-weight: normal;
text-align: left;
}
// Material Design Toolbar Menu Toggle
// --------------------------------------------------
.bar-button-menutoggle {
margin: 0 6px;
padding: 0 2px;
min-width: 44px;
order: map-get($toolbar-order-md, menu-toggle-start);
ion-icon {
padding: 0 6px;
font-size: 2.4rem;
}
}
.bar-button-menutoggle[end],
.bar-button-menutoggle[right] {
margin: 0 2px;
min-width: 28px;
order: map-get($toolbar-order-md, menu-toggle-end);
}
// Material Design Toolbar Color Generation
// --------------------------------------------------
@include md-bar-button-default(default, $bar-button-md-color);
@each $color-name, $color-value in $colors-md {
@include md-toolbar-theme($color-name, $color-value);
@include md-bar-button-default($color-name, $color-value);
@include md-bar-button-outline($color-name, $color-value);
@include md-bar-button-solid($color-name, $color-value);
}