hanuman 0.3.0 → 0.4.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.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -21
  3. data/README.md +175 -173
  4. data/_data/authors.yml +16 -0
  5. data/_data/navigation.yml +4 -4
  6. data/_includes/analytics.html +15 -15
  7. data/_includes/footer.html +65 -65
  8. data/_includes/head.html +68 -68
  9. data/_includes/header.html +58 -58
  10. data/_includes/metadata.json +30 -30
  11. data/_includes/styles.scss +727 -727
  12. data/_layouts/default.html +13 -13
  13. data/_layouts/page.html +16 -16
  14. data/_layouts/post.html +157 -153
  15. data/_sass/_syntax-highlighting.scss +65 -65
  16. data/_sass/bourbon/_bourbon-deprecated-upcoming.scss +8 -8
  17. data/_sass/bourbon/_bourbon.scss +79 -79
  18. data/_sass/bourbon/addons/_button.scss +374 -374
  19. data/_sass/bourbon/addons/_clearfix.scss +23 -23
  20. data/_sass/bourbon/addons/_directional-values.scss +111 -111
  21. data/_sass/bourbon/addons/_ellipsis.scss +7 -7
  22. data/_sass/bourbon/addons/_font-family.scss +5 -5
  23. data/_sass/bourbon/addons/_hide-text.scss +10 -10
  24. data/_sass/bourbon/addons/_html5-input-types.scss +86 -86
  25. data/_sass/bourbon/addons/_position.scss +32 -32
  26. data/_sass/bourbon/addons/_prefixer.scss +45 -45
  27. data/_sass/bourbon/addons/_retina-image.scss +31 -31
  28. data/_sass/bourbon/addons/_size.scss +16 -16
  29. data/_sass/bourbon/addons/_timing-functions.scss +32 -32
  30. data/_sass/bourbon/addons/_triangle.scss +83 -83
  31. data/_sass/bourbon/addons/_word-wrap.scss +8 -8
  32. data/_sass/bourbon/css3/_animation.scss +52 -52
  33. data/_sass/bourbon/css3/_appearance.scss +3 -3
  34. data/_sass/bourbon/css3/_backface-visibility.scss +6 -6
  35. data/_sass/bourbon/css3/_background-image.scss +42 -42
  36. data/_sass/bourbon/css3/_background.scss +55 -55
  37. data/_sass/bourbon/css3/_border-image.scss +59 -59
  38. data/_sass/bourbon/css3/_border-radius.scss +22 -22
  39. data/_sass/bourbon/css3/_box-sizing.scss +4 -4
  40. data/_sass/bourbon/css3/_calc.scss +4 -4
  41. data/_sass/bourbon/css3/_columns.scss +47 -47
  42. data/_sass/bourbon/css3/_filter.scss +5 -5
  43. data/_sass/bourbon/css3/_flex-box.scss +321 -321
  44. data/_sass/bourbon/css3/_font-face.scss +23 -23
  45. data/_sass/bourbon/css3/_font-feature-settings.scss +9 -9
  46. data/_sass/bourbon/css3/_hidpi-media-query.scss +10 -10
  47. data/_sass/bourbon/css3/_hyphens.scss +3 -3
  48. data/_sass/bourbon/css3/_image-rendering.scss +14 -14
  49. data/_sass/bourbon/css3/_keyframes.scss +35 -35
  50. data/_sass/bourbon/css3/_linear-gradient.scss +38 -38
  51. data/_sass/bourbon/css3/_perspective.scss +8 -8
  52. data/_sass/bourbon/css3/_placeholder.scss +8 -8
  53. data/_sass/bourbon/css3/_radial-gradient.scss +39 -39
  54. data/_sass/bourbon/css3/_transform.scss +15 -15
  55. data/_sass/bourbon/css3/_transition.scss +77 -77
  56. data/_sass/bourbon/css3/_user-select.scss +3 -3
  57. data/_sass/bourbon/functions/_assign.scss +10 -10
  58. data/_sass/bourbon/functions/_color-lightness.scss +13 -13
  59. data/_sass/bourbon/functions/_flex-grid.scss +38 -38
  60. data/_sass/bourbon/functions/_golden-ratio.scss +3 -3
  61. data/_sass/bourbon/functions/_grid-width.scss +13 -13
  62. data/_sass/bourbon/functions/_modular-scale.scss +66 -66
  63. data/_sass/bourbon/functions/_px-to-em.scss +13 -13
  64. data/_sass/bourbon/functions/_px-to-rem.scss +15 -15
  65. data/_sass/bourbon/functions/_strip-units.scss +5 -5
  66. data/_sass/bourbon/functions/_tint-shade.scss +9 -9
  67. data/_sass/bourbon/functions/_transition-property-name.scss +21 -21
  68. data/_sass/bourbon/functions/_unpack.scss +17 -17
  69. data/_sass/bourbon/helpers/_convert-units.scss +15 -15
  70. data/_sass/bourbon/helpers/_gradient-positions-parser.scss +13 -13
  71. data/_sass/bourbon/helpers/_is-num.scss +8 -8
  72. data/_sass/bourbon/helpers/_linear-angle-parser.scss +25 -25
  73. data/_sass/bourbon/helpers/_linear-gradient-parser.scss +41 -41
  74. data/_sass/bourbon/helpers/_linear-positions-parser.scss +61 -61
  75. data/_sass/bourbon/helpers/_linear-side-corner-parser.scss +31 -31
  76. data/_sass/bourbon/helpers/_radial-arg-parser.scss +69 -69
  77. data/_sass/bourbon/helpers/_radial-gradient-parser.scss +50 -50
  78. data/_sass/bourbon/helpers/_radial-positions-parser.scss +18 -18
  79. data/_sass/bourbon/helpers/_render-gradients.scss +26 -26
  80. data/_sass/bourbon/helpers/_shape-size-stripper.scss +10 -10
  81. data/_sass/bourbon/helpers/_str-to-num.scss +50 -50
  82. data/_sass/bourbon/settings/_asset-pipeline.scss +1 -1
  83. data/_sass/bourbon/settings/_prefixer.scss +6 -6
  84. data/_sass/bourbon/settings/_px-to-em.scss +1 -1
  85. metadata +4 -4
  86. data/_data/author.yml +0 -8
@@ -1,15 +1,15 @@
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
+ //************************************************************************//
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 +1,13 @@
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
- }
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
+ }
@@ -1,8 +1,8 @@
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
+ //************************************************************************//
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 +1,25 @@
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
+ // 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 +1,41 @@
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
+ @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 +1,61 @@
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
+ @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 +1,31 @@
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
+ // 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 +1,69 @@
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
+ @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
+ }