Initial-Release
This commit is contained in:
642
www/lib/ionic/scss/_mixins.scss
Normal file
642
www/lib/ionic/scss/_mixins.scss
Normal file
@@ -0,0 +1,642 @@
|
||||
|
||||
// Button Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin button-style($bg-color, $border-color, $active-bg-color, $active-border-color, $color) {
|
||||
border-color: $border-color;
|
||||
background-color: $bg-color;
|
||||
color: $color;
|
||||
|
||||
// Give desktop users something to play with
|
||||
&:hover {
|
||||
color: $color;
|
||||
text-decoration: none;
|
||||
}
|
||||
&.active,
|
||||
&.activated {
|
||||
@if $active-border-color != ""{
|
||||
border-color: $active-border-color;
|
||||
}
|
||||
background-color: $active-bg-color;
|
||||
//box-shadow: inset 0 1px 4px rgba(0,0,0,0.1);
|
||||
}
|
||||
}
|
||||
|
||||
@mixin button-clear($color, $font-size:"") {
|
||||
&.button-clear {
|
||||
border-color: transparent;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
color: $color;
|
||||
|
||||
@if $font-size != "" {
|
||||
font-size: $font-size;
|
||||
}
|
||||
}
|
||||
&.button-icon {
|
||||
border-color: transparent;
|
||||
background: none;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin button-outline($color, $text-color:"") {
|
||||
&.button-outline {
|
||||
border-color: $color;
|
||||
background: transparent;
|
||||
@if $text-color == "" {
|
||||
$text-color: $color;
|
||||
}
|
||||
color: $text-color;
|
||||
&.active,
|
||||
&.activated {
|
||||
background-color: $color;
|
||||
box-shadow: none;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Bar Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin bar-style($bg-color, $border-color, $color) {
|
||||
border-color: $border-color;
|
||||
background-color: $bg-color;
|
||||
background-image: linear-gradient(0deg, $border-color, $border-color 50%, transparent 50%);
|
||||
color: $color;
|
||||
|
||||
.title {
|
||||
color: $color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Tab Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin tab-style($bg-color, $border-color, $color) {
|
||||
border-color: $border-color;
|
||||
background-color: $bg-color;
|
||||
background-image: linear-gradient(0deg, $border-color, $border-color 50%, transparent 50%);
|
||||
color: $color;
|
||||
}
|
||||
|
||||
@mixin tab-badge-style($bg-color, $color) {
|
||||
.tab-item .badge {
|
||||
background-color: $bg-color;
|
||||
color: $color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Item Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin item-style($bg-color, $border-color, $color) {
|
||||
border-color: $border-color;
|
||||
background-color: $bg-color;
|
||||
color: $color;
|
||||
}
|
||||
|
||||
@mixin item-active-style($active-bg-color, $active-border-color) {
|
||||
border-color: $active-border-color;
|
||||
background-color: $active-bg-color;
|
||||
&.item-complex > .item-content {
|
||||
border-color: $active-border-color;
|
||||
background-color: $active-bg-color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Badge Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin badge-style($bg-color, $color) {
|
||||
background-color: $bg-color;
|
||||
color: $color;
|
||||
}
|
||||
|
||||
|
||||
// Range Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin range-style($track-bg-color) {
|
||||
&::-webkit-slider-thumb:before {
|
||||
background: $track-bg-color;
|
||||
}
|
||||
&::-ms-fill-lower{
|
||||
background: $track-bg-color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Checkbox Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin checkbox-style($off-border-color, $on-bg-color, $on-border-color) {
|
||||
& input:before,
|
||||
& .checkbox-icon:before {
|
||||
border-color: $off-border-color;
|
||||
}
|
||||
|
||||
// what the background looks like when its checked
|
||||
& input:checked:before,
|
||||
& input:checked + .checkbox-icon:before {
|
||||
background: $on-bg-color;
|
||||
border-color: $on-border-color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Toggle Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin toggle-style($on-border-color, $on-bg-color) {
|
||||
// the track when the toggle is "on"
|
||||
& input:checked + .track {
|
||||
border-color: $on-border-color;
|
||||
background-color: $on-bg-color;
|
||||
}
|
||||
}
|
||||
@mixin toggle-small-style($on-bg-color) {
|
||||
// the track when the toggle is "on"
|
||||
& input:checked + .track {
|
||||
background-color: rgba($on-bg-color, .5);
|
||||
}
|
||||
& input:checked + .track .handle {
|
||||
background-color: $on-bg-color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Clearfix
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin clearfix {
|
||||
*zoom: 1;
|
||||
&:before,
|
||||
&:after {
|
||||
display: table;
|
||||
content: "";
|
||||
line-height: 0;
|
||||
}
|
||||
&:after {
|
||||
clear: both;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Placeholder text
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin placeholder($color: $input-color-placeholder, $text-indent: 0) {
|
||||
&::-moz-placeholder { // Firefox 19+
|
||||
color: $color;
|
||||
}
|
||||
&:-ms-input-placeholder {
|
||||
color: $color;
|
||||
}
|
||||
&::-webkit-input-placeholder {
|
||||
color: $color;
|
||||
// Safari placeholder margin issue
|
||||
text-indent: $text-indent;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Text Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin text-size-adjust($value: none) {
|
||||
-webkit-text-size-adjust: $value;
|
||||
-moz-text-size-adjust: $value;
|
||||
text-size-adjust: $value;
|
||||
}
|
||||
@mixin tap-highlight-transparent() {
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
-webkit-tap-highlight-color: transparent; // For some Androids
|
||||
}
|
||||
@mixin touch-callout($value: none) {
|
||||
-webkit-touch-callout: $value;
|
||||
}
|
||||
|
||||
|
||||
// Font Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin font-family-serif() {
|
||||
font-family: $serif-font-family;
|
||||
}
|
||||
@mixin font-family-sans-serif() {
|
||||
font-family: $sans-font-family;
|
||||
}
|
||||
@mixin font-family-monospace() {
|
||||
font-family: $mono-font-family;
|
||||
}
|
||||
@mixin font-shorthand($size: $base-font-size, $weight: normal, $line-height: $base-line-height) {
|
||||
font-weight: $weight;
|
||||
font-size: $size;
|
||||
line-height: $line-height;
|
||||
}
|
||||
@mixin font-serif($size: $base-font-size, $weight: normal, $line-height: $base-line-height) {
|
||||
@include font-family-serif();
|
||||
@include font-shorthand($size, $weight, $line-height);
|
||||
}
|
||||
@mixin font-sans-serif($size: $base-font-size, $weight: normal, $line-height: $base-line-height) {
|
||||
@include font-family-sans-serif();
|
||||
@include font-shorthand($size, $weight, $line-height);
|
||||
}
|
||||
@mixin font-monospace($size: $base-font-size, $weight: normal, $line-height: $base-line-height) {
|
||||
@include font-family-monospace();
|
||||
@include font-shorthand($size, $weight, $line-height);
|
||||
}
|
||||
@mixin font-smoothing($font-smoothing) {
|
||||
-webkit-font-smoothing: $font-smoothing;
|
||||
font-smoothing: $font-smoothing;
|
||||
}
|
||||
|
||||
|
||||
// Appearance
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin appearance($val) {
|
||||
-webkit-appearance: $val;
|
||||
-moz-appearance: $val;
|
||||
appearance: $val;
|
||||
}
|
||||
|
||||
|
||||
// Border Radius Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin border-radius($radius) {
|
||||
-webkit-border-radius: $radius;
|
||||
border-radius: $radius;
|
||||
}
|
||||
|
||||
// Single Corner Border Radius
|
||||
@mixin border-top-left-radius($radius) {
|
||||
-webkit-border-top-left-radius: $radius;
|
||||
border-top-left-radius: $radius;
|
||||
}
|
||||
@mixin border-top-right-radius($radius) {
|
||||
-webkit-border-top-right-radius: $radius;
|
||||
border-top-right-radius: $radius;
|
||||
}
|
||||
@mixin border-bottom-right-radius($radius) {
|
||||
-webkit-border-bottom-right-radius: $radius;
|
||||
border-bottom-right-radius: $radius;
|
||||
}
|
||||
@mixin border-bottom-left-radius($radius) {
|
||||
-webkit-border-bottom-left-radius: $radius;
|
||||
border-bottom-left-radius: $radius;
|
||||
}
|
||||
|
||||
// Single Side Border Radius
|
||||
@mixin border-top-radius($radius) {
|
||||
@include border-top-right-radius($radius);
|
||||
@include border-top-left-radius($radius);
|
||||
}
|
||||
@mixin border-right-radius($radius) {
|
||||
@include border-top-right-radius($radius);
|
||||
@include border-bottom-right-radius($radius);
|
||||
}
|
||||
@mixin border-bottom-radius($radius) {
|
||||
@include border-bottom-right-radius($radius);
|
||||
@include border-bottom-left-radius($radius);
|
||||
}
|
||||
@mixin border-left-radius($radius) {
|
||||
@include border-top-left-radius($radius);
|
||||
@include border-bottom-left-radius($radius);
|
||||
}
|
||||
|
||||
|
||||
// Box shadows
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin box-shadow($shadow...) {
|
||||
-webkit-box-shadow: $shadow;
|
||||
box-shadow: $shadow;
|
||||
}
|
||||
|
||||
|
||||
// Transition Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin transition($transition...) {
|
||||
-webkit-transition: $transition;
|
||||
transition: $transition;
|
||||
}
|
||||
@mixin transition-delay($transition-delay) {
|
||||
-webkit-transition-delay: $transition-delay;
|
||||
transition-delay: $transition-delay;
|
||||
}
|
||||
@mixin transition-duration($transition-duration) {
|
||||
-webkit-transition-duration: $transition-duration;
|
||||
transition-duration: $transition-duration;
|
||||
}
|
||||
@mixin transition-timing-function($transition-timing) {
|
||||
-webkit-transition-timing-function: $transition-timing;
|
||||
transition-timing-function: $transition-timing;
|
||||
}
|
||||
@mixin transition-property($property) {
|
||||
-webkit-transition-property: $property;
|
||||
transition-property: $property;
|
||||
}
|
||||
@mixin transition-transform($properties...) {
|
||||
// special case cuz of transform vendor prefixes
|
||||
-webkit-transition: -webkit-transform $properties;
|
||||
transition: transform $properties;
|
||||
}
|
||||
|
||||
|
||||
// Animation Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin animation($animation) {
|
||||
-webkit-animation: $animation;
|
||||
animation: $animation;
|
||||
}
|
||||
@mixin animation-duration($duration) {
|
||||
-webkit-animation-duration: $duration;
|
||||
animation-duration: $duration;
|
||||
}
|
||||
@mixin animation-direction($direction) {
|
||||
-webkit-animation-direction: $direction;
|
||||
animation-direction: $direction;
|
||||
}
|
||||
@mixin animation-timing-function($animation-timing) {
|
||||
-webkit-animation-timing-function: $animation-timing;
|
||||
animation-timing-function: $animation-timing;
|
||||
}
|
||||
@mixin animation-fill-mode($fill-mode) {
|
||||
-webkit-animation-fill-mode: $fill-mode;
|
||||
animation-fill-mode: $fill-mode;
|
||||
}
|
||||
@mixin animation-name($name...) {
|
||||
-webkit-animation-name: $name;
|
||||
animation-name: $name;
|
||||
}
|
||||
@mixin animation-iteration-count($count) {
|
||||
-webkit-animation-iteration-count: $count;
|
||||
animation-iteration-count: $count;
|
||||
}
|
||||
|
||||
|
||||
// Transformation Mixins
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin rotate($degrees) {
|
||||
@include transform( rotate($degrees) );
|
||||
}
|
||||
@mixin scale($ratio) {
|
||||
@include transform( scale($ratio) );
|
||||
}
|
||||
@mixin translate($x, $y) {
|
||||
@include transform( translate($x, $y) );
|
||||
}
|
||||
@mixin skew($x, $y) {
|
||||
@include transform( skew($x, $y) );
|
||||
-webkit-backface-visibility: hidden;
|
||||
}
|
||||
@mixin translate3d($x, $y, $z) {
|
||||
@include transform( translate3d($x, $y, $z) );
|
||||
}
|
||||
@mixin translateZ($z) {
|
||||
@include transform( translateZ($z) );
|
||||
}
|
||||
@mixin transform($val) {
|
||||
-webkit-transform: $val;
|
||||
transform: $val;
|
||||
}
|
||||
|
||||
@mixin transform-origin($left, $top) {
|
||||
-webkit-transform-origin: $left $top;
|
||||
transform-origin: $left $top;
|
||||
}
|
||||
|
||||
|
||||
// Backface visibility
|
||||
// --------------------------------------------------
|
||||
// Prevent browsers from flickering when using CSS 3D transforms.
|
||||
// Default value is `visible`, but can be changed to `hidden
|
||||
|
||||
@mixin backface-visibility($visibility){
|
||||
-webkit-backface-visibility: $visibility;
|
||||
backface-visibility: $visibility;
|
||||
}
|
||||
|
||||
|
||||
// Background clipping
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin background-clip($clip) {
|
||||
-webkit-background-clip: $clip;
|
||||
background-clip: $clip;
|
||||
}
|
||||
|
||||
|
||||
// Background sizing
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin background-size($size) {
|
||||
-webkit-background-size: $size;
|
||||
background-size: $size;
|
||||
}
|
||||
|
||||
|
||||
// Box sizing
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin box-sizing($boxmodel) {
|
||||
-webkit-box-sizing: $boxmodel;
|
||||
-moz-box-sizing: $boxmodel;
|
||||
box-sizing: $boxmodel;
|
||||
}
|
||||
|
||||
|
||||
// User select
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin user-select($select) {
|
||||
-webkit-user-select: $select;
|
||||
-moz-user-select: $select;
|
||||
-ms-user-select: $select;
|
||||
user-select: $select;
|
||||
}
|
||||
|
||||
|
||||
// Content Columns
|
||||
// --------------------------------------------------
|
||||
|
||||
@mixin content-columns($columnCount, $columnGap: $grid-gutter-width) {
|
||||
-webkit-column-count: $columnCount;
|
||||
-moz-column-count: $columnCount;
|
||||
column-count: $columnCount;
|
||||
-webkit-column-gap: $columnGap;
|
||||
-moz-column-gap: $columnGap;
|
||||
column-gap: $columnGap;
|
||||
}
|
||||
|
||||
|
||||
// Flexbox Mixins
|
||||
// --------------------------------------------------
|
||||
// http://philipwalton.github.io/solved-by-flexbox/
|
||||
// https://github.com/philipwalton/solved-by-flexbox
|
||||
|
||||
@mixin display-flex {
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -moz-box;
|
||||
display: -moz-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
@mixin display-inline-flex {
|
||||
display: -webkit-inline-box;
|
||||
display: -webkit-inline-flex;
|
||||
display: -moz-inline-flex;
|
||||
display: -ms-inline-flexbox;
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
@mixin flex-direction($value: row) {
|
||||
@if $value == row-reverse {
|
||||
-webkit-box-direction: reverse;
|
||||
-webkit-box-orient: horizontal;
|
||||
} @else if $value == column {
|
||||
-webkit-box-direction: normal;
|
||||
-webkit-box-orient: vertical;
|
||||
} @else if $value == column-reverse {
|
||||
-webkit-box-direction: reverse;
|
||||
-webkit-box-orient: vertical;
|
||||
} @else {
|
||||
-webkit-box-direction: normal;
|
||||
-webkit-box-orient: horizontal;
|
||||
}
|
||||
-webkit-flex-direction: $value;
|
||||
-moz-flex-direction: $value;
|
||||
-ms-flex-direction: $value;
|
||||
flex-direction: $value;
|
||||
}
|
||||
|
||||
@mixin flex-wrap($value: nowrap) {
|
||||
// No Webkit Box fallback.
|
||||
-webkit-flex-wrap: $value;
|
||||
-moz-flex-wrap: $value;
|
||||
@if $value == nowrap {
|
||||
-ms-flex-wrap: none;
|
||||
} @else {
|
||||
-ms-flex-wrap: $value;
|
||||
}
|
||||
flex-wrap: $value;
|
||||
}
|
||||
|
||||
@mixin flex($fg: 1, $fs: null, $fb: null) {
|
||||
-webkit-box-flex: $fg;
|
||||
-webkit-flex: $fg $fs $fb;
|
||||
-moz-box-flex: $fg;
|
||||
-moz-flex: $fg $fs $fb;
|
||||
-ms-flex: $fg $fs $fb;
|
||||
flex: $fg $fs $fb;
|
||||
}
|
||||
|
||||
@mixin flex-flow($values: (row nowrap)) {
|
||||
// No Webkit Box fallback.
|
||||
-webkit-flex-flow: $values;
|
||||
-moz-flex-flow: $values;
|
||||
-ms-flex-flow: $values;
|
||||
flex-flow: $values;
|
||||
}
|
||||
|
||||
@mixin align-items($value: stretch) {
|
||||
@if $value == flex-start {
|
||||
-webkit-box-align: start;
|
||||
-ms-flex-align: start;
|
||||
} @else if $value == flex-end {
|
||||
-webkit-box-align: end;
|
||||
-ms-flex-align: end;
|
||||
} @else {
|
||||
-webkit-box-align: $value;
|
||||
-ms-flex-align: $value;
|
||||
}
|
||||
-webkit-align-items: $value;
|
||||
-moz-align-items: $value;
|
||||
align-items: $value;
|
||||
}
|
||||
|
||||
@mixin align-self($value: auto) {
|
||||
-webkit-align-self: $value;
|
||||
-moz-align-self: $value;
|
||||
@if $value == flex-start {
|
||||
-ms-flex-item-align: start;
|
||||
} @else if $value == flex-end {
|
||||
-ms-flex-item-align: end;
|
||||
} @else {
|
||||
-ms-flex-item-align: $value;
|
||||
}
|
||||
align-self: $value;
|
||||
}
|
||||
|
||||
@mixin align-content($value: stretch) {
|
||||
-webkit-align-content: $value;
|
||||
-moz-align-content: $value;
|
||||
@if $value == flex-start {
|
||||
-ms-flex-line-pack: start;
|
||||
} @else if $value == flex-end {
|
||||
-ms-flex-line-pack: end;
|
||||
} @else {
|
||||
-ms-flex-line-pack: $value;
|
||||
}
|
||||
align-content: $value;
|
||||
}
|
||||
|
||||
@mixin justify-content($value: stretch) {
|
||||
@if $value == flex-start {
|
||||
-webkit-box-pack: start;
|
||||
-ms-flex-pack: start;
|
||||
} @else if $value == flex-end {
|
||||
-webkit-box-pack: end;
|
||||
-ms-flex-pack: end;
|
||||
} @else if $value == space-between {
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
} @else {
|
||||
-webkit-box-pack: $value;
|
||||
-ms-flex-pack: $value;
|
||||
}
|
||||
-webkit-justify-content: $value;
|
||||
-moz-justify-content: $value;
|
||||
justify-content: $value;
|
||||
}
|
||||
|
||||
@mixin flex-order($n) {
|
||||
-webkit-order: $n;
|
||||
-ms-flex-order: $n;
|
||||
order: $n;
|
||||
-webkit-box-ordinal-group: $n;
|
||||
}
|
||||
|
||||
@mixin responsive-grid-break($selector, $max-width) {
|
||||
@media (max-width: $max-width) {
|
||||
#{$selector} {
|
||||
-webkit-box-direction: normal;
|
||||
-moz-box-direction: normal;
|
||||
-webkit-box-orient: vertical;
|
||||
-moz-box-orient: vertical;
|
||||
-webkit-flex-direction: column;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
|
||||
.col, .col-10, .col-20, .col-25, .col-33, .col-34, .col-50, .col-66, .col-67, .col-75, .col-80, .col-90 {
|
||||
@include flex(1);
|
||||
margin-bottom: ($grid-padding-width * 3) / 2;
|
||||
margin-left: 0;
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user