2017-08-23 10:07:14 +00:00
|
|
|
@import "function";
|
|
|
|
@import "../common/var";
|
|
|
|
|
|
|
|
/* Flex
|
|
|
|
-------------------------- */
|
|
|
|
@mixin flex-center {
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
@mixin flex-left-center {
|
|
|
|
justify-content: flex-start;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
|
2017-09-14 03:34:13 +00:00
|
|
|
/* Scrollbar
|
|
|
|
-------------------------- */
|
|
|
|
@mixin scroll-bar {
|
|
|
|
$--scrollbar-thumb-background: #b4bccc;
|
2017-09-22 06:30:44 +00:00
|
|
|
$--scrollbar-track-background: #fff;
|
2017-09-14 03:34:13 +00:00
|
|
|
|
|
|
|
&::-webkit-scrollbar {
|
|
|
|
z-index: 11;
|
|
|
|
width: 6px;
|
2017-08-23 10:07:14 +00:00
|
|
|
|
2017-09-14 03:34:13 +00:00
|
|
|
&:horizontal {
|
|
|
|
height: 6px;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-thumb {
|
|
|
|
border-radius: 5px;
|
2017-09-22 06:30:44 +00:00
|
|
|
width: 6px;
|
2017-09-14 03:34:13 +00:00
|
|
|
background: $--scrollbar-thumb-background;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-corner {
|
|
|
|
background: $--scrollbar-track-background;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-track {
|
|
|
|
background: $--scrollbar-track-background;
|
2017-09-22 06:30:44 +00:00
|
|
|
|
|
|
|
&-piece {
|
|
|
|
background: $--scrollbar-track-background;
|
|
|
|
width: 6px;
|
|
|
|
}
|
2017-09-14 03:34:13 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Placeholder
|
2017-08-23 10:07:14 +00:00
|
|
|
-------------------------- */
|
|
|
|
@mixin placeholder {
|
|
|
|
&::-webkit-input-placeholder {
|
|
|
|
@content
|
|
|
|
}
|
2017-09-14 03:34:13 +00:00
|
|
|
|
2017-08-23 10:07:14 +00:00
|
|
|
&::-moz-placeholder {
|
|
|
|
@content
|
|
|
|
}
|
2017-09-14 03:34:13 +00:00
|
|
|
|
2017-08-23 10:07:14 +00:00
|
|
|
&:-ms-input-placeholder {
|
|
|
|
@content
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* BEM
|
|
|
|
-------------------------- */
|
|
|
|
@mixin b($block) {
|
|
|
|
$B: $namespace+'-'+$block !global;
|
|
|
|
|
|
|
|
.#{$B} {
|
|
|
|
@content;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@mixin e($element) {
|
|
|
|
$E: $element !global;
|
|
|
|
$selector: &;
|
|
|
|
$currentSelector: "";
|
|
|
|
@each $unit in $element {
|
|
|
|
$currentSelector: #{$currentSelector + "." + $B + $element-separator + $unit + ","};
|
|
|
|
}
|
|
|
|
|
|
|
|
@if hitAllSpecialNestRule($selector) {
|
|
|
|
@at-root {
|
|
|
|
#{$selector} {
|
|
|
|
#{$currentSelector} {
|
|
|
|
@content;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} @else {
|
|
|
|
@at-root {
|
|
|
|
#{$currentSelector} {
|
|
|
|
@content;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@mixin m($modifier) {
|
|
|
|
$selector: &;
|
|
|
|
$currentSelector: "";
|
|
|
|
@each $unit in $modifier {
|
|
|
|
$currentSelector: #{$currentSelector + & + $modifier-separator + $unit + ","};
|
|
|
|
}
|
|
|
|
|
|
|
|
@at-root {
|
|
|
|
#{$currentSelector} {
|
|
|
|
@content;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@mixin configurable-m($modifier, $E-flag: false) {
|
|
|
|
$selector: &;
|
|
|
|
$interpolation: '';
|
|
|
|
|
|
|
|
@if $E-flag {
|
|
|
|
$interpolation: $element-separator + $E-flag;
|
|
|
|
}
|
|
|
|
|
|
|
|
@at-root {
|
|
|
|
#{$selector} {
|
|
|
|
.#{$B+$interpolation+$modifier-separator+$modifier} {
|
|
|
|
@content;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@mixin spec-selector($specSelector: '', $element: $E, $modifier: false, $block: $B) {
|
|
|
|
$modifierCombo: '';
|
|
|
|
|
|
|
|
@if $modifier {
|
|
|
|
$modifierCombo: $modifier-separator + $modifier;
|
|
|
|
}
|
|
|
|
|
|
|
|
@at-root {
|
|
|
|
#{&}#{$specSelector}.#{$block+$element-separator+$element+$modifierCombo} {
|
|
|
|
@content
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@mixin meb($modifier: false, $element: $E, $block: $B) {
|
|
|
|
$selector: &;
|
|
|
|
$modifierCombo: '';
|
|
|
|
|
|
|
|
@if $modifier {
|
|
|
|
$modifierCombo: $modifier-separator + $modifier;
|
|
|
|
}
|
|
|
|
|
|
|
|
@at-root {
|
|
|
|
#{$selector} {
|
|
|
|
.#{$block+$element-separator+$element+$modifierCombo} {
|
|
|
|
@content
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@mixin when($state) {
|
|
|
|
$selector: &;
|
|
|
|
|
|
|
|
@at-root {
|
|
|
|
#{$selector}.#{$state-prefix + $state} {
|
|
|
|
@content;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@mixin extend-rule($name) {
|
|
|
|
@extend #{'%shared-'+$name};
|
|
|
|
}
|
|
|
|
|
|
|
|
@mixin share-rule($name) {
|
|
|
|
$rule-name: '%shared-'+$name;
|
|
|
|
|
|
|
|
@at-root #{$rule-name} {
|
|
|
|
@content
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@mixin pseudo($pseudo) {
|
|
|
|
@at-root #{&}#{':#{$pseudo}'} {
|
|
|
|
@content
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|