bourbon 4.3.4 → 5.0.0.alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.npmignore +1 -0
  4. data/.scss-lint.yml +2 -143
  5. data/.travis.yml +8 -0
  6. data/LICENSE.md +1 -1
  7. data/README.md +5 -19
  8. data/bourbon.gemspec +2 -2
  9. data/bower.json +7 -6
  10. data/core/_bourbon.scss +47 -0
  11. data/core/bourbon/_bourbon-deprecated.scss +1 -0
  12. data/core/bourbon/addons/_border-color.scss +26 -0
  13. data/{app/assets/stylesheets → core/bourbon}/addons/_border-radius.scss +19 -18
  14. data/core/bourbon/addons/_border-style.scss +25 -0
  15. data/core/bourbon/addons/_border-width.scss +25 -0
  16. data/core/bourbon/addons/_buttons.scss +61 -0
  17. data/core/bourbon/addons/_clearfix.scss +25 -0
  18. data/core/bourbon/addons/_ellipsis.scss +30 -0
  19. data/core/bourbon/addons/_font-stacks.scss +19 -0
  20. data/core/bourbon/addons/_hide-text.scss +23 -0
  21. data/core/bourbon/addons/_margin.scss +26 -0
  22. data/core/bourbon/addons/_padding.scss +26 -0
  23. data/core/bourbon/addons/_position.scss +49 -0
  24. data/core/bourbon/addons/_prefixer.scss +33 -0
  25. data/core/bourbon/addons/_size.scss +43 -0
  26. data/core/bourbon/addons/_text-inputs.scss +123 -0
  27. data/{app/assets/stylesheets → core/bourbon}/addons/_timing-functions.scss +7 -3
  28. data/core/bourbon/addons/_word-wrap.scss +29 -0
  29. data/core/bourbon/css3/_font-face.scss +50 -0
  30. data/core/bourbon/functions/_assign-inputs.scss +25 -0
  31. data/core/bourbon/functions/_contains-falsy.scss +20 -0
  32. data/core/bourbon/functions/_contains.scss +23 -0
  33. data/{app/assets/stylesheets → core/bourbon}/functions/_is-length.scss +3 -6
  34. data/{app/assets/stylesheets → core/bourbon}/functions/_is-light.scss +5 -10
  35. data/{app/assets/stylesheets → core/bourbon}/functions/_is-number.scss +3 -6
  36. data/core/bourbon/functions/_is-size.scss +16 -0
  37. data/core/bourbon/functions/_modular-scale.scss +101 -0
  38. data/core/bourbon/functions/_shade.scss +24 -0
  39. data/core/bourbon/functions/_strip-unit.scss +17 -0
  40. data/core/bourbon/functions/_tint.scss +24 -0
  41. data/{app/assets/stylesheets → core/bourbon}/functions/_unpack.scss +11 -14
  42. data/{app/assets/stylesheets → core/bourbon}/helpers/_directional-values.scss +26 -36
  43. data/{app/assets/stylesheets → core/bourbon}/helpers/_font-source-declaration.scss +0 -10
  44. data/{app/assets/stylesheets → core/bourbon}/settings/_asset-pipeline.scss +1 -1
  45. data/core/bourbon/settings/_global-font-file-formats.scss +12 -0
  46. data/core/bourbon/settings/_modular-scale.scss +17 -0
  47. data/core/bourbon/settings/_scales.scss +27 -0
  48. data/features/step_definitions/bourbon_steps.rb +1 -1
  49. data/index.js +1 -1
  50. data/lib/bourbon/engine.rb +1 -1
  51. data/lib/bourbon/generator.rb +1 -1
  52. data/lib/bourbon/version.rb +1 -1
  53. data/package.json +1 -6
  54. data/spec/bourbon/addons/buttons_spec.rb +3 -3
  55. data/spec/bourbon/addons/font_stacks_spec.rb +21 -11
  56. data/spec/bourbon/addons/text_inputs_spec.rb +14 -14
  57. data/spec/bourbon/css3/font_face_spec_1.rb +18 -0
  58. data/spec/bourbon/css3/font_face_spec_2.rb +19 -0
  59. data/spec/bourbon/css3/font_face_spec_3.rb +18 -0
  60. data/spec/bourbon/css3/font_face_spec_4.rb +19 -0
  61. data/spec/bourbon/functions/assign_inputs_spec.rb +3 -3
  62. data/spec/bourbon/functions/{strip_units_spec.rb → strip_unit_spec.rb} +2 -2
  63. data/spec/fixtures/_setup.scss +1 -1
  64. data/spec/fixtures/addons/font-stacks.scss +24 -8
  65. data/spec/fixtures/addons/size.scss +2 -2
  66. data/spec/fixtures/css3/font-face-1.scss +3 -0
  67. data/spec/fixtures/css3/font-face-2.scss +3 -0
  68. data/spec/fixtures/css3/font-face-3.scss +3 -0
  69. data/spec/fixtures/css3/font-face-4.scss +3 -0
  70. data/spec/fixtures/functions/assign-inputs.scss +1 -1
  71. data/spec/fixtures/functions/strip-unit.scss +17 -0
  72. metadata +72 -129
  73. data/CHANGELOG.md +0 -47
  74. data/app/assets/stylesheets/_bourbon-deprecate.scss +0 -19
  75. data/app/assets/stylesheets/_bourbon-deprecated-upcoming.scss +0 -425
  76. data/app/assets/stylesheets/_bourbon.scss +0 -90
  77. data/app/assets/stylesheets/addons/_border-color.scss +0 -29
  78. data/app/assets/stylesheets/addons/_border-style.scss +0 -28
  79. data/app/assets/stylesheets/addons/_border-width.scss +0 -28
  80. data/app/assets/stylesheets/addons/_buttons.scss +0 -69
  81. data/app/assets/stylesheets/addons/_clearfix.scss +0 -25
  82. data/app/assets/stylesheets/addons/_ellipsis.scss +0 -30
  83. data/app/assets/stylesheets/addons/_font-stacks.scss +0 -31
  84. data/app/assets/stylesheets/addons/_hide-text.scss +0 -27
  85. data/app/assets/stylesheets/addons/_margin.scss +0 -29
  86. data/app/assets/stylesheets/addons/_padding.scss +0 -29
  87. data/app/assets/stylesheets/addons/_position.scss +0 -51
  88. data/app/assets/stylesheets/addons/_prefixer.scss +0 -66
  89. data/app/assets/stylesheets/addons/_retina-image.scss +0 -27
  90. data/app/assets/stylesheets/addons/_size.scss +0 -56
  91. data/app/assets/stylesheets/addons/_text-inputs.scss +0 -118
  92. data/app/assets/stylesheets/addons/_triangle.scss +0 -63
  93. data/app/assets/stylesheets/addons/_word-wrap.scss +0 -29
  94. data/app/assets/stylesheets/css3/_animation.scss +0 -61
  95. data/app/assets/stylesheets/css3/_appearance.scss +0 -5
  96. data/app/assets/stylesheets/css3/_backface-visibility.scss +0 -5
  97. data/app/assets/stylesheets/css3/_background-image.scss +0 -44
  98. data/app/assets/stylesheets/css3/_background.scss +0 -57
  99. data/app/assets/stylesheets/css3/_border-image.scss +0 -61
  100. data/app/assets/stylesheets/css3/_calc.scss +0 -6
  101. data/app/assets/stylesheets/css3/_columns.scss +0 -67
  102. data/app/assets/stylesheets/css3/_filter.scss +0 -6
  103. data/app/assets/stylesheets/css3/_flex-box.scss +0 -327
  104. data/app/assets/stylesheets/css3/_font-face.scss +0 -29
  105. data/app/assets/stylesheets/css3/_font-feature-settings.scss +0 -6
  106. data/app/assets/stylesheets/css3/_hidpi-media-query.scss +0 -12
  107. data/app/assets/stylesheets/css3/_hyphens.scss +0 -6
  108. data/app/assets/stylesheets/css3/_image-rendering.scss +0 -15
  109. data/app/assets/stylesheets/css3/_keyframes.scss +0 -38
  110. data/app/assets/stylesheets/css3/_linear-gradient.scss +0 -40
  111. data/app/assets/stylesheets/css3/_perspective.scss +0 -12
  112. data/app/assets/stylesheets/css3/_placeholder.scss +0 -10
  113. data/app/assets/stylesheets/css3/_radial-gradient.scss +0 -40
  114. data/app/assets/stylesheets/css3/_selection.scss +0 -44
  115. data/app/assets/stylesheets/css3/_text-decoration.scss +0 -27
  116. data/app/assets/stylesheets/css3/_transform.scss +0 -21
  117. data/app/assets/stylesheets/css3/_transition.scss +0 -81
  118. data/app/assets/stylesheets/css3/_user-select.scss +0 -5
  119. data/app/assets/stylesheets/functions/_assign-inputs.scss +0 -16
  120. data/app/assets/stylesheets/functions/_contains-falsy.scss +0 -25
  121. data/app/assets/stylesheets/functions/_contains.scss +0 -31
  122. data/app/assets/stylesheets/functions/_is-size.scss +0 -23
  123. data/app/assets/stylesheets/functions/_modular-scale.scss +0 -74
  124. data/app/assets/stylesheets/functions/_px-to-em.scss +0 -24
  125. data/app/assets/stylesheets/functions/_px-to-rem.scss +0 -26
  126. data/app/assets/stylesheets/functions/_shade.scss +0 -24
  127. data/app/assets/stylesheets/functions/_strip-units.scss +0 -22
  128. data/app/assets/stylesheets/functions/_tint.scss +0 -24
  129. data/app/assets/stylesheets/functions/_transition-property-name.scss +0 -37
  130. data/app/assets/stylesheets/helpers/_convert-units.scss +0 -26
  131. data/app/assets/stylesheets/helpers/_gradient-positions-parser.scss +0 -24
  132. data/app/assets/stylesheets/helpers/_linear-angle-parser.scss +0 -35
  133. data/app/assets/stylesheets/helpers/_linear-gradient-parser.scss +0 -51
  134. data/app/assets/stylesheets/helpers/_linear-positions-parser.scss +0 -77
  135. data/app/assets/stylesheets/helpers/_linear-side-corner-parser.scss +0 -41
  136. data/app/assets/stylesheets/helpers/_radial-arg-parser.scss +0 -74
  137. data/app/assets/stylesheets/helpers/_radial-gradient-parser.scss +0 -55
  138. data/app/assets/stylesheets/helpers/_radial-positions-parser.scss +0 -28
  139. data/app/assets/stylesheets/helpers/_render-gradients.scss +0 -31
  140. data/app/assets/stylesheets/helpers/_shape-size-stripper.scss +0 -15
  141. data/app/assets/stylesheets/helpers/_str-to-num.scss +0 -55
  142. data/app/assets/stylesheets/settings/_deprecation-warnings.scss +0 -8
  143. data/app/assets/stylesheets/settings/_prefixer.scss +0 -9
  144. data/app/assets/stylesheets/settings/_px-to-em.scss +0 -1
  145. data/circle.yml +0 -10
  146. data/eyeglass-exports.js +0 -7
  147. data/sache.json +0 -5
  148. data/spec/bourbon/addons/retina_image_spec.rb +0 -57
  149. data/spec/bourbon/addons/triangle_spec.rb +0 -32
  150. data/spec/bourbon/css3/font_face_spec.rb +0 -45
  151. data/spec/bourbon/css3/hidpi_media_query_spec.rb +0 -23
  152. data/spec/bourbon/functions/px_to_em_spec.rb +0 -31
  153. data/spec/bourbon/functions/px_to_rem_spec.rb +0 -25
  154. data/spec/bourbon/helpers/convert_units_spec.rb +0 -31
  155. data/spec/bourbon/helpers/str_to_num_spec.rb +0 -25
  156. data/spec/fixtures/addons/retina-image.scss +0 -21
  157. data/spec/fixtures/addons/triangle.scss +0 -9
  158. data/spec/fixtures/css3/font-face.scss +0 -6
  159. data/spec/fixtures/css3/hidpi-media-query.scss +0 -13
  160. data/spec/fixtures/functions/px-to-em.scss +0 -17
  161. data/spec/fixtures/functions/px-to-rem.scss +0 -15
  162. data/spec/fixtures/functions/strip-units.scss +0 -17
  163. data/spec/fixtures/helpers/convert-units.scss +0 -17
  164. data/spec/fixtures/helpers/str-to-num.scss +0 -13
@@ -0,0 +1,25 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a quick method for targeting `border-width` on specific sides of a box. Use a `null` value to “skip” a side.
4
+ ///
5
+ /// @param {arglist} $values
6
+ /// List of border widths, defined as CSS shorthand
7
+ ///
8
+ /// @example scss
9
+ /// .element {
10
+ /// @include border-width(1em null 20px);
11
+ /// }
12
+ ///
13
+ /// @example css
14
+ /// .element {
15
+ /// border-bottom-width: 20px;
16
+ /// border-top-width: 1em;
17
+ /// }
18
+ ///
19
+ /// @require {mixin} directional-property
20
+ ///
21
+ /// @output `border-*-width`
22
+
23
+ @mixin border-width($values...) {
24
+ @include directional-property(border, width, $values...);
25
+ }
@@ -0,0 +1,61 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Generates variables for all buttons. Please note that you must use interpolation on the variable: `#{$all-buttons}`.
4
+ ///
5
+ /// @example scss
6
+ /// #{$all-buttons} {
7
+ /// background-color: #f00;
8
+ /// }
9
+ ///
10
+ /// #{$all-buttons-focus},
11
+ /// #{$all-buttons-hover} {
12
+ /// background-color: #0f0;
13
+ /// }
14
+ ///
15
+ /// #{$all-buttons-active} {
16
+ /// background-color: #00f;
17
+ /// }
18
+ ///
19
+ /// @example css
20
+ /// button,
21
+ /// [type="button"],
22
+ /// [type="reset"],
23
+ /// [type="submit"] {
24
+ /// background-color: #f00;
25
+ /// }
26
+ ///
27
+ /// button:focus,
28
+ /// [type="button"]:focus,
29
+ /// [type="reset"]:focus,
30
+ /// [type="submit"]:focus,
31
+ /// button:hover,
32
+ /// [type="button"]:hover,
33
+ /// [type="reset"]:hover,
34
+ /// [type="submit"]:hover {
35
+ /// background-color: #0f0;
36
+ /// }
37
+ ///
38
+ /// button:active,
39
+ /// [type="button"]:active,
40
+ /// [type="reset"]:active,
41
+ /// [type="submit"]:active {
42
+ /// background-color: #00f;
43
+ /// }
44
+ ///
45
+ /// @require {function} assign-inputs
46
+ ///
47
+ /// @type list
48
+
49
+ // scss-lint:disable StringQuotes
50
+
51
+ // scss-lint:disable StringQuotes
52
+
53
+ $buttons-list: 'button',
54
+ '[type="button"]',
55
+ '[type="reset"]',
56
+ '[type="submit"]';
57
+
58
+ $all-buttons: assign-inputs($buttons-list);
59
+ $all-buttons-active: assign-inputs($buttons-list, active);
60
+ $all-buttons-focus: assign-inputs($buttons-list, focus);
61
+ $all-buttons-hover: assign-inputs($buttons-list, hover);
@@ -0,0 +1,25 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Provides an easy way to include a clearfix for containing floats.
4
+ ///
5
+ /// @link http://goo.gl/0VEum5
6
+ ///
7
+ /// @example scss
8
+ /// .element {
9
+ /// @include clearfix;
10
+ /// }
11
+ ///
12
+ /// @example css
13
+ /// .element::after {
14
+ /// clear: both;
15
+ /// content: "";
16
+ /// display: table;
17
+ /// }
18
+
19
+ @mixin clearfix {
20
+ &::after {
21
+ clear: both;
22
+ content: "";
23
+ display: table;
24
+ }
25
+ }
@@ -0,0 +1,30 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Truncates text and adds an ellipsis to represent overflow.
4
+ ///
5
+ /// @param {number} $width [100%]
6
+ /// The `max-width` for the string to respect before being truncated
7
+ ///
8
+ /// @example scss
9
+ /// .element {
10
+ /// @include ellipsis;
11
+ /// }
12
+ ///
13
+ /// @example css
14
+ /// .element {
15
+ /// display: inline-block;
16
+ /// max-width: 100%;
17
+ /// overflow: hidden;
18
+ /// text-overflow: ellipsis;
19
+ /// white-space: nowrap;
20
+ /// word-wrap: normal;
21
+ /// }
22
+
23
+ @mixin ellipsis($width: 100%) {
24
+ display: inline-block;
25
+ max-width: $width;
26
+ overflow: hidden;
27
+ text-overflow: ellipsis;
28
+ white-space: nowrap;
29
+ word-wrap: normal;
30
+ }
@@ -0,0 +1,19 @@
1
+ @charset "UTF-8";
2
+
3
+ ////
4
+ /// @type list
5
+ ///
6
+ /// @link goo.gl/Cxb26i
7
+ ////
8
+
9
+ $helvetica: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
10
+ $lucida-grande: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Geneva", "Verdana", sans-serif;
11
+ $verdana: "Verdana", "Geneva", sans-serif;
12
+
13
+ $garamond: "Garamond", "Baskerville", "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif;
14
+ $georgia: "Georgia", "Times", "Times New Roman", serif;
15
+ $hoefler-text: "Hoefler Text", "Baskerville Old Face", "Garamond", "Times New Roman", serif;
16
+
17
+ $consolas: "Consolas", "monaco", monospace;
18
+ $courier-new: "Courier New", "Courier", "Lucida Sans Typewriter", "Lucida Typewriter", monospace;
19
+ $monaco: "monaco", "Consolas", "Lucida Console", monospace;
@@ -0,0 +1,23 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Hides the text in an element, commonly used to show an image instead. Some elements will need block-level styles applied.
4
+ ///
5
+ /// @link http://goo.gl/EvLRIu
6
+ ///
7
+ /// @example scss
8
+ /// .element {
9
+ /// @include hide-text;
10
+ /// }
11
+ ///
12
+ /// @example css
13
+ /// .element {
14
+ /// overflow: hidden;
15
+ /// text-indent: 101%;
16
+ /// white-space: nowrap;
17
+ /// }
18
+
19
+ @mixin hide-text {
20
+ overflow: hidden;
21
+ text-indent: 101%;
22
+ white-space: nowrap;
23
+ }
@@ -0,0 +1,26 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a quick method for targeting `margin` on specific sides of a box. Use a `null` value to “skip” a side.
4
+ ///
5
+ /// @param {arglist} $values
6
+ /// List of margin values, defined as CSS shorthand
7
+ ///
8
+ /// @example scss
9
+ /// .element {
10
+ /// @include margin(null 10px 3em 20vh);
11
+ /// }
12
+ ///
13
+ /// @example css
14
+ /// .element {
15
+ /// margin-bottom: 3em;
16
+ /// margin-left: 20vh;
17
+ /// margin-right: 10px;
18
+ /// }
19
+ ///
20
+ /// @require {mixin} directional-property
21
+ ///
22
+ /// @output `margin`
23
+
24
+ @mixin margin($values...) {
25
+ @include directional-property(margin, false, $values...);
26
+ }
@@ -0,0 +1,26 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a quick method for targeting `padding` on specific sides of a box. Use a `null` value to “skip” a side.
4
+ ///
5
+ /// @param {arglist} $values
6
+ /// List of padding values, defined as CSS shorthand
7
+ ///
8
+ /// @example scss
9
+ /// .element {
10
+ /// @include padding(12vh null 10px 5%);
11
+ /// }
12
+ ///
13
+ /// @example css
14
+ /// .element {
15
+ /// padding-bottom: 10px;
16
+ /// padding-left: 5%;
17
+ /// padding-top: 12vh;
18
+ /// }
19
+ ///
20
+ /// @require {mixin} directional-property
21
+ ///
22
+ /// @output `padding`
23
+
24
+ @mixin padding($values...) {
25
+ @include directional-property(padding, false, $values...);
26
+ }
@@ -0,0 +1,49 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Provides a quick method for setting an element’s position. Use a `null` value to “skip” a side.
4
+ ///
5
+ /// @param {position} $position [relative]
6
+ /// A CSS position value
7
+ ///
8
+ /// @param {arglist} $coordinates [null]
9
+ /// List of lengths, defined as CSS shorthand
10
+ ///
11
+ /// @example scss
12
+ /// .element {
13
+ /// @include position(absolute, 0 null null 10em);
14
+ /// }
15
+ ///
16
+ /// @example css
17
+ /// .element {
18
+ /// left: 10em;
19
+ /// position: absolute;
20
+ /// top: 0;
21
+ /// }
22
+ ///
23
+ /// @require {function} is-length
24
+ ///
25
+ /// @require {function} unpack
26
+
27
+ @mixin position($position: relative, $coordinates: null) {
28
+ @if type-of($position) == list {
29
+ $coordinates: $position;
30
+ $position: relative;
31
+ }
32
+
33
+ $coordinates: unpack($coordinates);
34
+
35
+ $offsets: (
36
+ top: nth($coordinates, 1),
37
+ right: nth($coordinates, 2),
38
+ bottom: nth($coordinates, 3),
39
+ left: nth($coordinates, 4)
40
+ );
41
+
42
+ position: $position;
43
+
44
+ @each $offset, $value in $offsets {
45
+ @if is-length($value) {
46
+ #{$offset}: $value;
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,33 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Generates vendor prefixes.
4
+ ///
5
+ /// @param {string} $property
6
+ /// Property to prefix
7
+ ///
8
+ /// @param {*} $value
9
+ /// Value to use
10
+ ///
11
+ /// @param {list} $prefixes
12
+ /// Vendor prefixes to output
13
+ ///
14
+ /// @example scss
15
+ /// .element {
16
+ /// @include prefixer(appearance, none, webkit moz);
17
+ /// }
18
+ ///
19
+ /// @example css
20
+ /// .element {
21
+ /// -webkit-appearance: none;
22
+ /// -moz-appearance: none;
23
+ /// appearance: none;
24
+ /// }
25
+ ///
26
+ /// @author Hugo Giraudel
27
+
28
+ @mixin prefixer($property, $value, $prefixes: ()) {
29
+ @each $prefix in $prefixes {
30
+ #{"-" + $prefix + "-" + $property}: $value;
31
+ }
32
+ #{$property}: $value;
33
+ }
@@ -0,0 +1,43 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Sets the `width` and `height` of the element in one statement.
4
+ ///
5
+ /// @param {number} $width
6
+ ///
7
+ /// @param {number} $height [$width]
8
+ ///
9
+ /// @example scss
10
+ /// .first-element {
11
+ /// @include size(2em);
12
+ /// }
13
+ ///
14
+ /// .second-element {
15
+ /// @include size(auto, 10em);
16
+ /// }
17
+ ///
18
+ /// @example css
19
+ /// .first-element {
20
+ /// width: 2em;
21
+ /// height: 2em;
22
+ /// }
23
+ ///
24
+ /// .second-element {
25
+ /// width: auto;
26
+ /// height: 10em;
27
+ /// }
28
+ ///
29
+ /// @require {function} is-size
30
+
31
+ @mixin size($width, $height: $width) {
32
+ @if is-size($height) {
33
+ height: $height;
34
+ } @else {
35
+ @error "`#{$height}` is not a valid length for the `$height` parameter in the `size` mixin.";
36
+ }
37
+
38
+ @if is-size($width) {
39
+ width: $width;
40
+ } @else {
41
+ @error "`#{$width}` is not a valid length for the `$width` parameter in the `size` mixin.";
42
+ }
43
+ }
@@ -0,0 +1,123 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Generates variables for all text-based inputs. Please note that you must use interpolation on the variable: `#{$all-text-inputs}`.
4
+ ///
5
+ /// @example scss
6
+ /// #{$all-text-inputs} {
7
+ /// border: 1px solid #f00;
8
+ /// }
9
+ ///
10
+ /// @example css
11
+ /// [type="color"],
12
+ /// [type="date"],
13
+ /// [type="datetime"],
14
+ /// [type="datetime-local"],
15
+ /// [type="email"],
16
+ /// [type="month"],
17
+ /// [type="number"],
18
+ /// [type="password"],
19
+ /// [type="search"],
20
+ /// [type="tel"],
21
+ /// [type="text"],
22
+ /// [type="time"],
23
+ /// [type="url"],
24
+ /// [type="week"],
25
+ /// input:not([type]),
26
+ /// textarea {
27
+ /// border: 1px solid #f00;
28
+ /// }
29
+ ///
30
+ /// @example scss
31
+ /// #{$all-text-inputs-focus},
32
+ /// #{$all-text-inputs-hover} {
33
+ /// border: 1px solid #0f0;
34
+ /// }
35
+ ///
36
+ /// @example css
37
+ /// [type="color"]:focus,
38
+ /// [type="date"]:focus,
39
+ /// [type="datetime"]:focus,
40
+ /// [type="datetime-local"]:focus,
41
+ /// [type="email"]:focus,
42
+ /// [type="month"]:focus,
43
+ /// [type="number"]:focus,
44
+ /// [type="password"]:focus,
45
+ /// [type="search"]:focus,
46
+ /// [type="tel"]:focus,
47
+ /// [type="text"]:focus,
48
+ /// [type="time"]:focus,
49
+ /// [type="url"]:focus,
50
+ /// [type="week"]:focus,
51
+ /// input:not([type]):focus,
52
+ /// textarea:focus,
53
+ /// [type="color"]:hover,
54
+ /// [type="date"]:hover,
55
+ /// [type="datetime"]:hover,
56
+ /// [type="datetime-local"]:hover,
57
+ /// [type="email"]:hover,
58
+ /// [type="month"]:hover,
59
+ /// [type="number"]:hover,
60
+ /// [type="password"]:hover,
61
+ /// [type="search"]:hover,
62
+ /// [type="tel"]:hover,
63
+ /// [type="text"]:hover,
64
+ /// [type="time"]:hover,
65
+ /// [type="url"]:hover,
66
+ /// [type="week"]:hover,
67
+ /// input:not([type]):hover,
68
+ /// textarea:hover {
69
+ /// border: 1px solid #0f0;
70
+ /// }
71
+ ///
72
+ /// @example scss
73
+ /// #{$all-text-inputs-active} {
74
+ /// border: 1px solid #00f;
75
+ /// }
76
+ ///
77
+ /// @example css
78
+ /// [type="color"]:active,
79
+ /// [type="date"]:active,
80
+ /// [type="datetime"]:active,
81
+ /// [type="datetime-local"]:active,
82
+ /// [type="email"]:active,
83
+ /// [type="month"]:active,
84
+ /// [type="number"]:active,
85
+ /// [type="password"]:active,
86
+ /// [type="search"]:active,
87
+ /// [type="tel"]:active,
88
+ /// [type="text"]:active,
89
+ /// [type="time"]:active,
90
+ /// [type="url"]:active,
91
+ /// [type="week"]:active,
92
+ /// input:not([type]):active,
93
+ /// textarea:active {
94
+ /// border: 1px solid #00f;
95
+ /// }
96
+ ///
97
+ /// @require {function} assign-inputs
98
+ ///
99
+ /// @type list
100
+
101
+ // scss-lint:disable StringQuotes
102
+
103
+ $text-inputs-list: '[type="color"]',
104
+ '[type="date"]',
105
+ '[type="datetime"]',
106
+ '[type="datetime-local"]',
107
+ '[type="email"]',
108
+ '[type="month"]',
109
+ '[type="number"]',
110
+ '[type="password"]',
111
+ '[type="search"]',
112
+ '[type="tel"]',
113
+ '[type="text"]',
114
+ '[type="time"]',
115
+ '[type="url"]',
116
+ '[type="week"]',
117
+ 'input:not([type])',
118
+ 'textarea';
119
+
120
+ $all-text-inputs: assign-inputs($text-inputs-list);
121
+ $all-text-inputs-active: assign-inputs($text-inputs-list, active);
122
+ $all-text-inputs-focus: assign-inputs($text-inputs-list, focus);
123
+ $all-text-inputs-hover: assign-inputs($text-inputs-list, hover);