bourbon 4.2.4 → 7.3.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 (266) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +42 -0
  3. data/.github/ISSUE_TEMPLATE.md +22 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +10 -0
  5. data/.gitignore +1 -1
  6. data/.hound.yml +4 -1
  7. data/.npmignore +7 -4
  8. data/.stylelintrc.json +3 -0
  9. data/CHANGELOG.md +450 -0
  10. data/CODE_OF_CONDUCT.md +6 -0
  11. data/CONTRIBUTING.md +81 -28
  12. data/Gemfile +1 -1
  13. data/LICENSE.md +1 -1
  14. data/README.md +153 -86
  15. data/RELEASING.md +32 -0
  16. data/Rakefile +0 -2
  17. data/bin/bourbon +1 -2
  18. data/bourbon.gemspec +31 -24
  19. data/core/_bourbon.scss +54 -0
  20. data/core/bourbon/helpers/_buttons-list.scss +14 -0
  21. data/core/bourbon/helpers/_scales.scss +27 -0
  22. data/core/bourbon/helpers/_text-inputs-list.scss +26 -0
  23. data/core/bourbon/library/_border-color.scss +26 -0
  24. data/core/bourbon/library/_border-radius.scss +85 -0
  25. data/core/bourbon/library/_border-style.scss +25 -0
  26. data/core/bourbon/library/_border-width.scss +25 -0
  27. data/core/bourbon/library/_buttons.scss +84 -0
  28. data/{app/assets/stylesheets/addons → core/bourbon/library}/_clearfix.scss +5 -5
  29. data/core/bourbon/library/_contrast-switch.scss +81 -0
  30. data/{app/assets/stylesheets/addons → core/bourbon/library}/_ellipsis.scss +12 -6
  31. data/core/bourbon/library/_font-face.scss +65 -0
  32. data/core/bourbon/library/_font-stacks.scss +248 -0
  33. data/core/bourbon/library/_hide-text.scss +24 -0
  34. data/core/bourbon/library/_hide-visually.scss +70 -0
  35. data/core/bourbon/library/_margin.scss +37 -0
  36. data/core/bourbon/library/_modular-scale.scss +120 -0
  37. data/core/bourbon/library/_overflow-wrap.scss +25 -0
  38. data/core/bourbon/library/_padding.scss +36 -0
  39. data/core/bourbon/library/_position.scss +62 -0
  40. data/core/bourbon/library/_prefixer.scss +37 -0
  41. data/core/bourbon/library/_shade.scss +32 -0
  42. data/core/bourbon/library/_size.scss +50 -0
  43. data/core/bourbon/library/_strip-unit.scss +17 -0
  44. data/core/bourbon/library/_text-inputs.scss +163 -0
  45. data/core/bourbon/library/_timing-functions.scss +36 -0
  46. data/core/bourbon/library/_tint.scss +32 -0
  47. data/core/bourbon/library/_triangle.scss +82 -0
  48. data/core/bourbon/library/_value-prefixer.scss +37 -0
  49. data/core/bourbon/settings/_settings.scss +75 -0
  50. data/core/bourbon/utilities/_assign-inputs.scss +28 -0
  51. data/core/bourbon/utilities/_compact-shorthand.scss +42 -0
  52. data/core/bourbon/utilities/_contrast-ratio.scss +31 -0
  53. data/core/bourbon/utilities/_directional-property.scss +68 -0
  54. data/core/bourbon/utilities/_fetch-bourbon-setting.scss +16 -0
  55. data/core/bourbon/utilities/_font-source-declaration.scss +52 -0
  56. data/core/bourbon/utilities/_gamma.scss +24 -0
  57. data/core/bourbon/utilities/_lightness.scss +24 -0
  58. data/{app/assets/stylesheets/functions/_unpack.scss → core/bourbon/utilities/_unpack-shorthand.scss} +8 -6
  59. data/{app/assets/stylesheets/functions → core/bourbon/validators}/_contains-falsy.scss +6 -6
  60. data/{app/assets/stylesheets/functions → core/bourbon/validators}/_contains.scss +8 -8
  61. data/core/bourbon/validators/_is-color.scss +13 -0
  62. data/core/bourbon/validators/_is-length.scss +20 -0
  63. data/core/bourbon/validators/_is-number.scss +15 -0
  64. data/core/bourbon/validators/_is-size.scss +18 -0
  65. data/eyeglass-exports.js +7 -0
  66. data/features/install.feature +0 -1
  67. data/features/step_definitions/bourbon_steps.rb +13 -5
  68. data/features/update.feature +0 -1
  69. data/features/version.feature +0 -2
  70. data/index.js +2 -2
  71. data/lib/bourbon/generator.rb +11 -10
  72. data/lib/bourbon/version.rb +1 -1
  73. data/lib/bourbon.rb +7 -18
  74. data/package-lock.json +6636 -0
  75. data/package.json +26 -13
  76. data/spec/bourbon/{addons → library}/border_color_spec.rb +8 -8
  77. data/spec/bourbon/{addons → library}/border_radius_spec.rb +1 -1
  78. data/spec/bourbon/{addons → library}/border_style_spec.rb +1 -1
  79. data/spec/bourbon/{addons → library}/border_width_spec.rb +1 -1
  80. data/spec/bourbon/{addons → library}/buttons_spec.rb +4 -4
  81. data/spec/bourbon/{addons → library}/clearfix_spec.rb +3 -3
  82. data/spec/bourbon/library/contrast_switch_spec.rb +23 -0
  83. data/spec/bourbon/{addons → library}/ellipsis_spec.rb +1 -1
  84. data/spec/bourbon/library/font_face_spec_1.rb +16 -0
  85. data/spec/bourbon/library/font_face_spec_2.rb +20 -0
  86. data/spec/bourbon/library/font_face_spec_3.rb +16 -0
  87. data/spec/bourbon/library/font_stacks_spec.rb +42 -0
  88. data/spec/bourbon/{addons → library}/hide_text_spec.rb +1 -1
  89. data/spec/bourbon/library/hide_visually_spec.rb +37 -0
  90. data/spec/bourbon/{addons → library}/margin_spec.rb +1 -1
  91. data/spec/bourbon/{functions → library}/modular_scale_spec.rb +6 -6
  92. data/spec/bourbon/library/overflow_wrap_spec.rb +27 -0
  93. data/spec/bourbon/{addons → library}/padding_spec.rb +1 -1
  94. data/spec/bourbon/{addons → library}/position_spec.rb +1 -1
  95. data/spec/bourbon/library/prefixer_spec.rb +34 -0
  96. data/spec/bourbon/{functions → library}/shade_spec.rb +1 -1
  97. data/spec/bourbon/{addons → library}/size_spec.rb +1 -1
  98. data/spec/bourbon/{functions/strip_units_spec.rb → library/strip_unit_spec.rb} +2 -2
  99. data/spec/bourbon/{addons → library}/text_inputs_spec.rb +25 -15
  100. data/spec/bourbon/{functions → library}/tint_spec.rb +1 -1
  101. data/spec/bourbon/library/triangle_spec.rb +31 -0
  102. data/spec/bourbon/{functions → utilities}/assign_inputs_spec.rb +8 -8
  103. data/spec/bourbon/utilities/compact_shorthand_spec.rb +30 -0
  104. data/spec/bourbon/utilities/contrast_ratio_spec.rb +23 -0
  105. data/spec/bourbon/utilities/directional_property_spec.rb +28 -0
  106. data/spec/bourbon/utilities/fetch_bourbon_setting_spec.rb +31 -0
  107. data/spec/bourbon/utilities/font_source_declaration_spec.rb +23 -0
  108. data/spec/bourbon/utilities/gamma_spec.rb +23 -0
  109. data/spec/bourbon/utilities/lightness_spec.rb +31 -0
  110. data/spec/bourbon/{functions → utilities}/unpack_spec.rb +1 -1
  111. data/spec/bourbon/{functions → validators}/contains_spec.rb +1 -1
  112. data/spec/bourbon/{functions → validators}/is_length_spec.rb +13 -1
  113. data/spec/bourbon/{functions → validators}/is_number_spec.rb +1 -1
  114. data/spec/bourbon/{functions → validators}/is_size_spec.rb +1 -1
  115. data/spec/fixtures/_setup.scss +1 -1
  116. data/spec/fixtures/{addons → library}/border-color.scss +4 -4
  117. data/spec/fixtures/library/contrast-switch.scss +9 -0
  118. data/spec/fixtures/library/font-face-1.scss +6 -0
  119. data/spec/fixtures/library/font-face-2.scss +10 -0
  120. data/spec/fixtures/library/font-face-3.scss +8 -0
  121. data/spec/fixtures/library/font-stacks.scss +41 -0
  122. data/spec/fixtures/library/hide-visually.scss +9 -0
  123. data/spec/fixtures/library/overflow-wrap.scss +9 -0
  124. data/spec/fixtures/{addons → library}/position.scss +0 -4
  125. data/spec/fixtures/library/prefixer.scss +13 -0
  126. data/spec/fixtures/{functions → library}/shade.scss +1 -1
  127. data/spec/fixtures/{addons → library}/size.scss +2 -2
  128. data/spec/fixtures/library/strip-unit.scss +17 -0
  129. data/spec/fixtures/{addons → library}/text-inputs.scss +4 -0
  130. data/spec/fixtures/{functions → library}/tint.scss +1 -1
  131. data/spec/fixtures/library/triangle.scss +9 -0
  132. data/spec/fixtures/utilities/assign-inputs.scss +19 -0
  133. data/spec/fixtures/utilities/compact-shorthand.scss +21 -0
  134. data/spec/fixtures/utilities/contrast-ratio.scss +9 -0
  135. data/spec/fixtures/utilities/directional-property.scss +17 -0
  136. data/spec/fixtures/utilities/fetch-bourbon-setting.scss +16 -0
  137. data/spec/fixtures/utilities/font-source-declaration.scss +11 -0
  138. data/spec/fixtures/utilities/gamma.scss +9 -0
  139. data/spec/fixtures/utilities/lightness.scss +13 -0
  140. data/spec/fixtures/utilities/unpack.scss +17 -0
  141. data/spec/fixtures/{functions → validators}/contains.scss +1 -1
  142. data/spec/fixtures/{functions → validators}/is-length.scss +9 -1
  143. data/spec/fixtures/{functions → validators}/is-number.scss +1 -1
  144. data/spec/fixtures/{functions → validators}/is-size.scss +1 -1
  145. data/spec/support/matchers/have_value.rb +1 -1
  146. data/spec/support/sass_support.rb +2 -2
  147. metadata +254 -281
  148. data/.scss-lint.yml +0 -14
  149. data/.travis.yml +0 -8
  150. data/app/assets/stylesheets/_bourbon-deprecated-upcoming.scss +0 -411
  151. data/app/assets/stylesheets/_bourbon.scss +0 -87
  152. data/app/assets/stylesheets/addons/_border-color.scss +0 -26
  153. data/app/assets/stylesheets/addons/_border-radius.scss +0 -48
  154. data/app/assets/stylesheets/addons/_border-style.scss +0 -25
  155. data/app/assets/stylesheets/addons/_border-width.scss +0 -25
  156. data/app/assets/stylesheets/addons/_buttons.scss +0 -64
  157. data/app/assets/stylesheets/addons/_font-stacks.scss +0 -31
  158. data/app/assets/stylesheets/addons/_hide-text.scss +0 -27
  159. data/app/assets/stylesheets/addons/_margin.scss +0 -26
  160. data/app/assets/stylesheets/addons/_padding.scss +0 -26
  161. data/app/assets/stylesheets/addons/_position.scss +0 -48
  162. data/app/assets/stylesheets/addons/_prefixer.scss +0 -66
  163. data/app/assets/stylesheets/addons/_retina-image.scss +0 -25
  164. data/app/assets/stylesheets/addons/_size.scss +0 -51
  165. data/app/assets/stylesheets/addons/_text-inputs.scss +0 -113
  166. data/app/assets/stylesheets/addons/_timing-functions.scss +0 -34
  167. data/app/assets/stylesheets/addons/_triangle.scss +0 -63
  168. data/app/assets/stylesheets/addons/_word-wrap.scss +0 -29
  169. data/app/assets/stylesheets/css3/_animation.scss +0 -43
  170. data/app/assets/stylesheets/css3/_appearance.scss +0 -3
  171. data/app/assets/stylesheets/css3/_backface-visibility.scss +0 -3
  172. data/app/assets/stylesheets/css3/_background-image.scss +0 -42
  173. data/app/assets/stylesheets/css3/_background.scss +0 -55
  174. data/app/assets/stylesheets/css3/_border-image.scss +0 -59
  175. data/app/assets/stylesheets/css3/_calc.scss +0 -4
  176. data/app/assets/stylesheets/css3/_columns.scss +0 -47
  177. data/app/assets/stylesheets/css3/_filter.scss +0 -4
  178. data/app/assets/stylesheets/css3/_flex-box.scss +0 -287
  179. data/app/assets/stylesheets/css3/_font-face.scss +0 -24
  180. data/app/assets/stylesheets/css3/_font-feature-settings.scss +0 -4
  181. data/app/assets/stylesheets/css3/_hidpi-media-query.scss +0 -10
  182. data/app/assets/stylesheets/css3/_hyphens.scss +0 -4
  183. data/app/assets/stylesheets/css3/_image-rendering.scss +0 -14
  184. data/app/assets/stylesheets/css3/_keyframes.scss +0 -36
  185. data/app/assets/stylesheets/css3/_linear-gradient.scss +0 -38
  186. data/app/assets/stylesheets/css3/_perspective.scss +0 -8
  187. data/app/assets/stylesheets/css3/_placeholder.scss +0 -8
  188. data/app/assets/stylesheets/css3/_radial-gradient.scss +0 -39
  189. data/app/assets/stylesheets/css3/_selection.scss +0 -42
  190. data/app/assets/stylesheets/css3/_text-decoration.scss +0 -19
  191. data/app/assets/stylesheets/css3/_transform.scss +0 -15
  192. data/app/assets/stylesheets/css3/_transition.scss +0 -71
  193. data/app/assets/stylesheets/css3/_user-select.scss +0 -3
  194. data/app/assets/stylesheets/functions/_assign-inputs.scss +0 -11
  195. data/app/assets/stylesheets/functions/_is-length.scss +0 -11
  196. data/app/assets/stylesheets/functions/_is-light.scss +0 -21
  197. data/app/assets/stylesheets/functions/_is-number.scss +0 -11
  198. data/app/assets/stylesheets/functions/_is-size.scss +0 -13
  199. data/app/assets/stylesheets/functions/_modular-scale.scss +0 -69
  200. data/app/assets/stylesheets/functions/_px-to-em.scss +0 -13
  201. data/app/assets/stylesheets/functions/_px-to-rem.scss +0 -15
  202. data/app/assets/stylesheets/functions/_shade.scss +0 -24
  203. data/app/assets/stylesheets/functions/_strip-units.scss +0 -17
  204. data/app/assets/stylesheets/functions/_tint.scss +0 -24
  205. data/app/assets/stylesheets/functions/_transition-property-name.scss +0 -22
  206. data/app/assets/stylesheets/helpers/_convert-units.scss +0 -21
  207. data/app/assets/stylesheets/helpers/_directional-values.scss +0 -96
  208. data/app/assets/stylesheets/helpers/_font-source-declaration.scss +0 -43
  209. data/app/assets/stylesheets/helpers/_gradient-positions-parser.scss +0 -13
  210. data/app/assets/stylesheets/helpers/_linear-angle-parser.scss +0 -25
  211. data/app/assets/stylesheets/helpers/_linear-gradient-parser.scss +0 -41
  212. data/app/assets/stylesheets/helpers/_linear-positions-parser.scss +0 -61
  213. data/app/assets/stylesheets/helpers/_linear-side-corner-parser.scss +0 -31
  214. data/app/assets/stylesheets/helpers/_radial-arg-parser.scss +0 -69
  215. data/app/assets/stylesheets/helpers/_radial-gradient-parser.scss +0 -50
  216. data/app/assets/stylesheets/helpers/_radial-positions-parser.scss +0 -18
  217. data/app/assets/stylesheets/helpers/_render-gradients.scss +0 -26
  218. data/app/assets/stylesheets/helpers/_shape-size-stripper.scss +0 -10
  219. data/app/assets/stylesheets/helpers/_str-to-num.scss +0 -50
  220. data/app/assets/stylesheets/settings/_asset-pipeline.scss +0 -7
  221. data/app/assets/stylesheets/settings/_prefixer.scss +0 -9
  222. data/app/assets/stylesheets/settings/_px-to-em.scss +0 -1
  223. data/bower.json +0 -36
  224. data/lib/bourbon/engine.rb +0 -5
  225. data/lib/tasks/install.rake +0 -20
  226. data/sache.json +0 -5
  227. data/spec/bourbon/addons/font_stacks_spec.rb +0 -25
  228. data/spec/bourbon/addons/retina_image_spec.rb +0 -57
  229. data/spec/bourbon/addons/triangle_spec.rb +0 -32
  230. data/spec/bourbon/addons/word_wrap_spec.rb +0 -29
  231. data/spec/bourbon/css3/font_face_spec.rb +0 -45
  232. data/spec/bourbon/css3/hidpi_media_query_spec.rb +0 -23
  233. data/spec/bourbon/functions/is_light_spec.rb +0 -37
  234. data/spec/bourbon/functions/px_to_em_spec.rb +0 -31
  235. data/spec/bourbon/functions/px_to_rem_spec.rb +0 -25
  236. data/spec/bourbon/helpers/convert_units_spec.rb +0 -31
  237. data/spec/bourbon/helpers/directional_values_spec.rb +0 -39
  238. data/spec/bourbon/helpers/font_source_declaration_spec.rb +0 -29
  239. data/spec/bourbon/helpers/str_to_num_spec.rb +0 -25
  240. data/spec/fixtures/addons/font-stacks.scss +0 -21
  241. data/spec/fixtures/addons/retina-image.scss +0 -21
  242. data/spec/fixtures/addons/triangle.scss +0 -9
  243. data/spec/fixtures/addons/word-wrap.scss +0 -9
  244. data/spec/fixtures/css3/font-face.scss +0 -6
  245. data/spec/fixtures/css3/hidpi-media-query.scss +0 -13
  246. data/spec/fixtures/functions/assign-inputs.scss +0 -19
  247. data/spec/fixtures/functions/is-light.scss +0 -29
  248. data/spec/fixtures/functions/px-to-em.scss +0 -17
  249. data/spec/fixtures/functions/px-to-rem.scss +0 -15
  250. data/spec/fixtures/functions/strip-units.scss +0 -17
  251. data/spec/fixtures/functions/unpack.scss +0 -17
  252. data/spec/fixtures/helpers/convert-units.scss +0 -17
  253. data/spec/fixtures/helpers/directional-values.scss +0 -29
  254. data/spec/fixtures/helpers/font-source-declaration.scss +0 -10
  255. data/spec/fixtures/helpers/str-to-num.scss +0 -13
  256. data/spec/support/matchers/be_contained_in.rb +0 -10
  257. /data/spec/fixtures/{addons → library}/border-radius.scss +0 -0
  258. /data/spec/fixtures/{addons → library}/border-style.scss +0 -0
  259. /data/spec/fixtures/{addons → library}/border-width.scss +0 -0
  260. /data/spec/fixtures/{addons → library}/buttons.scss +0 -0
  261. /data/spec/fixtures/{addons → library}/clearfix.scss +0 -0
  262. /data/spec/fixtures/{addons → library}/ellipsis.scss +0 -0
  263. /data/spec/fixtures/{addons → library}/hide-text.scss +0 -0
  264. /data/spec/fixtures/{addons → library}/margin.scss +0 -0
  265. /data/spec/fixtures/{functions → library}/modular-scale.scss +0 -0
  266. /data/spec/fixtures/{addons → library}/padding.scss +0 -0
@@ -1,39 +0,0 @@
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
- }
@@ -1,42 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /// Outputs the spec and prefixed versions of the `::selection` pseudo-element.
4
- ///
5
- /// @param {Bool} $current-selector [false]
6
- /// If set to `true`, it takes the current element into consideration.
7
- ///
8
- /// @example scss - Usage
9
- /// .element {
10
- /// @include selection(true) {
11
- /// background-color: #ffbb52;
12
- /// }
13
- /// }
14
- ///
15
- /// @example css - CSS Output
16
- /// .element::-moz-selection {
17
- /// background-color: #ffbb52;
18
- /// }
19
- ///
20
- /// .element::selection {
21
- /// background-color: #ffbb52;
22
- /// }
23
-
24
- @mixin selection($current-selector: false) {
25
- @if $current-selector {
26
- &::-moz-selection {
27
- @content;
28
- }
29
-
30
- &::selection {
31
- @content;
32
- }
33
- } @else {
34
- ::-moz-selection {
35
- @content;
36
- }
37
-
38
- ::selection {
39
- @content;
40
- }
41
- }
42
- }
@@ -1,19 +0,0 @@
1
- @mixin text-decoration($value) {
2
- // <text-decoration-line> || <text-decoration-style> || <text-decoration-color>
3
- @include prefixer(text-decoration, $value, moz);
4
- }
5
-
6
- @mixin text-decoration-line($line: none) {
7
- // none || underline || overline || line-through
8
- @include prefixer(text-decoration-line, $line, moz);
9
- }
10
-
11
- @mixin text-decoration-style($style: solid) {
12
- // solid || double || dotted || dashed || wavy
13
- @include prefixer(text-decoration-style, $style, moz webkit);
14
- }
15
-
16
- @mixin text-decoration-color($color: currentColor) {
17
- // currentColor || <color>
18
- @include prefixer(text-decoration-color, $color, moz);
19
- }
@@ -1,15 +0,0 @@
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
- }
@@ -1,71 +0,0 @@
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
- } @else {
34
- $webkit: append($webkit, $list, comma);
35
- $moz: append($moz, $list, comma);
36
- $spec: append($spec, $list, comma);
37
- }
38
- }
39
-
40
- @if $needs-prefixes {
41
- -webkit-transition: $webkit;
42
- -moz-transition: $moz;
43
- transition: $spec;
44
- } @else {
45
- @if length($properties) >= 1 {
46
- @include prefixer(transition, $properties, webkit moz spec);
47
- } @else {
48
- $properties: all 0.15s ease-out 0s;
49
- @include prefixer(transition, $properties, webkit moz spec);
50
- }
51
- }
52
- }
53
-
54
- @mixin transition-property($properties...) {
55
- -webkit-transition-property: transition-property-names($properties, "webkit");
56
- -moz-transition-property: transition-property-names($properties, "moz");
57
- transition-property: transition-property-names($properties, false);
58
- }
59
-
60
- @mixin transition-duration($times...) {
61
- @include prefixer(transition-duration, $times, webkit moz spec);
62
- }
63
-
64
- @mixin transition-timing-function($motions...) {
65
- // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()
66
- @include prefixer(transition-timing-function, $motions, webkit moz spec);
67
- }
68
-
69
- @mixin transition-delay($times...) {
70
- @include prefixer(transition-delay, $times, webkit moz spec);
71
- }
@@ -1,3 +0,0 @@
1
- @mixin user-select($value: none) {
2
- @include prefixer(user-select, $value, webkit moz ms spec);
3
- }
@@ -1,11 +0,0 @@
1
- @function assign-inputs($inputs, $pseudo: null) {
2
- $list: ();
3
-
4
- @each $input in $inputs {
5
- $input: unquote($input);
6
- $input: if($pseudo, $input + ":" + $pseudo, $input);
7
- $list: append($list, $input, comma);
8
- }
9
-
10
- @return $list;
11
- }
@@ -1,11 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /// Checks for a valid CSS length.
4
- ///
5
- /// @param {String} $value
6
-
7
- @function is-length($value) {
8
- @return type-of($value) != "null" and (str-slice($value + "", 1, 4) == "calc"
9
- or index(auto inherit initial 0, $value)
10
- or (type-of($value) == "number" and not(unitless($value))));
11
- }
@@ -1,21 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /// Programatically determines whether a color is light or dark.
4
- ///
5
- /// @link http://robots.thoughtbot.com/closer-look-color-lightness
6
- ///
7
- /// @param {Color (Hex)} $color
8
- ///
9
- /// @example scss - Usage
10
- /// is-light($color)
11
- ///
12
- /// @return {Bool}
13
-
14
- @function is-light($hex-color) {
15
- $-local-red: red(rgba($hex-color, 1));
16
- $-local-green: green(rgba($hex-color, 1));
17
- $-local-blue: blue(rgba($hex-color, 1));
18
- $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255;
19
-
20
- @return $-local-lightness > 0.6;
21
- }
@@ -1,11 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /// Checks for a valid number.
4
- ///
5
- /// @param {Number} $value
6
- ///
7
- /// @require {function} contains
8
-
9
- @function is-number($value) {
10
- @return contains("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 0 1 2 3 4 5 6 7 8 9, $value);
11
- }
@@ -1,13 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /// Checks for a valid CSS size.
4
- ///
5
- /// @param {String} $value
6
- ///
7
- /// @require {function} contains
8
- /// @require {function} is-length
9
-
10
- @function is-size($value) {
11
- @return is-length($value)
12
- or contains("fill" "fit-content" "min-content" "max-content", $value);
13
- }
@@ -1,69 +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
- $modular-scale-ratio: $perfect-fourth !default;
21
- $modular-scale-base: em($em-base) !default;
22
-
23
- @function modular-scale($increment, $value: $modular-scale-base, $ratio: $modular-scale-ratio) {
24
- $v1: nth($value, 1);
25
- $v2: nth($value, length($value));
26
- $value: $v1;
27
-
28
- // scale $v2 to just above $v1
29
- @while $v2 > $v1 {
30
- $v2: ($v2 / $ratio); // will be off-by-1
31
- }
32
- @while $v2 < $v1 {
33
- $v2: ($v2 * $ratio); // will fix off-by-1
34
- }
35
-
36
- // check AFTER scaling $v2 to prevent double-counting corner-case
37
- $double-stranded: $v2 > $v1;
38
-
39
- @if $increment > 0 {
40
- @for $i from 1 through $increment {
41
- @if $double-stranded and ($v1 * $ratio) > $v2 {
42
- $value: $v2;
43
- $v2: ($v2 * $ratio);
44
- } @else {
45
- $v1: ($v1 * $ratio);
46
- $value: $v1;
47
- }
48
- }
49
- }
50
-
51
- @if $increment < 0 {
52
- // adjust $v2 to just below $v1
53
- @if $double-stranded {
54
- $v2: ($v2 / $ratio);
55
- }
56
-
57
- @for $i from $increment through -1 {
58
- @if $double-stranded and ($v1 / $ratio) < $v2 {
59
- $value: $v2;
60
- $v2: ($v2 / $ratio);
61
- } @else {
62
- $v1: ($v1 / $ratio);
63
- $value: $v1;
64
- }
65
- }
66
- }
67
-
68
- @return $value;
69
- }
@@ -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,24 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /// Mixes a color with black.
4
- ///
5
- /// @param {Color} $color
6
- ///
7
- /// @param {Number (Percentage)} $percent
8
- /// The amount of black to be mixed in.
9
- ///
10
- /// @example scss - Usage
11
- /// .element {
12
- /// background-color: shade(#ffbb52, 60%);
13
- /// }
14
- ///
15
- /// @example css - CSS Output
16
- /// .element {
17
- /// background-color: #664a20;
18
- /// }
19
- ///
20
- /// @return {Color}
21
-
22
- @function shade($color, $percent) {
23
- @return mix(#000, $color, $percent);
24
- }
@@ -1,17 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /// Strips the unit from a number.
4
- ///
5
- /// @param {Number (With Unit)} $value
6
- ///
7
- /// @example scss - Usage
8
- /// $dimension: strip-units(10em);
9
- ///
10
- /// @example css - CSS Output
11
- /// $dimension: 10;
12
- ///
13
- /// @return {Number (Unitless)}
14
-
15
- @function strip-units($value) {
16
- @return ($value / ($value * 0 + 1));
17
- }
@@ -1,24 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /// Mixes a color with white.
4
- ///
5
- /// @param {Color} $color
6
- ///
7
- /// @param {Number (Percentage)} $percent
8
- /// The amount of white to be mixed in.
9
- ///
10
- /// @example scss - Usage
11
- /// .element {
12
- /// background-color: tint(#6ecaa6, 40%);
13
- /// }
14
- ///
15
- /// @example css - CSS Output
16
- /// .element {
17
- /// background-color: #a8dfc9;
18
- /// }
19
- ///
20
- /// @return {Color}
21
-
22
- @function tint($color, $percent) {
23
- @return mix(#fff, $color, $percent);
24
- }
@@ -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
- }
@@ -1,21 +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
-
15
- @if type-of($number) != "number" {
16
- @warn "`#{$number} is not a number`";
17
- @return false;
18
- }
19
-
20
- @return $number * nth($units, $index);
21
- }
@@ -1,96 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /// Directional-property mixins are shorthands for writing properties like the following
4
- ///
5
- /// @ignore You can also use `false` instead of `null`.
6
- ///
7
- /// @param {List} $vals
8
- /// List of directional values
9
- ///
10
- /// @example scss - Usage
11
- /// .element {
12
- /// @include border-style(dotted null);
13
- /// @include margin(null 0 10px);
14
- /// }
15
- ///
16
- /// @example css - CSS Output
17
- /// .element {
18
- /// border-bottom-style: dotted;
19
- /// border-top-style: dotted;
20
- /// margin-bottom: 10px;
21
- /// margin-left: 0;
22
- /// margin-right: 0;
23
- /// }
24
- ///
25
- /// @require {function} contains-falsy
26
- ///
27
- /// @return {List}
28
-
29
- @function collapse-directionals($vals) {
30
- $output: null;
31
-
32
- $a: nth($vals, 1);
33
- $b: if(length($vals) < 2, $a, nth($vals, 2));
34
- $c: if(length($vals) < 3, $a, nth($vals, 3));
35
- $d: if(length($vals) < 2, $a, nth($vals, if(length($vals) < 4, 2, 4)));
36
-
37
- @if $a == 0 { $a: 0; }
38
- @if $b == 0 { $b: 0; }
39
- @if $c == 0 { $c: 0; }
40
- @if $d == 0 { $d: 0; }
41
-
42
- @if $a == $b and $a == $c and $a == $d { $output: $a; }
43
- @else if $a == $c and $b == $d { $output: $a $b; }
44
- @else if $b == $d { $output: $a $b $c; }
45
- @else { $output: $a $b $c $d; }
46
-
47
- @return $output;
48
- }
49
-
50
- /// Output directional properties, for instance `margin`.
51
- ///
52
- /// @access private
53
- ///
54
- /// @param {String} $pre
55
- /// Prefix to use
56
- /// @param {String} $suf
57
- /// Suffix to use
58
- /// @param {List} $vals
59
- /// List of values
60
- ///
61
- /// @require {function} collapse-directionals
62
- /// @require {function} contains-falsy
63
-
64
- @mixin directional-property($pre, $suf, $vals) {
65
- // Property Names
66
- $top: $pre + "-top" + if($suf, "-#{$suf}", "");
67
- $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", "");
68
- $left: $pre + "-left" + if($suf, "-#{$suf}", "");
69
- $right: $pre + "-right" + if($suf, "-#{$suf}", "");
70
- $all: $pre + if($suf, "-#{$suf}", "");
71
-
72
- $vals: collapse-directionals($vals);
73
-
74
- @if contains-falsy($vals) {
75
- @if nth($vals, 1) { #{$top}: nth($vals, 1); }
76
-
77
- @if length($vals) == 1 {
78
- @if nth($vals, 1) { #{$right}: nth($vals, 1); }
79
- } @else {
80
- @if nth($vals, 2) { #{$right}: nth($vals, 2); }
81
- }
82
-
83
- @if length($vals) == 2 {
84
- @if nth($vals, 1) { #{$bottom}: nth($vals, 1); }
85
- @if nth($vals, 2) { #{$left}: nth($vals, 2); }
86
- } @else if length($vals) == 3 {
87
- @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
88
- @if nth($vals, 2) { #{$left}: nth($vals, 2); }
89
- } @else if length($vals) == 4 {
90
- @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
91
- @if nth($vals, 4) { #{$left}: nth($vals, 4); }
92
- }
93
- } @else {
94
- #{$all}: $vals;
95
- }
96
- }
@@ -1,43 +0,0 @@
1
- // Used for creating the source string for fonts using @font-face
2
- // Reference: http://goo.gl/Ru1bKP
3
-
4
- @function font-url-prefixer($asset-pipeline) {
5
- @if $asset-pipeline == true {
6
- @return font-url;
7
- } @else {
8
- @return url;
9
- }
10
- }
11
-
12
- @function font-source-declaration(
13
- $font-family,
14
- $file-path,
15
- $asset-pipeline,
16
- $file-formats,
17
- $font-url) {
18
-
19
- $src: ();
20
-
21
- $formats-map: (
22
- eot: "#{$file-path}.eot?#iefix" format("embedded-opentype"),
23
- woff2: "#{$file-path}.woff2" format("woff2"),
24
- woff: "#{$file-path}.woff" format("woff"),
25
- ttf: "#{$file-path}.ttf" format("truetype"),
26
- svg: "#{$file-path}.svg##{$font-family}" format("svg")
27
- );
28
-
29
- @each $key, $values in $formats-map {
30
- @if contains($file-formats, $key) {
31
- $file-path: nth($values, 1);
32
- $font-format: nth($values, 2);
33
-
34
- @if $asset-pipeline == true {
35
- $src: append($src, font-url($file-path) $font-format, comma);
36
- } @else {
37
- $src: append($src, url($file-path) $font-format, comma);
38
- }
39
- }
40
- }
41
-
42
- @return $src;
43
- }
@@ -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
- }
@@ -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
- }