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,86 @@
1
+ @mixin triangle ($size, $color, $direction) {
2
+ height: 0;
3
+ width: 0;
4
+
5
+ $width: nth($size, 1);
6
+ $height: nth($size, length($size));
7
+
8
+ $foreground-color: nth($color, 1);
9
+ $background-color: transparent !default;
10
+ @if (length($color) == 2) {
11
+ $background-color: nth($color, 2);
12
+ }
13
+
14
+ @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) {
15
+
16
+ $width: $width / 2;
17
+ $height: if(length($size) > 1, $height, $height/2);
18
+
19
+ @if $direction == up {
20
+ border-left: $width solid $background-color;
21
+ border-right: $width solid $background-color;
22
+ border-bottom: $height solid $foreground-color;
23
+
24
+ } @else if $direction == right {
25
+ border-top: $width solid $background-color;
26
+ border-bottom: $width solid $background-color;
27
+ border-left: $height solid $foreground-color;
28
+
29
+ } @else if $direction == down {
30
+ border-left: $width solid $background-color;
31
+ border-right: $width solid $background-color;
32
+ border-top: $height solid $foreground-color;
33
+
34
+ } @else if $direction == left {
35
+ border-top: $width solid $background-color;
36
+ border-bottom: $width solid $background-color;
37
+ border-right: $height solid $foreground-color;
38
+ }
39
+ }
40
+
41
+ @else if ($direction == up-right) or ($direction == up-left) {
42
+ border-top: $height solid $foreground-color;
43
+
44
+ @if $direction == up-right {
45
+ border-left: $width solid $background-color;
46
+
47
+ } @else if $direction == up-left {
48
+ border-right: $width solid $background-color;
49
+ }
50
+ }
51
+
52
+ @else if ($direction == down-right) or ($direction == down-left) {
53
+ border-bottom: $height solid $foreground-color;
54
+
55
+ @if $direction == down-right {
56
+ border-left: $width solid $background-color;
57
+
58
+ } @else if $direction == down-left {
59
+ border-right: $width solid $background-color;
60
+ }
61
+ }
62
+
63
+ @else if ($direction == inset-up) {
64
+ border-width: $height $width;
65
+ border-style: solid;
66
+ border-color: $background-color $background-color $foreground-color;
67
+ }
68
+
69
+ @else if ($direction == inset-down) {
70
+ border-width: $height $width;
71
+ border-style: solid;
72
+ border-color: $foreground-color $background-color $background-color;
73
+ }
74
+
75
+ @else if ($direction == inset-right) {
76
+ border-width: $width $height;
77
+ border-style: solid;
78
+ border-color: $background-color $background-color $background-color $foreground-color;
79
+ }
80
+
81
+ @else if ($direction == inset-left) {
82
+ border-width: $width $height;
83
+ border-style: solid;
84
+ border-color: $background-color $foreground-color $background-color $background-color;
85
+ }
86
+ }
@@ -0,0 +1,8 @@
1
+ @mixin word-wrap($wrap: break-word) {
2
+ word-wrap: $wrap;
3
+
4
+ @if $wrap == break-word {
5
+ overflow-wrap: break-word;
6
+ word-break: break-all;
7
+ }
8
+ }
@@ -0,0 +1,52 @@
1
+ // http://www.w3.org/TR/css3-animations/#the-animation-name-property-
2
+ // Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties.
3
+
4
+ // Official animation shorthand property.
5
+ @mixin animation ($animations...) {
6
+ @include prefixer(animation, $animations, webkit moz spec);
7
+ }
8
+
9
+ // Individual Animation Properties
10
+ @mixin animation-name ($names...) {
11
+ @include prefixer(animation-name, $names, webkit moz spec);
12
+ }
13
+
14
+
15
+ @mixin animation-duration ($times...) {
16
+ @include prefixer(animation-duration, $times, webkit moz spec);
17
+ }
18
+
19
+
20
+ @mixin animation-timing-function ($motions...) {
21
+ // ease | linear | ease-in | ease-out | ease-in-out
22
+ @include prefixer(animation-timing-function, $motions, webkit moz spec);
23
+ }
24
+
25
+
26
+ @mixin animation-iteration-count ($values...) {
27
+ // infinite | <number>
28
+ @include prefixer(animation-iteration-count, $values, webkit moz spec);
29
+ }
30
+
31
+
32
+ @mixin animation-direction ($directions...) {
33
+ // normal | alternate
34
+ @include prefixer(animation-direction, $directions, webkit moz spec);
35
+ }
36
+
37
+
38
+ @mixin animation-play-state ($states...) {
39
+ // running | paused
40
+ @include prefixer(animation-play-state, $states, webkit moz spec);
41
+ }
42
+
43
+
44
+ @mixin animation-delay ($times...) {
45
+ @include prefixer(animation-delay, $times, webkit moz spec);
46
+ }
47
+
48
+
49
+ @mixin animation-fill-mode ($modes...) {
50
+ // none | forwards | backwards | both
51
+ @include prefixer(animation-fill-mode, $modes, webkit moz spec);
52
+ }
@@ -0,0 +1,3 @@
1
+ @mixin appearance ($value) {
2
+ @include prefixer(appearance, $value, webkit moz ms o spec);
3
+ }
@@ -0,0 +1,6 @@
1
+ //************************************************************************//
2
+ // Backface-visibility mixin
3
+ //************************************************************************//
4
+ @mixin backface-visibility($visibility) {
5
+ @include prefixer(backface-visibility, $visibility, webkit spec);
6
+ }
@@ -0,0 +1,48 @@
1
+ //************************************************************************//
2
+ // Background-image property for adding multiple background images with
3
+ // gradients, or for stringing multiple gradients together.
4
+ //************************************************************************//
5
+
6
+ @mixin background-image($images...) {
7
+ background-image: _add-prefix($images, webkit);
8
+ background-image: _add-prefix($images);
9
+ }
10
+
11
+ @function _add-prefix($images, $vendor: false) {
12
+ $images-prefixed: ();
13
+ $gradient-positions: false;
14
+ @for $i from 1 through length($images) {
15
+ $type: type-of(nth($images, $i)); // Get type of variable - List or String
16
+
17
+ // If variable is a list - Gradient
18
+ @if $type == list {
19
+ $gradient-type: nth(nth($images, $i), 1); // linear or radial
20
+ $gradient-pos: null;
21
+ $gradient-args: null;
22
+
23
+ @if ($gradient-type == linear) or ($gradient-type == radial) {
24
+ $gradient-pos: nth(nth($images, $i), 2); // Get gradient position
25
+ $gradient-args: nth(nth($images, $i), 3); // Get actual gradient (red, blue)
26
+ }
27
+ @else {
28
+ $gradient-args: nth(nth($images, $i), 2); // Get actual gradient (red, blue)
29
+ }
30
+
31
+ $gradient-positions: _gradient-positions-parser($gradient-type, $gradient-pos);
32
+ $gradient: _render-gradients($gradient-positions, $gradient-args, $gradient-type, $vendor);
33
+ $images-prefixed: append($images-prefixed, $gradient, comma);
34
+ }
35
+ // If variable is a string - Image
36
+ @else if $type == string {
37
+ $images-prefixed: join($images-prefixed, nth($images, $i), comma);
38
+ }
39
+ }
40
+ @return $images-prefixed;
41
+ }
42
+
43
+ //Examples:
44
+ //@include background-image(linear-gradient(top, orange, red));
45
+ //@include background-image(radial-gradient(50% 50%, cover circle, orange, red));
46
+ //@include background-image(url("/images/a.png"), linear-gradient(orange, red));
47
+ //@include background-image(url("image.png"), linear-gradient(orange, red), url("image.png"));
48
+ //@include background-image(linear-gradient(hsla(0, 100%, 100%, 0.25) 0%, hsla(0, 100%, 100%, 0.08) 50%, transparent 50%), linear-gradient(orange, red));
@@ -0,0 +1,103 @@
1
+ //************************************************************************//
2
+ // Background property for adding multiple backgrounds using shorthand
3
+ // notation.
4
+ //************************************************************************//
5
+
6
+ @mixin background(
7
+ $background-1 , $background-2: null,
8
+ $background-3: null, $background-4: null,
9
+ $background-5: null, $background-6: null,
10
+ $background-7: null, $background-8: null,
11
+ $background-9: null, $background-10: null,
12
+ $fallback: null
13
+ ) {
14
+ $backgrounds: $background-1, $background-2,
15
+ $background-3, $background-4,
16
+ $background-5, $background-6,
17
+ $background-7, $background-8,
18
+ $background-9, $background-10;
19
+
20
+ $fallback-color: false;
21
+ @if (type-of($fallback) == color) or ($fallback == "transparent") {
22
+ $fallback-color: $fallback;
23
+ }
24
+ @else {
25
+ $fallback-color: _extract-background-color($backgrounds);
26
+ }
27
+
28
+ @if $fallback-color {
29
+ background-color: $fallback-color;
30
+ }
31
+ background: _background-add-prefix($backgrounds, webkit);
32
+ background: _background-add-prefix($backgrounds);
33
+ }
34
+
35
+ @function _extract-background-color($backgrounds) {
36
+ $final-bg-layer: nth($backgrounds, length($backgrounds));
37
+ @if type-of($final-bg-layer) == list {
38
+ @for $i from 1 through length($final-bg-layer) {
39
+ $value: nth($final-bg-layer, $i);
40
+ @if type-of($value) == color {
41
+ @return $value;
42
+ }
43
+ }
44
+ }
45
+ @return false;
46
+ }
47
+
48
+ @function _background-add-prefix($backgrounds, $vendor: false) {
49
+ $backgrounds-prefixed: ();
50
+
51
+ @for $i from 1 through length($backgrounds) {
52
+ $shorthand: nth($backgrounds, $i); // Get member for current index
53
+ $type: type-of($shorthand); // Get type of variable - List (gradient) or String (image)
54
+
55
+ // If shorthand is a list (gradient)
56
+ @if $type == list {
57
+ $first-member: nth($shorthand, 1); // Get first member of shorthand
58
+
59
+ // Linear Gradient
60
+ @if index(linear radial, nth($first-member, 1)) {
61
+ $gradient-type: nth($first-member, 1); // linear || radial
62
+ $gradient-args: false;
63
+ $gradient-positions: false;
64
+ $shorthand-start: false;
65
+ @if type-of($first-member) == list { // Linear gradient plus additional shorthand values - lg(red,orange)repeat,...
66
+ $gradient-positions: nth($first-member, 2);
67
+ $gradient-args: nth($first-member, 3);
68
+ $shorthand-start: 2;
69
+ }
70
+ @else { // Linear gradient only - lg(red,orange),...
71
+ $gradient-positions: nth($shorthand, 2);
72
+ $gradient-args: nth($shorthand, 3); // Get gradient (red, blue)
73
+ }
74
+
75
+ $gradient-positions: _gradient-positions-parser($gradient-type, $gradient-positions);
76
+ $gradient: _render-gradients($gradient-positions, $gradient-args, $gradient-type, $vendor);
77
+
78
+ // Append any additional shorthand args to gradient
79
+ @if $shorthand-start {
80
+ @for $j from $shorthand-start through length($shorthand) {
81
+ $gradient: join($gradient, nth($shorthand, $j), space);
82
+ }
83
+ }
84
+ $backgrounds-prefixed: append($backgrounds-prefixed, $gradient, comma);
85
+ }
86
+ // Image with additional properties
87
+ @else {
88
+ $backgrounds-prefixed: append($backgrounds-prefixed, $shorthand, comma);
89
+ }
90
+ }
91
+ // If shorthand is a simple string (color or image)
92
+ @else if $type == string {
93
+ $backgrounds-prefixed: join($backgrounds-prefixed, $shorthand, comma);
94
+ }
95
+ }
96
+ @return $backgrounds-prefixed;
97
+ }
98
+
99
+ //Examples:
100
+ //@include background(linear-gradient(top, orange, red));
101
+ //@include background(radial-gradient(circle at 40% 40%, orange, red));
102
+ //@include background(url("/images/a.png") no-repeat, linear-gradient(orange, red));
103
+ //@include background(url("image.png") center center, linear-gradient(orange, red), url("image.png"));
@@ -0,0 +1,56 @@
1
+ @mixin border-image($images) {
2
+ -webkit-border-image: _border-add-prefix($images, webkit);
3
+ -moz-border-image: _border-add-prefix($images, moz);
4
+ -o-border-image: _border-add-prefix($images, o);
5
+ border-image: _border-add-prefix($images);
6
+ border-style: solid;
7
+ }
8
+
9
+ @function _border-add-prefix($images, $vendor: false) {
10
+ $border-image: null;
11
+ $images-type: type-of(nth($images, 1));
12
+ $first-var: nth(nth($images, 1), 1); // Get type of Gradient (Linear || radial)
13
+
14
+ // If input is a gradient
15
+ @if $images-type == string {
16
+ @if ($first-var == "linear") or ($first-var == "radial") {
17
+ $gradient-type: nth($images, 1); // Get type of gradient (linear || radial)
18
+ $gradient-pos: nth($images, 2); // Get gradient position
19
+ $gradient-args: nth($images, 3); // Get actual gradient (red, blue)
20
+ $gradient-positions: _gradient-positions-parser($gradient-type, $gradient-pos);
21
+ $border-image: _render-gradients($gradient-positions, $gradient-args, $gradient-type, $vendor);
22
+ }
23
+ // If input is a URL
24
+ @else {
25
+ $border-image: $images;
26
+ }
27
+ }
28
+ // If input is gradient or url + additional args
29
+ @else if $images-type == list {
30
+ $type: type-of(nth($images, 1)); // Get type of variable - List or String
31
+
32
+ // If variable is a list - Gradient
33
+ @if $type == list {
34
+ $gradient: nth($images, 1);
35
+ $gradient-type: nth($gradient, 1); // Get type of gradient (linear || radial)
36
+ $gradient-pos: nth($gradient, 2); // Get gradient position
37
+ $gradient-args: nth($gradient, 3); // Get actual gradient (red, blue)
38
+ $gradient-positions: _gradient-positions-parser($gradient-type, $gradient-pos);
39
+ $border-image: _render-gradients($gradient-positions, $gradient-args, $gradient-type, $vendor);
40
+
41
+ @for $i from 2 through length($images) {
42
+ $border-image: append($border-image, nth($images, $i));
43
+ }
44
+ }
45
+ }
46
+ @return $border-image;
47
+ }
48
+
49
+ //Examples:
50
+ // @include border-image(url("image.png"));
51
+ // @include border-image(url("image.png") 20 stretch);
52
+ // @include border-image(linear-gradient(45deg, orange, yellow));
53
+ // @include border-image(linear-gradient(45deg, orange, yellow) stretch);
54
+ // @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round);
55
+ // @include border-image(radial-gradient(top, cover, orange, yellow, orange));
56
+
@@ -0,0 +1,22 @@
1
+ //************************************************************************//
2
+ // Shorthand Border-radius mixins
3
+ //************************************************************************//
4
+ @mixin border-top-radius($radii) {
5
+ @include prefixer(border-top-left-radius, $radii, spec);
6
+ @include prefixer(border-top-right-radius, $radii, spec);
7
+ }
8
+
9
+ @mixin border-bottom-radius($radii) {
10
+ @include prefixer(border-bottom-left-radius, $radii, spec);
11
+ @include prefixer(border-bottom-right-radius, $radii, spec);
12
+ }
13
+
14
+ @mixin border-left-radius($radii) {
15
+ @include prefixer(border-top-left-radius, $radii, spec);
16
+ @include prefixer(border-bottom-left-radius, $radii, spec);
17
+ }
18
+
19
+ @mixin border-right-radius($radii) {
20
+ @include prefixer(border-top-right-radius, $radii, spec);
21
+ @include prefixer(border-bottom-right-radius, $radii, spec);
22
+ }
@@ -0,0 +1,4 @@
1
+ @mixin box-sizing ($box) {
2
+ // content-box | border-box | inherit
3
+ @include prefixer(box-sizing, $box, webkit moz spec);
4
+ }
@@ -0,0 +1,4 @@
1
+ @mixin calc($property, $value) {
2
+ #{$property}: -webkit-calc(#{$value});
3
+ #{$property}: calc(#{$value});
4
+ }
@@ -0,0 +1,47 @@
1
+ @mixin columns($arg: auto) {
2
+ // <column-count> || <column-width>
3
+ @include prefixer(columns, $arg, webkit moz spec);
4
+ }
5
+
6
+ @mixin column-count($int: auto) {
7
+ // auto || integer
8
+ @include prefixer(column-count, $int, webkit moz spec);
9
+ }
10
+
11
+ @mixin column-gap($length: normal) {
12
+ // normal || length
13
+ @include prefixer(column-gap, $length, webkit moz spec);
14
+ }
15
+
16
+ @mixin column-fill($arg: auto) {
17
+ // auto || length
18
+ @include prefixer(column-fill, $arg, webkit moz spec);
19
+ }
20
+
21
+ @mixin column-rule($arg) {
22
+ // <border-width> || <border-style> || <color>
23
+ @include prefixer(column-rule, $arg, webkit moz spec);
24
+ }
25
+
26
+ @mixin column-rule-color($color) {
27
+ @include prefixer(column-rule-color, $color, webkit moz spec);
28
+ }
29
+
30
+ @mixin column-rule-style($style: none) {
31
+ // none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid
32
+ @include prefixer(column-rule-style, $style, webkit moz spec);
33
+ }
34
+
35
+ @mixin column-rule-width ($width: none) {
36
+ @include prefixer(column-rule-width, $width, webkit moz spec);
37
+ }
38
+
39
+ @mixin column-span($arg: none) {
40
+ // none || all
41
+ @include prefixer(column-span, $arg, webkit moz spec);
42
+ }
43
+
44
+ @mixin column-width($length: auto) {
45
+ // auto || length
46
+ @include prefixer(column-width, $length, webkit moz spec);
47
+ }