smock 0.1.6 → 0.1.7

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 (120) hide show
  1. data/Gemfile.lock +3 -3
  2. data/README.md +5 -0
  3. data/app/assets/stylesheets/includes/_colors.css.sass +16 -0
  4. data/app/assets/stylesheets/includes/_forms.css.sass +29 -0
  5. data/app/assets/stylesheets/includes/_grid.css.sass +13 -0
  6. data/app/assets/stylesheets/includes/_layouts.css.sass +28 -0
  7. data/app/assets/stylesheets/includes/_mixins.css.sass +66 -0
  8. data/app/assets/stylesheets/includes/_typography.css.sass +58 -0
  9. data/app/assets/stylesheets/includes/_typography_settings.sass +22 -0
  10. data/app/assets/stylesheets/includes/icons.css.sass +149 -0
  11. data/app/assets/stylesheets/modules/_asset_uploader.css.sass +54 -0
  12. data/app/assets/stylesheets/modules/_categories.css.sass +32 -0
  13. data/app/assets/stylesheets/modules/_footer.css.sass +100 -0
  14. data/app/assets/stylesheets/modules/_header.css.sass +32 -0
  15. data/app/assets/stylesheets/modules/_hero.css.sass +69 -0
  16. data/app/assets/stylesheets/modules/_nav.css.sass +19 -0
  17. data/app/assets/stylesheets/modules/_pagination.css.sass +5 -0
  18. data/app/assets/stylesheets/modules/_search_filters.css.sass +34 -0
  19. data/app/assets/stylesheets/modules/_service.css.sass +58 -0
  20. data/app/assets/stylesheets/modules/_styleguide.css.sass +73 -0
  21. data/app/assets/stylesheets/modules/_testimonials.css.sass +27 -0
  22. data/app/assets/stylesheets/modules/form/_credit_card.css.sass +15 -0
  23. data/app/assets/stylesheets/modules/form/_payment_method.css.sass +28 -0
  24. data/app/assets/stylesheets/modules/header/_categories.css.sass +40 -0
  25. data/app/assets/stylesheets/modules/header/_dropdown.css.sass +55 -0
  26. data/app/assets/stylesheets/modules/header/_nav.css.sass +58 -0
  27. data/app/assets/stylesheets/modules/header/_search.css.sass +32 -0
  28. data/app/assets/stylesheets/modules/service/_favorites.css.sass +82 -0
  29. data/app/assets/stylesheets/smock.sass +181 -0
  30. data/app/assets/stylesheets/thirdparty/bourbon/_bourbon-deprecated-upcoming.scss +13 -0
  31. data/app/assets/stylesheets/thirdparty/bourbon/_bourbon.scss +74 -0
  32. data/app/assets/stylesheets/thirdparty/bourbon/addons/_button.scss +374 -0
  33. data/app/assets/stylesheets/thirdparty/bourbon/addons/_clearfix.scss +23 -0
  34. data/app/assets/stylesheets/thirdparty/bourbon/addons/_directional-values.scss +111 -0
  35. data/app/assets/stylesheets/thirdparty/bourbon/addons/_ellipsis.scss +7 -0
  36. data/app/assets/stylesheets/thirdparty/bourbon/addons/_font-family.scss +5 -0
  37. data/app/assets/stylesheets/thirdparty/bourbon/addons/_hide-text.scss +10 -0
  38. data/app/assets/stylesheets/thirdparty/bourbon/addons/_html5-input-types.scss +110 -0
  39. data/app/assets/stylesheets/thirdparty/bourbon/addons/_position.scss +32 -0
  40. data/app/assets/stylesheets/thirdparty/bourbon/addons/_prefixer.scss +45 -0
  41. data/app/assets/stylesheets/thirdparty/bourbon/addons/_retina-image.scss +31 -0
  42. data/app/assets/stylesheets/thirdparty/bourbon/addons/_size.scss +44 -0
  43. data/app/assets/stylesheets/thirdparty/bourbon/addons/_timing-functions.scss +32 -0
  44. data/app/assets/stylesheets/thirdparty/bourbon/addons/_triangle.scss +86 -0
  45. data/app/assets/stylesheets/thirdparty/bourbon/addons/_word-wrap.scss +8 -0
  46. data/app/assets/stylesheets/thirdparty/bourbon/css3/_animation.scss +52 -0
  47. data/app/assets/stylesheets/thirdparty/bourbon/css3/_appearance.scss +3 -0
  48. data/app/assets/stylesheets/thirdparty/bourbon/css3/_backface-visibility.scss +6 -0
  49. data/app/assets/stylesheets/thirdparty/bourbon/css3/_background-image.scss +48 -0
  50. data/app/assets/stylesheets/thirdparty/bourbon/css3/_background.scss +103 -0
  51. data/app/assets/stylesheets/thirdparty/bourbon/css3/_border-image.scss +56 -0
  52. data/app/assets/stylesheets/thirdparty/bourbon/css3/_border-radius.scss +22 -0
  53. data/app/assets/stylesheets/thirdparty/bourbon/css3/_box-sizing.scss +4 -0
  54. data/app/assets/stylesheets/thirdparty/bourbon/css3/_calc.scss +4 -0
  55. data/app/assets/stylesheets/thirdparty/bourbon/css3/_columns.scss +47 -0
  56. data/app/assets/stylesheets/thirdparty/bourbon/css3/_filter.scss +5 -0
  57. data/app/assets/stylesheets/thirdparty/bourbon/css3/_flex-box.scss +321 -0
  58. data/app/assets/stylesheets/thirdparty/bourbon/css3/_font-face.scss +23 -0
  59. data/app/assets/stylesheets/thirdparty/bourbon/css3/_font-feature-settings.scss +10 -0
  60. data/app/assets/stylesheets/thirdparty/bourbon/css3/_hidpi-media-query.scss +10 -0
  61. data/app/assets/stylesheets/thirdparty/bourbon/css3/_hyphens.scss +4 -0
  62. data/app/assets/stylesheets/thirdparty/bourbon/css3/_image-rendering.scss +14 -0
  63. data/app/assets/stylesheets/thirdparty/bourbon/css3/_inline-block.scss +8 -0
  64. data/app/assets/stylesheets/thirdparty/bourbon/css3/_keyframes.scss +35 -0
  65. data/app/assets/stylesheets/thirdparty/bourbon/css3/_linear-gradient.scss +38 -0
  66. data/app/assets/stylesheets/thirdparty/bourbon/css3/_perspective.scss +8 -0
  67. data/app/assets/stylesheets/thirdparty/bourbon/css3/_placeholder.scss +8 -0
  68. data/app/assets/stylesheets/thirdparty/bourbon/css3/_radial-gradient.scss +39 -0
  69. data/app/assets/stylesheets/thirdparty/bourbon/css3/_transform.scss +15 -0
  70. data/app/assets/stylesheets/thirdparty/bourbon/css3/_transition.scss +77 -0
  71. data/app/assets/stylesheets/thirdparty/bourbon/css3/_user-select.scss +3 -0
  72. data/app/assets/stylesheets/thirdparty/bourbon/functions/_color-lightness.scss +13 -0
  73. data/app/assets/stylesheets/thirdparty/bourbon/functions/_flex-grid.scss +39 -0
  74. data/app/assets/stylesheets/thirdparty/bourbon/functions/_golden-ratio.scss +3 -0
  75. data/app/assets/stylesheets/thirdparty/bourbon/functions/_grid-width.scss +13 -0
  76. data/app/assets/stylesheets/thirdparty/bourbon/functions/_linear-gradient.scss +13 -0
  77. data/app/assets/stylesheets/thirdparty/bourbon/functions/_modular-scale.scss +66 -0
  78. data/app/assets/stylesheets/thirdparty/bourbon/functions/_px-to-em.scss +13 -0
  79. data/app/assets/stylesheets/thirdparty/bourbon/functions/_px-to-rem.scss +15 -0
  80. data/app/assets/stylesheets/thirdparty/bourbon/functions/_radial-gradient.scss +23 -0
  81. data/app/assets/stylesheets/thirdparty/bourbon/functions/_strip-units.scss +5 -0
  82. data/app/assets/stylesheets/thirdparty/bourbon/functions/_tint-shade.scss +9 -0
  83. data/app/assets/stylesheets/thirdparty/bourbon/functions/_transition-property-name.scss +22 -0
  84. data/app/assets/stylesheets/thirdparty/bourbon/functions/_unpack.scss +17 -0
  85. data/app/assets/stylesheets/thirdparty/bourbon/helpers/_gradient-positions-parser.scss +13 -0
  86. data/app/assets/stylesheets/thirdparty/bourbon/helpers/_linear-positions-parser.scss +61 -0
  87. data/app/assets/stylesheets/thirdparty/bourbon/helpers/_radial-arg-parser.scss +69 -0
  88. data/app/assets/stylesheets/thirdparty/bourbon/helpers/_radial-positions-parser.scss +18 -0
  89. data/app/assets/stylesheets/thirdparty/bourbon/helpers/_render-gradients.scss +26 -0
  90. data/app/assets/stylesheets/thirdparty/bourbon/helpers/_shape-size-stripper.scss +10 -0
  91. data/app/assets/stylesheets/thirdparty/bourbon/settings/_asset-pipeline.scss +1 -0
  92. data/app/assets/stylesheets/thirdparty/bourbon/settings/_prefixer.scss +6 -0
  93. data/app/assets/stylesheets/thirdparty/bourbon/settings/_px-to-em.scss +1 -0
  94. data/app/assets/stylesheets/thirdparty/flexbox_mixins.scss +395 -0
  95. data/app/assets/stylesheets/thirdparty/jquery.fancybox.css.erb +274 -0
  96. data/app/assets/stylesheets/thirdparty/neat/_neat-helpers.scss +7 -0
  97. data/app/assets/stylesheets/thirdparty/neat/_neat.scss +21 -0
  98. data/app/assets/stylesheets/thirdparty/neat/functions/_new-breakpoint.scss +16 -0
  99. data/app/assets/stylesheets/thirdparty/neat/functions/_private.scss +125 -0
  100. data/app/assets/stylesheets/thirdparty/neat/grid/_fill-parent.scss +7 -0
  101. data/app/assets/stylesheets/thirdparty/neat/grid/_grid.scss +5 -0
  102. data/app/assets/stylesheets/thirdparty/neat/grid/_media.scss +38 -0
  103. data/app/assets/stylesheets/thirdparty/neat/grid/_omega.scss +61 -0
  104. data/app/assets/stylesheets/thirdparty/neat/grid/_outer-container.scss +8 -0
  105. data/app/assets/stylesheets/thirdparty/neat/grid/_pad.scss +8 -0
  106. data/app/assets/stylesheets/thirdparty/neat/grid/_private.scss +43 -0
  107. data/app/assets/stylesheets/thirdparty/neat/grid/_reset.scss +12 -0
  108. data/app/assets/stylesheets/thirdparty/neat/grid/_row.scss +17 -0
  109. data/app/assets/stylesheets/thirdparty/neat/grid/_shift.scss +16 -0
  110. data/app/assets/stylesheets/thirdparty/neat/grid/_span-columns.scss +43 -0
  111. data/app/assets/stylesheets/thirdparty/neat/grid/_to-deprecate.scss +57 -0
  112. data/app/assets/stylesheets/thirdparty/neat/grid/_visual-grid.scss +41 -0
  113. data/app/assets/stylesheets/thirdparty/neat/settings/_grid.scss +7 -0
  114. data/app/assets/stylesheets/thirdparty/neat/settings/_visual-grid.scss +5 -0
  115. data/app/assets/stylesheets/thirdparty/normalize.css +425 -0
  116. data/app/assets/stylesheets/thirdparty/nprogress.css +81 -0
  117. data/app/assets/stylesheets/thirdparty/typecsset.scss +352 -0
  118. data/app/assets/stylesheets/thirdparty/video-js.css +775 -0
  119. data/smock.gemspec +2 -2
  120. metadata +121 -5
@@ -0,0 +1,8 @@
1
+ @mixin perspective($depth: none) {
2
+ // none | <length>
3
+ @include prefixer(perspective, $depth, webkit moz spec);
4
+ }
5
+
6
+ @mixin perspective-origin($value: 50% 50%) {
7
+ @include prefixer(perspective-origin, $value, webkit moz spec);
8
+ }
@@ -0,0 +1,8 @@
1
+ @mixin placeholder {
2
+ $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input";
3
+ @each $placeholder in $placeholders {
4
+ &:#{$placeholder}-placeholder {
5
+ @content;
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,39 @@
1
+ // Requires Sass 3.1+
2
+ @mixin radial-gradient($G1, $G2,
3
+ $G3: null, $G4: null,
4
+ $G5: null, $G6: null,
5
+ $G7: null, $G8: null,
6
+ $G9: null, $G10: null,
7
+ $pos: null,
8
+ $shape-size: null,
9
+ $fallback: null) {
10
+
11
+ $data: _radial-arg-parser($G1, $G2, $pos, $shape-size);
12
+ $G1: nth($data, 1);
13
+ $G2: nth($data, 2);
14
+ $pos: nth($data, 3);
15
+ $shape-size: nth($data, 4);
16
+
17
+ $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10;
18
+
19
+ // Strip deprecated cover/contain for spec
20
+ $shape-size-spec: _shape-size-stripper($shape-size);
21
+
22
+ // Set $G1 as the default fallback color
23
+ $first-color: nth($full, 1);
24
+ $fallback-color: nth($first-color, 1);
25
+
26
+ @if (type-of($fallback) == color) or ($fallback == "transparent") {
27
+ $fallback-color: $fallback;
28
+ }
29
+
30
+ // Add Commas and spaces
31
+ $shape-size: if($shape-size, '#{$shape-size}, ', null);
32
+ $pos: if($pos, '#{$pos}, ', null);
33
+ $pos-spec: if($pos, 'at #{$pos}', null);
34
+ $shape-size-spec: if(($shape-size-spec != ' ') and ($pos == null), '#{$shape-size-spec}, ', '#{$shape-size-spec} ');
35
+
36
+ background-color: $fallback-color;
37
+ background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full}));
38
+ background-image: unquote("radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})");
39
+ }
@@ -0,0 +1,15 @@
1
+ @mixin transform($property: none) {
2
+ // none | <transform-function>
3
+ @include prefixer(transform, $property, webkit moz ms o spec);
4
+ }
5
+
6
+ @mixin transform-origin($axes: 50%) {
7
+ // x-axis - left | center | right | length | %
8
+ // y-axis - top | center | bottom | length | %
9
+ // z-axis - length
10
+ @include prefixer(transform-origin, $axes, webkit moz ms o spec);
11
+ }
12
+
13
+ @mixin transform-style ($style: flat) {
14
+ @include prefixer(transform-style, $style, webkit moz ms o spec);
15
+ }
@@ -0,0 +1,77 @@
1
+ // Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.
2
+ // Example: @include transition (all 2s ease-in-out);
3
+ // @include transition (opacity 1s ease-in 2s, width 2s ease-out);
4
+ // @include transition-property (transform, opacity);
5
+
6
+ @mixin transition ($properties...) {
7
+ // Fix for vendor-prefix transform property
8
+ $needs-prefixes: false;
9
+ $webkit: ();
10
+ $moz: ();
11
+ $spec: ();
12
+
13
+ // Create lists for vendor-prefixed transform
14
+ @each $list in $properties {
15
+ @if nth($list, 1) == "transform" {
16
+ $needs-prefixes: true;
17
+ $list1: -webkit-transform;
18
+ $list2: -moz-transform;
19
+ $list3: ();
20
+
21
+ @each $var in $list {
22
+ $list3: join($list3, $var);
23
+
24
+ @if $var != "transform" {
25
+ $list1: join($list1, $var);
26
+ $list2: join($list2, $var);
27
+ }
28
+ }
29
+
30
+ $webkit: append($webkit, $list1);
31
+ $moz: append($moz, $list2);
32
+ $spec: append($spec, $list3);
33
+ }
34
+
35
+ // Create lists for non-prefixed transition properties
36
+ @else {
37
+ $webkit: append($webkit, $list, comma);
38
+ $moz: append($moz, $list, comma);
39
+ $spec: append($spec, $list, comma);
40
+ }
41
+ }
42
+
43
+ @if $needs-prefixes {
44
+ -webkit-transition: $webkit;
45
+ -moz-transition: $moz;
46
+ transition: $spec;
47
+ }
48
+ @else {
49
+ @if length($properties) >= 1 {
50
+ @include prefixer(transition, $properties, webkit moz spec);
51
+ }
52
+
53
+ @else {
54
+ $properties: all 0.15s ease-out 0s;
55
+ @include prefixer(transition, $properties, webkit moz spec);
56
+ }
57
+ }
58
+ }
59
+
60
+ @mixin transition-property ($properties...) {
61
+ -webkit-transition-property: transition-property-names($properties, 'webkit');
62
+ -moz-transition-property: transition-property-names($properties, 'moz');
63
+ transition-property: transition-property-names($properties, false);
64
+ }
65
+
66
+ @mixin transition-duration ($times...) {
67
+ @include prefixer(transition-duration, $times, webkit moz spec);
68
+ }
69
+
70
+ @mixin transition-timing-function ($motions...) {
71
+ // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()
72
+ @include prefixer(transition-timing-function, $motions, webkit moz spec);
73
+ }
74
+
75
+ @mixin transition-delay ($times...) {
76
+ @include prefixer(transition-delay, $times, webkit moz spec);
77
+ }
@@ -0,0 +1,3 @@
1
+ @mixin user-select($arg: none) {
2
+ @include prefixer(user-select, $arg, webkit moz ms spec);
3
+ }
@@ -0,0 +1,13 @@
1
+ // Programatically determines whether a color is light or dark
2
+ // Returns a boolean
3
+ // More details here http://robots.thoughtbot.com/closer-look-color-lightness
4
+
5
+ @function is-light($hex-color) {
6
+ $-local-red: red(rgba($hex-color, 1.0));
7
+ $-local-green: green(rgba($hex-color, 1.0));
8
+ $-local-blue: blue(rgba($hex-color, 1.0));
9
+
10
+ $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255;
11
+
12
+ @return $-local-lightness > .6;
13
+ }
@@ -0,0 +1,39 @@
1
+ // Flexible grid
2
+ @function flex-grid($columns, $container-columns: $fg-max-columns) {
3
+ $width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
4
+ $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
5
+ @return percentage($width / $container-width);
6
+ }
7
+
8
+ // Flexible gutter
9
+ @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
10
+ $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
11
+ @return percentage($gutter / $container-width);
12
+ }
13
+
14
+ // The $fg-column, $fg-gutter and $fg-max-columns variables must be defined in your base stylesheet to properly use the flex-grid function.
15
+ // This function takes the fluid grid equation (target / context = result) and uses columns to help define each.
16
+ //
17
+ // The calculation presumes that your column structure will be missing the last gutter:
18
+ //
19
+ // -- column -- gutter -- column -- gutter -- column
20
+ //
21
+ // $fg-column: 60px; // Column Width
22
+ // $fg-gutter: 25px; // Gutter Width
23
+ // $fg-max-columns: 12; // Total Columns For Main Container
24
+ //
25
+ // div {
26
+ // width: flex-grid(4); // returns (315px / 995px) = 31.65829%;
27
+ // margin-left: flex-gutter(); // returns (25px / 995px) = 2.51256%;
28
+ //
29
+ // p {
30
+ // width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%;
31
+ // float: left;
32
+ // margin: flex-gutter(4); // returns (25px / 315px) = 7.936508%;
33
+ // }
34
+ //
35
+ // blockquote {
36
+ // float: left;
37
+ // width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%;
38
+ // }
39
+ // }
@@ -0,0 +1,3 @@
1
+ @function golden-ratio($value, $increment) {
2
+ @return modular-scale($value, $increment, $golden)
3
+ }
@@ -0,0 +1,13 @@
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
+ // }
@@ -0,0 +1,13 @@
1
+ @function linear-gradient($pos, $gradients...) {
2
+ $type: linear;
3
+ $pos-type: type-of(nth($pos, 1));
4
+
5
+ // if $pos doesn't exist, fix $gradient
6
+ @if ($pos-type == color) or (nth($pos, 1) == "transparent") {
7
+ $gradients: zip($pos $gradients);
8
+ $pos: false;
9
+ }
10
+
11
+ $type-gradient: $type, $pos, $gradients;
12
+ @return $type-gradient;
13
+ }
@@ -0,0 +1,66 @@
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
+ }
@@ -0,0 +1,13 @@
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
+ }
@@ -0,0 +1,15 @@
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
+ }
@@ -0,0 +1,23 @@
1
+ // This function is required and used by the background-image mixin.
2
+ @function radial-gradient($G1, $G2,
3
+ $G3: null, $G4: null,
4
+ $G5: null, $G6: null,
5
+ $G7: null, $G8: null,
6
+ $G9: null, $G10: null,
7
+ $pos: null,
8
+ $shape-size: null) {
9
+
10
+ $data: _radial-arg-parser($G1, $G2, $pos, $shape-size);
11
+ $G1: nth($data, 1);
12
+ $G2: nth($data, 2);
13
+ $pos: nth($data, 3);
14
+ $shape-size: nth($data, 4);
15
+
16
+ $type: radial;
17
+ $gradient: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10;
18
+
19
+ $type-gradient: $type, $shape-size $pos, $gradient;
20
+ @return $type-gradient;
21
+ }
22
+
23
+
@@ -0,0 +1,5 @@
1
+ // Srtips the units from a value. e.g. 12px -> 12
2
+
3
+ @function strip-units($val) {
4
+ @return ($val / ($val * 0 + 1));
5
+ }
@@ -0,0 +1,9 @@
1
+ // Add percentage of white to a color
2
+ @function tint($color, $percent){
3
+ @return mix(white, $color, $percent);
4
+ }
5
+
6
+ // Add percentage of black to a color
7
+ @function shade($color, $percent){
8
+ @return mix(black, $color, $percent);
9
+ }
@@ -0,0 +1,22 @@
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
+ }
@@ -0,0 +1,17 @@
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
+
@@ -0,0 +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
+ }