bourbon 4.0.2 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +6 -6
- data/.npmignore +12 -9
- data/CONTRIBUTING.md +34 -0
- data/Gemfile +0 -1
- data/{LICENSE → LICENSE.md} +3 -3
- data/README.md +130 -0
- data/app/assets/stylesheets/_bourbon-deprecated-upcoming.scss +399 -5
- data/app/assets/stylesheets/_bourbon.scss +14 -7
- data/app/assets/stylesheets/addons/_clearfix.scss +11 -16
- data/app/assets/stylesheets/addons/_ellipsis.scss +1 -0
- data/app/assets/stylesheets/addons/_hide-text.scss +4 -2
- data/app/assets/stylesheets/addons/_html5-input-types.scss +4 -0
- data/app/assets/stylesheets/addons/_position.scss +13 -19
- data/app/assets/stylesheets/addons/_size.scss +17 -7
- data/app/assets/stylesheets/addons/_word-wrap.scss +3 -1
- data/app/assets/stylesheets/css3/_background.scss +1 -1
- data/app/assets/stylesheets/css3/_border-radius.scss +14 -14
- data/app/assets/stylesheets/css3/_flex-box.scss +151 -152
- data/app/assets/stylesheets/css3/_font-face.scss +17 -16
- data/app/assets/stylesheets/css3/_hidpi-media-query.scss +2 -2
- data/app/assets/stylesheets/css3/_selection.scss +14 -0
- data/app/assets/stylesheets/css3/_text-decoration.scss +19 -0
- data/app/assets/stylesheets/functions/_contains.scss +12 -0
- data/app/assets/stylesheets/functions/_is-length.scss +7 -0
- data/app/assets/stylesheets/functions/_is-size.scss +6 -0
- data/app/assets/stylesheets/functions/_modular-scale.scss +4 -1
- data/app/assets/stylesheets/helpers/_font-source-declaration.scss +36 -0
- data/app/assets/stylesheets/helpers/_is-num.scss +4 -7
- data/bourbon.gemspec +13 -16
- data/bower.json +25 -8
- data/lib/bourbon/version.rb +1 -1
- data/package.json +18 -14
- data/sache.json +5 -0
- metadata +40 -108
- data/Gemfile.lock +0 -49
- data/app/assets/stylesheets/addons/_button.scss +0 -374
- data/app/assets/stylesheets/functions/_flex-grid.scss +0 -39
- data/app/assets/stylesheets/functions/_golden-ratio.scss +0 -3
- data/app/assets/stylesheets/functions/_grid-width.scss +0 -13
- data/dist/_bourbon-deprecated-upcoming.scss +0 -8
- data/dist/_bourbon.scss +0 -79
- data/dist/addons/_button.scss +0 -374
- data/dist/addons/_clearfix.scss +0 -23
- data/dist/addons/_directional-values.scss +0 -111
- data/dist/addons/_ellipsis.scss +0 -7
- data/dist/addons/_font-family.scss +0 -5
- data/dist/addons/_hide-text.scss +0 -10
- data/dist/addons/_html5-input-types.scss +0 -86
- data/dist/addons/_position.scss +0 -32
- data/dist/addons/_prefixer.scss +0 -45
- data/dist/addons/_retina-image.scss +0 -31
- data/dist/addons/_size.scss +0 -16
- data/dist/addons/_timing-functions.scss +0 -32
- data/dist/addons/_triangle.scss +0 -83
- data/dist/addons/_word-wrap.scss +0 -8
- data/dist/css3/_animation.scss +0 -52
- data/dist/css3/_appearance.scss +0 -3
- data/dist/css3/_backface-visibility.scss +0 -6
- data/dist/css3/_background-image.scss +0 -42
- data/dist/css3/_background.scss +0 -55
- data/dist/css3/_border-image.scss +0 -59
- data/dist/css3/_border-radius.scss +0 -22
- data/dist/css3/_box-sizing.scss +0 -4
- data/dist/css3/_calc.scss +0 -4
- data/dist/css3/_columns.scss +0 -47
- data/dist/css3/_filter.scss +0 -5
- data/dist/css3/_flex-box.scss +0 -321
- data/dist/css3/_font-face.scss +0 -23
- data/dist/css3/_font-feature-settings.scss +0 -10
- data/dist/css3/_hidpi-media-query.scss +0 -10
- data/dist/css3/_hyphens.scss +0 -4
- data/dist/css3/_image-rendering.scss +0 -14
- data/dist/css3/_keyframes.scss +0 -35
- data/dist/css3/_linear-gradient.scss +0 -38
- data/dist/css3/_perspective.scss +0 -8
- data/dist/css3/_placeholder.scss +0 -8
- data/dist/css3/_radial-gradient.scss +0 -39
- data/dist/css3/_transform.scss +0 -15
- data/dist/css3/_transition.scss +0 -77
- data/dist/css3/_user-select.scss +0 -3
- data/dist/functions/_assign.scss +0 -11
- data/dist/functions/_color-lightness.scss +0 -13
- data/dist/functions/_flex-grid.scss +0 -39
- data/dist/functions/_golden-ratio.scss +0 -3
- data/dist/functions/_grid-width.scss +0 -13
- data/dist/functions/_modular-scale.scss +0 -66
- data/dist/functions/_px-to-em.scss +0 -13
- data/dist/functions/_px-to-rem.scss +0 -15
- data/dist/functions/_strip-units.scss +0 -5
- data/dist/functions/_tint-shade.scss +0 -9
- data/dist/functions/_transition-property-name.scss +0 -22
- data/dist/functions/_unpack.scss +0 -17
- data/dist/helpers/_convert-units.scss +0 -15
- data/dist/helpers/_gradient-positions-parser.scss +0 -13
- data/dist/helpers/_is-num.scss +0 -8
- data/dist/helpers/_linear-angle-parser.scss +0 -25
- data/dist/helpers/_linear-gradient-parser.scss +0 -41
- data/dist/helpers/_linear-positions-parser.scss +0 -61
- data/dist/helpers/_linear-side-corner-parser.scss +0 -31
- data/dist/helpers/_radial-arg-parser.scss +0 -69
- data/dist/helpers/_radial-gradient-parser.scss +0 -50
- data/dist/helpers/_radial-positions-parser.scss +0 -18
- data/dist/helpers/_render-gradients.scss +0 -26
- data/dist/helpers/_shape-size-stripper.scss +0 -10
- data/dist/helpers/_str-to-num.scss +0 -50
- data/dist/settings/_asset-pipeline.scss +0 -1
- data/dist/settings/_prefixer.scss +0 -6
- data/dist/settings/_px-to-em.scss +0 -1
- data/readme.md +0 -105
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
@function grid-width($n) {
|
|
2
|
-
@return $n * $gw-column + ($n - 1) * $gw-gutter;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
// The $gw-column and $gw-gutter variables must be defined in your base stylesheet to properly use the grid-width function.
|
|
6
|
-
//
|
|
7
|
-
// $gw-column: 100px; // Column Width
|
|
8
|
-
// $gw-gutter: 40px; // Gutter Width
|
|
9
|
-
//
|
|
10
|
-
// div {
|
|
11
|
-
// width: grid-width(4); // returns 520px;
|
|
12
|
-
// margin-left: $gw-gutter; // returns 40px;
|
|
13
|
-
// }
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
// Scaling Variables
|
|
2
|
-
$golden: 1.618;
|
|
3
|
-
$minor-second: 1.067;
|
|
4
|
-
$major-second: 1.125;
|
|
5
|
-
$minor-third: 1.2;
|
|
6
|
-
$major-third: 1.25;
|
|
7
|
-
$perfect-fourth: 1.333;
|
|
8
|
-
$augmented-fourth: 1.414;
|
|
9
|
-
$perfect-fifth: 1.5;
|
|
10
|
-
$minor-sixth: 1.6;
|
|
11
|
-
$major-sixth: 1.667;
|
|
12
|
-
$minor-seventh: 1.778;
|
|
13
|
-
$major-seventh: 1.875;
|
|
14
|
-
$octave: 2;
|
|
15
|
-
$major-tenth: 2.5;
|
|
16
|
-
$major-eleventh: 2.667;
|
|
17
|
-
$major-twelfth: 3;
|
|
18
|
-
$double-octave: 4;
|
|
19
|
-
|
|
20
|
-
@function modular-scale($value, $increment, $ratio) {
|
|
21
|
-
$v1: nth($value, 1);
|
|
22
|
-
$v2: nth($value, length($value));
|
|
23
|
-
$value: $v1;
|
|
24
|
-
|
|
25
|
-
// scale $v2 to just above $v1
|
|
26
|
-
@while $v2 > $v1 {
|
|
27
|
-
$v2: ($v2 / $ratio); // will be off-by-1
|
|
28
|
-
}
|
|
29
|
-
@while $v2 < $v1 {
|
|
30
|
-
$v2: ($v2 * $ratio); // will fix off-by-1
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// check AFTER scaling $v2 to prevent double-counting corner-case
|
|
34
|
-
$double-stranded: $v2 > $v1;
|
|
35
|
-
|
|
36
|
-
@if $increment > 0 {
|
|
37
|
-
@for $i from 1 through $increment {
|
|
38
|
-
@if $double-stranded and ($v1 * $ratio) > $v2 {
|
|
39
|
-
$value: $v2;
|
|
40
|
-
$v2: ($v2 * $ratio);
|
|
41
|
-
} @else {
|
|
42
|
-
$v1: ($v1 * $ratio);
|
|
43
|
-
$value: $v1;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@if $increment < 0 {
|
|
49
|
-
// adjust $v2 to just below $v1
|
|
50
|
-
@if $double-stranded {
|
|
51
|
-
$v2: ($v2 / $ratio);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
@for $i from $increment through -1 {
|
|
55
|
-
@if $double-stranded and ($v1 / $ratio) < $v2 {
|
|
56
|
-
$value: $v2;
|
|
57
|
-
$v2: ($v2 / $ratio);
|
|
58
|
-
} @else {
|
|
59
|
-
$v1: ($v1 / $ratio);
|
|
60
|
-
$value: $v1;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
@return $value;
|
|
66
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// Convert pixels to ems
|
|
2
|
-
// eg. for a relational value of 12px write em(12) when the parent is 16px
|
|
3
|
-
// if the parent is another value say 24px write em(12, 24)
|
|
4
|
-
|
|
5
|
-
@function em($pxval, $base: $em-base) {
|
|
6
|
-
@if not unitless($pxval) {
|
|
7
|
-
$pxval: strip-units($pxval);
|
|
8
|
-
}
|
|
9
|
-
@if not unitless($base) {
|
|
10
|
-
$base: strip-units($base);
|
|
11
|
-
}
|
|
12
|
-
@return ($pxval / $base) * 1em;
|
|
13
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
// Convert pixels to rems
|
|
2
|
-
// eg. for a relational value of 12px write rem(12)
|
|
3
|
-
// Assumes $em-base is the font-size of <html>
|
|
4
|
-
|
|
5
|
-
@function rem($pxval) {
|
|
6
|
-
@if not unitless($pxval) {
|
|
7
|
-
$pxval: strip-units($pxval);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
$base: $em-base;
|
|
11
|
-
@if not unitless($base) {
|
|
12
|
-
$base: strip-units($base);
|
|
13
|
-
}
|
|
14
|
-
@return ($pxval / $base) * 1rem;
|
|
15
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// Return vendor-prefixed property names if appropriate
|
|
2
|
-
// Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background
|
|
3
|
-
//************************************************************************//
|
|
4
|
-
@function transition-property-names($props, $vendor: false) {
|
|
5
|
-
$new-props: ();
|
|
6
|
-
|
|
7
|
-
@each $prop in $props {
|
|
8
|
-
$new-props: append($new-props, transition-property-name($prop, $vendor), comma);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
@return $new-props;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
@function transition-property-name($prop, $vendor: false) {
|
|
15
|
-
// put other properties that need to be prefixed here aswell
|
|
16
|
-
@if $vendor and $prop == transform {
|
|
17
|
-
@return unquote('-'+$vendor+'-'+$prop);
|
|
18
|
-
}
|
|
19
|
-
@else {
|
|
20
|
-
@return $prop;
|
|
21
|
-
}
|
|
22
|
-
}
|
data/dist/functions/_unpack.scss
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// Convert shorthand to the 4-value syntax
|
|
2
|
-
|
|
3
|
-
@function unpack($shorthand) {
|
|
4
|
-
@if length($shorthand) == 1 {
|
|
5
|
-
@return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1);
|
|
6
|
-
}
|
|
7
|
-
@else if length($shorthand) == 2 {
|
|
8
|
-
@return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2);
|
|
9
|
-
}
|
|
10
|
-
@else if length($shorthand) == 3 {
|
|
11
|
-
@return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2);
|
|
12
|
-
}
|
|
13
|
-
@else {
|
|
14
|
-
@return $shorthand;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
//************************************************************************//
|
|
2
|
-
// Helper function for str-to-num fn.
|
|
3
|
-
// Source: http://sassmeister.com/gist/9647408
|
|
4
|
-
//************************************************************************//
|
|
5
|
-
@function _convert-units($number, $unit) {
|
|
6
|
-
$strings: 'px' 'cm' 'mm' '%' 'ch' 'pica' 'in' 'em' 'rem' 'pt' 'pc' 'ex' 'vw' 'vh' 'vmin' 'vmax', 'deg', 'rad', 'grad', 'turn';
|
|
7
|
-
$units: 1px 1cm 1mm 1% 1ch 1pica 1in 1em 1rem 1pt 1pc 1ex 1vw 1vh 1vmin 1vmax, 1deg, 1rad, 1grad, 1turn;
|
|
8
|
-
$index: index($strings, $unit);
|
|
9
|
-
|
|
10
|
-
@if not $index {
|
|
11
|
-
@warn "Unknown unit `#{$unit}`.";
|
|
12
|
-
@return false;
|
|
13
|
-
}
|
|
14
|
-
@return $number * nth($units, $index);
|
|
15
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
@function _gradient-positions-parser($gradient-type, $gradient-positions) {
|
|
2
|
-
@if $gradient-positions
|
|
3
|
-
and ($gradient-type == linear)
|
|
4
|
-
and (type-of($gradient-positions) != color) {
|
|
5
|
-
$gradient-positions: _linear-positions-parser($gradient-positions);
|
|
6
|
-
}
|
|
7
|
-
@else if $gradient-positions
|
|
8
|
-
and ($gradient-type == radial)
|
|
9
|
-
and (type-of($gradient-positions) != color) {
|
|
10
|
-
$gradient-positions: _radial-positions-parser($gradient-positions);
|
|
11
|
-
}
|
|
12
|
-
@return $gradient-positions;
|
|
13
|
-
}
|
data/dist/helpers/_is-num.scss
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
//************************************************************************//
|
|
2
|
-
// Helper for linear-gradient-parser
|
|
3
|
-
//************************************************************************//
|
|
4
|
-
@function _is-num($char) {
|
|
5
|
-
$values: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 0 1 2 3 4 5 6 7 8 9;
|
|
6
|
-
$index: index($values, $char);
|
|
7
|
-
@return if($index, true, false);
|
|
8
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// Private function for linear-gradient-parser
|
|
2
|
-
@function _linear-angle-parser($image, $first-val, $prefix, $suffix) {
|
|
3
|
-
$offset: null;
|
|
4
|
-
$unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val));
|
|
5
|
-
$unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val));
|
|
6
|
-
|
|
7
|
-
@if ($unit-long == "grad") or
|
|
8
|
-
($unit-long == "turn") {
|
|
9
|
-
$offset: if($unit-long == "grad", -100grad * 3, -0.75turn);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
@else if ($unit-short == "deg") or
|
|
13
|
-
($unit-short == "rad") {
|
|
14
|
-
$offset: if($unit-short == "deg", -90 * 3, 1.6rad);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@if $offset {
|
|
18
|
-
$num: _str-to-num($first-val);
|
|
19
|
-
|
|
20
|
-
@return (
|
|
21
|
-
webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix,
|
|
22
|
-
spec-image: $image
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
@function _linear-gradient-parser($image) {
|
|
2
|
-
$image: unquote($image);
|
|
3
|
-
$gradients: ();
|
|
4
|
-
$start: str-index($image, "(");
|
|
5
|
-
$end: str-index($image, ",");
|
|
6
|
-
$first-val: str-slice($image, $start + 1, $end - 1);
|
|
7
|
-
|
|
8
|
-
$prefix: str-slice($image, 0, $start);
|
|
9
|
-
$suffix: str-slice($image, $end, str-length($image));
|
|
10
|
-
|
|
11
|
-
$has-multiple-vals: str-index($first-val, " ");
|
|
12
|
-
$has-single-position: unquote(_position-flipper($first-val) + "");
|
|
13
|
-
$has-angle: _is-num(str-slice($first-val, 0, 0));
|
|
14
|
-
|
|
15
|
-
@if $has-multiple-vals {
|
|
16
|
-
$gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
@else if $has-single-position != "" {
|
|
20
|
-
$pos: unquote($has-single-position + "");
|
|
21
|
-
|
|
22
|
-
$gradients: (
|
|
23
|
-
webkit-image: -webkit- + $image,
|
|
24
|
-
spec-image: $prefix + "to " + $pos + $suffix
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
@else if $has-angle {
|
|
29
|
-
// Rotate degree for webkit
|
|
30
|
-
$gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@else {
|
|
34
|
-
$gradients: (
|
|
35
|
-
webkit-image: -webkit- + $image,
|
|
36
|
-
spec-image: $image
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
@return $gradients;
|
|
41
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
@function _linear-positions-parser($pos) {
|
|
2
|
-
$type: type-of(nth($pos, 1));
|
|
3
|
-
$spec: null;
|
|
4
|
-
$degree: null;
|
|
5
|
-
$side: null;
|
|
6
|
-
$corner: null;
|
|
7
|
-
$length: length($pos);
|
|
8
|
-
// Parse Side and corner positions
|
|
9
|
-
@if ($length > 1) {
|
|
10
|
-
@if nth($pos, 1) == "to" { // Newer syntax
|
|
11
|
-
$side: nth($pos, 2);
|
|
12
|
-
|
|
13
|
-
@if $length == 2 { // eg. to top
|
|
14
|
-
// Swap for backwards compatability
|
|
15
|
-
$degree: _position-flipper(nth($pos, 2));
|
|
16
|
-
}
|
|
17
|
-
@else if $length == 3 { // eg. to top left
|
|
18
|
-
$corner: nth($pos, 3);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
@else if $length == 2 { // Older syntax ("top left")
|
|
22
|
-
$side: _position-flipper(nth($pos, 1));
|
|
23
|
-
$corner: _position-flipper(nth($pos, 2));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") {
|
|
27
|
-
$degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
|
|
28
|
-
}
|
|
29
|
-
@else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") {
|
|
30
|
-
$degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
|
|
31
|
-
}
|
|
32
|
-
@else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") {
|
|
33
|
-
$degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
|
|
34
|
-
}
|
|
35
|
-
@else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") {
|
|
36
|
-
$degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
|
|
37
|
-
}
|
|
38
|
-
$spec: to $side $corner;
|
|
39
|
-
}
|
|
40
|
-
@else if $length == 1 {
|
|
41
|
-
// Swap for backwards compatability
|
|
42
|
-
@if $type == string {
|
|
43
|
-
$degree: $pos;
|
|
44
|
-
$spec: to _position-flipper($pos);
|
|
45
|
-
}
|
|
46
|
-
@else {
|
|
47
|
-
$degree: -270 - $pos; //rotate the gradient opposite from spec
|
|
48
|
-
$spec: $pos;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
$degree: unquote($degree + ",");
|
|
52
|
-
$spec: unquote($spec + ",");
|
|
53
|
-
@return $degree $spec;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
@function _position-flipper($pos) {
|
|
57
|
-
@return if($pos == left, right, null)
|
|
58
|
-
if($pos == right, left, null)
|
|
59
|
-
if($pos == top, bottom, null)
|
|
60
|
-
if($pos == bottom, top, null);
|
|
61
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// Private function for linear-gradient-parser
|
|
2
|
-
@function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) {
|
|
3
|
-
$val-1: str-slice($first-val, 0, $has-multiple-vals - 1 );
|
|
4
|
-
$val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val));
|
|
5
|
-
$val-3: null;
|
|
6
|
-
$has-val-3: str-index($val-2, " ");
|
|
7
|
-
|
|
8
|
-
@if $has-val-3 {
|
|
9
|
-
$val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2));
|
|
10
|
-
$val-2: str-slice($val-2, 0, $has-val-3 - 1);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
$pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3);
|
|
14
|
-
$pos: unquote($pos + "");
|
|
15
|
-
|
|
16
|
-
// Use old spec for webkit
|
|
17
|
-
@if $val-1 == "to" {
|
|
18
|
-
@return (
|
|
19
|
-
webkit-image: -webkit- + $prefix + $pos + $suffix,
|
|
20
|
-
spec-image: $image
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Bring the code up to spec
|
|
25
|
-
@else {
|
|
26
|
-
@return (
|
|
27
|
-
webkit-image: -webkit- + $image,
|
|
28
|
-
spec-image: $prefix + "to " + $pos + $suffix
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
@function _radial-arg-parser($G1, $G2, $pos, $shape-size) {
|
|
2
|
-
@each $value in $G1, $G2 {
|
|
3
|
-
$first-val: nth($value, 1);
|
|
4
|
-
$pos-type: type-of($first-val);
|
|
5
|
-
$spec-at-index: null;
|
|
6
|
-
|
|
7
|
-
// Determine if spec was passed to mixin
|
|
8
|
-
@if type-of($value) == list {
|
|
9
|
-
$spec-at-index: if(index($value, at), index($value, at), false);
|
|
10
|
-
}
|
|
11
|
-
@if $spec-at-index {
|
|
12
|
-
@if $spec-at-index > 1 {
|
|
13
|
-
@for $i from 1 through ($spec-at-index - 1) {
|
|
14
|
-
$shape-size: $shape-size nth($value, $i);
|
|
15
|
-
}
|
|
16
|
-
@for $i from ($spec-at-index + 1) through length($value) {
|
|
17
|
-
$pos: $pos nth($value, $i);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
@else if $spec-at-index == 1 {
|
|
21
|
-
@for $i from ($spec-at-index + 1) through length($value) {
|
|
22
|
-
$pos: $pos nth($value, $i);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
$G1: null;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// If not spec calculate correct values
|
|
29
|
-
@else {
|
|
30
|
-
@if ($pos-type != color) or ($first-val != "transparent") {
|
|
31
|
-
@if ($pos-type == number)
|
|
32
|
-
or ($first-val == "center")
|
|
33
|
-
or ($first-val == "top")
|
|
34
|
-
or ($first-val == "right")
|
|
35
|
-
or ($first-val == "bottom")
|
|
36
|
-
or ($first-val == "left") {
|
|
37
|
-
|
|
38
|
-
$pos: $value;
|
|
39
|
-
|
|
40
|
-
@if $pos == $G1 {
|
|
41
|
-
$G1: null;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
@else if
|
|
46
|
-
($first-val == "ellipse")
|
|
47
|
-
or ($first-val == "circle")
|
|
48
|
-
or ($first-val == "closest-side")
|
|
49
|
-
or ($first-val == "closest-corner")
|
|
50
|
-
or ($first-val == "farthest-side")
|
|
51
|
-
or ($first-val == "farthest-corner")
|
|
52
|
-
or ($first-val == "contain")
|
|
53
|
-
or ($first-val == "cover") {
|
|
54
|
-
|
|
55
|
-
$shape-size: $value;
|
|
56
|
-
|
|
57
|
-
@if $value == $G1 {
|
|
58
|
-
$G1: null;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@else if $value == $G2 {
|
|
62
|
-
$G2: null;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
@return $G1, $G2, $pos, $shape-size;
|
|
69
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
@function _radial-gradient-parser($image) {
|
|
2
|
-
$image: unquote($image);
|
|
3
|
-
$gradients: ();
|
|
4
|
-
$start: str-index($image, "(");
|
|
5
|
-
$end: str-index($image, ",");
|
|
6
|
-
$first-val: str-slice($image, $start + 1, $end - 1);
|
|
7
|
-
|
|
8
|
-
$prefix: str-slice($image, 0, $start);
|
|
9
|
-
$suffix: str-slice($image, $end, str-length($image));
|
|
10
|
-
|
|
11
|
-
$is-spec-syntax: str-index($first-val, "at");
|
|
12
|
-
|
|
13
|
-
@if $is-spec-syntax and $is-spec-syntax > 1 {
|
|
14
|
-
$keyword: str-slice($first-val, 1, $is-spec-syntax - 2);
|
|
15
|
-
$pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val));
|
|
16
|
-
$pos: append($pos, $keyword, comma);
|
|
17
|
-
|
|
18
|
-
$gradients: (
|
|
19
|
-
webkit-image: -webkit- + $prefix + $pos + $suffix,
|
|
20
|
-
spec-image: $image
|
|
21
|
-
)
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@else if $is-spec-syntax == 1 {
|
|
25
|
-
$pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val));
|
|
26
|
-
|
|
27
|
-
$gradients: (
|
|
28
|
-
webkit-image: -webkit- + $prefix + $pos + $suffix,
|
|
29
|
-
spec-image: $image
|
|
30
|
-
)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@else if str-index($image, "cover") or str-index($image, "contain") {
|
|
34
|
-
@warn "Radial-gradient needs to be updated to conform to latest spec.";
|
|
35
|
-
|
|
36
|
-
$gradients: (
|
|
37
|
-
webkit-image: null,
|
|
38
|
-
spec-image: $image
|
|
39
|
-
)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@else {
|
|
43
|
-
$gradients: (
|
|
44
|
-
webkit-image: -webkit- + $image,
|
|
45
|
-
spec-image: $image
|
|
46
|
-
)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
@return $gradients;
|
|
50
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
@function _radial-positions-parser($gradient-pos) {
|
|
2
|
-
$shape-size: nth($gradient-pos, 1);
|
|
3
|
-
$pos: nth($gradient-pos, 2);
|
|
4
|
-
$shape-size-spec: _shape-size-stripper($shape-size);
|
|
5
|
-
|
|
6
|
-
$pre-spec: unquote(if($pos, "#{$pos}, ", null))
|
|
7
|
-
unquote(if($shape-size, "#{$shape-size},", null));
|
|
8
|
-
$pos-spec: if($pos, "at #{$pos}", null);
|
|
9
|
-
|
|
10
|
-
$spec: "#{$shape-size-spec} #{$pos-spec}";
|
|
11
|
-
|
|
12
|
-
// Add comma
|
|
13
|
-
@if ($spec != ' ') {
|
|
14
|
-
$spec: "#{$spec},"
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@return $pre-spec $spec;
|
|
18
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// User for linear and radial gradients within background-image or border-image properties
|
|
2
|
-
|
|
3
|
-
@function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) {
|
|
4
|
-
$pre-spec: null;
|
|
5
|
-
$spec: null;
|
|
6
|
-
$vendor-gradients: null;
|
|
7
|
-
@if $gradient-type == linear {
|
|
8
|
-
@if $gradient-positions {
|
|
9
|
-
$pre-spec: nth($gradient-positions, 1);
|
|
10
|
-
$spec: nth($gradient-positions, 2);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
@else if $gradient-type == radial {
|
|
14
|
-
$pre-spec: nth($gradient-positions, 1);
|
|
15
|
-
$spec: nth($gradient-positions, 2);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
@if $vendor {
|
|
19
|
-
$vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients);
|
|
20
|
-
}
|
|
21
|
-
@else if $vendor == false {
|
|
22
|
-
$vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})";
|
|
23
|
-
$vendor-gradients: unquote($vendor-gradients);
|
|
24
|
-
}
|
|
25
|
-
@return $vendor-gradients;
|
|
26
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
@function _shape-size-stripper($shape-size) {
|
|
2
|
-
$shape-size-spec: null;
|
|
3
|
-
@each $value in $shape-size {
|
|
4
|
-
@if ($value == "cover") or ($value == "contain") {
|
|
5
|
-
$value: null;
|
|
6
|
-
}
|
|
7
|
-
$shape-size-spec: "#{$shape-size-spec} #{$value}";
|
|
8
|
-
}
|
|
9
|
-
@return $shape-size-spec;
|
|
10
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
//************************************************************************//
|
|
2
|
-
// Helper function for linear/radial-gradient-parsers.
|
|
3
|
-
// Source: http://sassmeister.com/gist/9647408
|
|
4
|
-
//************************************************************************//
|
|
5
|
-
@function _str-to-num($string) {
|
|
6
|
-
// Matrices
|
|
7
|
-
$strings: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
|
|
8
|
-
$numbers: 0 1 2 3 4 5 6 7 8 9;
|
|
9
|
-
|
|
10
|
-
// Result
|
|
11
|
-
$result: 0;
|
|
12
|
-
$divider: 0;
|
|
13
|
-
$minus: false;
|
|
14
|
-
|
|
15
|
-
// Looping through all characters
|
|
16
|
-
@for $i from 1 through str-length($string) {
|
|
17
|
-
$character: str-slice($string, $i, $i);
|
|
18
|
-
$index: index($strings, $character);
|
|
19
|
-
|
|
20
|
-
@if $character == '-' {
|
|
21
|
-
$minus: true;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@else if $character == '.' {
|
|
25
|
-
$divider: 1;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
@else {
|
|
29
|
-
@if not $index {
|
|
30
|
-
$result: if($minus, $result * -1, $result);
|
|
31
|
-
@return _convert-units($result, str-slice($string, $i));
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
$number: nth($numbers, $index);
|
|
35
|
-
|
|
36
|
-
@if $divider == 0 {
|
|
37
|
-
$result: $result * 10;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
@else {
|
|
41
|
-
// Move the decimal dot to the left
|
|
42
|
-
$divider: $divider * 10;
|
|
43
|
-
$number: $number / $divider;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
$result: $result + $number;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
@return if($minus, $result * -1, $result);
|
|
50
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
$asset-pipeline: false !default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
$em-base: 16px !default;
|