Blame | Last modification | View Log | RSS feed
// 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 {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;}// 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;}}// 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;}}// 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 issuetext-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%;}}}}