bourbon 4.1.0 → 4.2.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 (109) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -3
  3. data/.hound.yml +4 -0
  4. data/.npmignore +5 -2
  5. data/.scss-lint.yml +175 -0
  6. data/LICENSE.md +6 -8
  7. data/README.md +13 -16
  8. data/Rakefile +6 -4
  9. data/app/assets/stylesheets/_bourbon-deprecated-upcoming.scss +16 -7
  10. data/app/assets/stylesheets/_bourbon.scss +28 -27
  11. data/app/assets/stylesheets/addons/_border-color.scss +26 -0
  12. data/app/assets/stylesheets/addons/_border-radius.scss +48 -0
  13. data/app/assets/stylesheets/addons/_border-style.scss +25 -0
  14. data/app/assets/stylesheets/addons/_border-width.scss +25 -0
  15. data/app/assets/stylesheets/addons/_buttons.scss +64 -0
  16. data/app/assets/stylesheets/addons/_clearfix.scss +17 -10
  17. data/app/assets/stylesheets/addons/_ellipsis.scss +22 -0
  18. data/app/assets/stylesheets/addons/_font-stacks.scss +31 -0
  19. data/app/assets/stylesheets/addons/_hide-text.scss +23 -8
  20. data/app/assets/stylesheets/addons/_margin.scss +26 -0
  21. data/app/assets/stylesheets/addons/_padding.scss +26 -0
  22. data/app/assets/stylesheets/addons/_position.scss +24 -2
  23. data/app/assets/stylesheets/addons/_prefixer.scss +36 -15
  24. data/app/assets/stylesheets/addons/_size.scss +30 -1
  25. data/app/assets/stylesheets/addons/_text-inputs.scss +112 -0
  26. data/app/assets/stylesheets/addons/_timing-functions.scss +7 -5
  27. data/app/assets/stylesheets/addons/_triangle.scss +11 -11
  28. data/app/assets/stylesheets/addons/_word-wrap.scss +19 -0
  29. data/app/assets/stylesheets/css3/_animation.scss +14 -23
  30. data/app/assets/stylesheets/css3/_appearance.scss +1 -1
  31. data/app/assets/stylesheets/css3/_backface-visibility.scss +0 -3
  32. data/app/assets/stylesheets/css3/_background-image.scss +1 -1
  33. data/app/assets/stylesheets/css3/_background.scss +3 -3
  34. data/app/assets/stylesheets/css3/_border-image.scss +3 -3
  35. data/app/assets/stylesheets/css3/_calc.scss +1 -1
  36. data/app/assets/stylesheets/css3/_columns.scss +8 -8
  37. data/app/assets/stylesheets/css3/_filter.scss +0 -1
  38. data/app/assets/stylesheets/css3/_flex-box.scss +16 -47
  39. data/app/assets/stylesheets/css3/_font-feature-settings.scss +1 -7
  40. data/app/assets/stylesheets/css3/_hyphens.scss +2 -2
  41. data/app/assets/stylesheets/css3/_image-rendering.scss +6 -6
  42. data/app/assets/stylesheets/css3/_keyframes.scss +1 -0
  43. data/app/assets/stylesheets/css3/_linear-gradient.scss +11 -11
  44. data/app/assets/stylesheets/css3/_radial-gradient.scss +14 -14
  45. data/app/assets/stylesheets/css3/_selection.scss +39 -11
  46. data/app/assets/stylesheets/css3/_transform.scss +5 -5
  47. data/app/assets/stylesheets/css3/_transition.scss +17 -23
  48. data/app/assets/stylesheets/css3/_user-select.scss +2 -2
  49. data/app/assets/stylesheets/functions/{_assign.scss → _assign-inputs.scss} +2 -2
  50. data/app/assets/stylesheets/functions/_contains-falsy.scss +20 -0
  51. data/app/assets/stylesheets/functions/_contains.scss +16 -2
  52. data/app/assets/stylesheets/functions/_is-length.scss +5 -1
  53. data/app/assets/stylesheets/functions/_is-light.scss +21 -0
  54. data/app/assets/stylesheets/functions/_is-number.scss +11 -0
  55. data/app/assets/stylesheets/functions/_is-size.scss +8 -1
  56. data/app/assets/stylesheets/functions/_px-to-em.scss +2 -2
  57. data/app/assets/stylesheets/functions/_px-to-rem.scss +2 -2
  58. data/app/assets/stylesheets/functions/_shade.scss +24 -0
  59. data/app/assets/stylesheets/functions/_strip-units.scss +15 -3
  60. data/app/assets/stylesheets/functions/_tint.scss +24 -0
  61. data/app/assets/stylesheets/functions/_transition-property-name.scss +14 -14
  62. data/app/assets/stylesheets/functions/_unpack.scss +18 -8
  63. data/app/assets/stylesheets/helpers/_convert-units.scss +2 -2
  64. data/app/assets/stylesheets/helpers/_directional-values.scss +96 -0
  65. data/app/assets/stylesheets/helpers/_font-source-declaration.scss +17 -9
  66. data/app/assets/stylesheets/helpers/_linear-gradient-parser.scss +1 -1
  67. data/app/assets/stylesheets/helpers/_linear-positions-parser.scss +1 -1
  68. data/app/assets/stylesheets/helpers/_radial-arg-parser.scss +10 -10
  69. data/app/assets/stylesheets/helpers/_radial-gradient-parser.scss +4 -4
  70. data/app/assets/stylesheets/helpers/_radial-positions-parser.scss +2 -2
  71. data/app/assets/stylesheets/helpers/_str-to-num.scss +3 -3
  72. data/app/assets/stylesheets/settings/_asset-pipeline.scss +6 -0
  73. data/app/assets/stylesheets/settings/_prefixer.scss +5 -2
  74. data/bourbon.gemspec +4 -2
  75. data/bower.json +8 -6
  76. data/lib/bourbon/version.rb +1 -1
  77. data/package.json +1 -1
  78. data/spec/bourbon/functions/assign_inputs_spec.rb +50 -0
  79. data/spec/bourbon/functions/contains_spec.rb +27 -0
  80. data/spec/bourbon/functions/is_length_spec.rb +49 -0
  81. data/spec/bourbon/functions/is_light_spec.rb +37 -0
  82. data/spec/bourbon/functions/is_number_spec.rb +43 -0
  83. data/spec/bourbon/functions/is_size_spec.rb +43 -0
  84. data/spec/bourbon/functions/modular_scale_spec.rb +43 -0
  85. data/spec/bourbon/functions/px_to_em_spec.rb +31 -0
  86. data/spec/fixtures/_setup.scss +1 -0
  87. data/spec/fixtures/functions/assign-inputs.scss +19 -0
  88. data/spec/fixtures/functions/contains.scss +28 -0
  89. data/spec/fixtures/functions/is-length.scss +35 -0
  90. data/spec/fixtures/functions/is-light.scss +29 -0
  91. data/spec/fixtures/functions/is-number.scss +31 -0
  92. data/spec/fixtures/functions/is-size.scss +31 -0
  93. data/spec/fixtures/functions/modular-scale.scss +29 -0
  94. data/spec/fixtures/functions/px-to-em.scss +17 -0
  95. data/spec/spec_helper.rb +22 -0
  96. data/spec/support/matchers/be_contained_in.rb +10 -0
  97. data/spec/support/matchers/have_rule.rb +35 -0
  98. data/spec/support/matchers/have_value.rb +15 -0
  99. data/spec/support/parser_support.rb +16 -0
  100. data/spec/support/sass_support.rb +10 -0
  101. metadata +100 -17
  102. data/app/assets/stylesheets/addons/_directional-values.scss +0 -111
  103. data/app/assets/stylesheets/addons/_font-family.scss +0 -5
  104. data/app/assets/stylesheets/addons/_html5-input-types.scss +0 -90
  105. data/app/assets/stylesheets/css3/_border-radius.scss +0 -22
  106. data/app/assets/stylesheets/css3/_box-sizing.scss +0 -4
  107. data/app/assets/stylesheets/functions/_color-lightness.scss +0 -13
  108. data/app/assets/stylesheets/functions/_tint-shade.scss +0 -9
  109. data/app/assets/stylesheets/helpers/_is-num.scss +0 -5
@@ -0,0 +1,64 @@
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 - Usage
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 - CSS Output
20
+ /// button,
21
+ /// input[type="button"],
22
+ /// input[type="reset"],
23
+ /// input[type="submit"] {
24
+ /// background-color: #f00;
25
+ /// }
26
+ ///
27
+ /// button:focus,
28
+ /// input[type="button"]:focus,
29
+ /// input[type="reset"]:focus,
30
+ /// input[type="submit"]:focus,
31
+ /// button:hover,
32
+ /// input[type="button"]:hover,
33
+ /// input[type="reset"]:hover,
34
+ /// input[type="submit"]:hover {
35
+ /// background-color: #0f0;
36
+ /// }
37
+ ///
38
+ /// button:active,
39
+ /// input[type="button"]:active,
40
+ /// input[type="reset"]:active,
41
+ /// input[type="submit"]:active {
42
+ /// background-color: #00f;
43
+ /// }
44
+ ///
45
+ /// @require assign-inputs
46
+ ///
47
+ /// @type List
48
+ ///
49
+ /// @todo Remove double assigned variables (Lines 59–62) in v5.0.0
50
+
51
+ $buttons-list: 'button',
52
+ 'input[type="button"]',
53
+ 'input[type="reset"]',
54
+ 'input[type="submit"]';
55
+
56
+ $all-buttons: assign-inputs($buttons-list);
57
+ $all-buttons-active: assign-inputs($buttons-list, active);
58
+ $all-buttons-focus: assign-inputs($buttons-list, focus);
59
+ $all-buttons-hover: assign-inputs($buttons-list, hover);
60
+
61
+ $all-button-inputs: $all-buttons;
62
+ $all-button-inputs-active: $all-buttons-active;
63
+ $all-button-inputs-focus: $all-buttons-focus;
64
+ $all-button-inputs-hover: $all-buttons-hover;
@@ -1,9 +1,20 @@
1
- // The clearfix mixin provides an easy way to contain floats
2
- //
3
- // Example usage:
4
- // .wrapper {
5
- // @include clearfix;
6
- // }
1
+ @charset "UTF-8";
2
+
3
+ /// Provides an easy way to include a clearfix for containing floats.
4
+ ///
5
+ /// @link http://cssmojo.com/latest_new_clearfix_so_far/
6
+ ///
7
+ /// @example scss - Usage
8
+ /// .element {
9
+ /// @include clearfix;
10
+ /// }
11
+ ///
12
+ /// @example css - CSS Output
13
+ /// .element::after {
14
+ /// clear: both;
15
+ /// content: "";
16
+ /// display: table;
17
+ /// }
7
18
 
8
19
  @mixin clearfix {
9
20
  &::after {
@@ -12,7 +23,3 @@
12
23
  display: table;
13
24
  }
14
25
  }
15
-
16
- // Acknowledgements:
17
- // Thierry Koblentz, cssmojo
18
- // http://goo.gl/AQWvyH
@@ -1,3 +1,25 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Truncates text and adds an ellipsis to represent overflow.
4
+ ///
5
+ /// @param {Number} $width [100%]
6
+ /// Max-width for the string to respect before being truncated
7
+ ///
8
+ /// @example scss - Usage
9
+ /// .element {
10
+ /// @include ellipsis;
11
+ /// }
12
+ ///
13
+ /// @example css - CSS Output
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
+
1
23
  @mixin ellipsis($width: 100%) {
2
24
  display: inline-block;
3
25
  max-width: $width;
@@ -0,0 +1,31 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Georgia font stack.
4
+ ///
5
+ /// @type List
6
+
7
+ $georgia: "Georgia", "Cambria", "Times New Roman", "Times", serif;
8
+
9
+ /// Helvetica font stack.
10
+ ///
11
+ /// @type List
12
+
13
+ $helvetica: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
14
+
15
+ /// Lucida Grande font stack.
16
+ ///
17
+ /// @type List
18
+
19
+ $lucida-grande: "Lucida Grande", "Tahoma", "Verdana", "Arial", sans-serif;
20
+
21
+ /// Monospace font stack.
22
+ ///
23
+ /// @type List
24
+
25
+ $monospace: "Bitstream Vera Sans Mono", "Consolas", "Courier", monospace;
26
+
27
+ /// Verdana font stack.
28
+ ///
29
+ /// @type List
30
+
31
+ $verdana: "Verdana", "Geneva", sans-serif;
@@ -1,12 +1,27 @@
1
- @mixin hide-text($height: 1em) {
2
- height: $height;
3
- line-height: 1.5;
1
+ /// Hides the text in an element, commonly used to show an image. Some elements will need block-level styles applied.
2
+ ///
3
+ /// @link http://zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement
4
+ ///
5
+ /// @example scss - Usage
6
+ /// .element {
7
+ /// @include hide-text;
8
+ /// }
9
+ ///
10
+ /// @example css - CSS Output
11
+ /// .element {
12
+ /// overflow: hidden;
13
+ /// text-indent: 101%;
14
+ /// white-space: nowrap;
15
+ /// }
16
+ ///
17
+ /// @todo Remove height argument in v5.0.0
18
+
19
+ @mixin hide-text($height: null) {
4
20
  overflow: hidden;
21
+ text-indent: 101%;
22
+ white-space: nowrap;
5
23
 
6
- &::before {
7
- content: "";
8
- display: block;
9
- width: 0;
10
- height: 100%;
24
+ @if $height {
25
+ @warn "The `hide-text` mixin has changed and no longer requires a height. The height argument will no longer be accepted in v5.0.0";
11
26
  }
12
27
  }
@@ -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} $vals
6
+ /// List of arguments
7
+ ///
8
+ /// @example scss - Usage
9
+ /// .element {
10
+ /// @include margin(null 10px 3em 20vh);
11
+ /// }
12
+ ///
13
+ /// @example css - CSS Output
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($vals...) {
25
+ @include directional-property(margin, false, $vals...);
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} $vals
6
+ /// List of arguments
7
+ ///
8
+ /// @example scss - Usage
9
+ /// .element {
10
+ /// @include padding(12vh null 10px 5%);
11
+ /// }
12
+ ///
13
+ /// @example css - CSS Output
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($vals...) {
25
+ @include directional-property(padding, false, $vals...);
26
+ }
@@ -1,7 +1,29 @@
1
- // Set element positioning in a single statement
1
+ @charset "UTF-8";
2
2
 
3
- @mixin position($position: relative, $coordinates: null null null null) {
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 null null null]
9
+ /// List of values that correspond to the 4-value syntax for the edges of a box
10
+ ///
11
+ /// @example scss - Usage
12
+ /// .element {
13
+ /// @include position(absolute, 0 null null 10em);
14
+ /// }
15
+ ///
16
+ /// @example css - CSS Output
17
+ /// .element {
18
+ /// left: 10em;
19
+ /// position: absolute;
20
+ /// top: 0;
21
+ /// }
22
+ ///
23
+ /// @require {function} is-length
24
+ /// @require {function} unpack
4
25
 
26
+ @mixin position($position: relative, $coordinates: null null null null) {
5
27
  @if type-of($position) == list {
6
28
  $coordinates: $position;
7
29
  $position: relative;
@@ -1,36 +1,57 @@
1
- //************************************************************************//
2
- // Example: @include prefixer(border-radius, $radii, webkit ms spec);
3
- //************************************************************************//
4
- // Variables located in /settings/_prefixer.scss
1
+ @charset "UTF-8";
5
2
 
6
- @mixin prefixer ($property, $value, $prefixes) {
3
+ /// A mixin for generating vendor prefixes on non-standardized properties.
4
+ ///
5
+ /// @param {String} $property
6
+ /// Property to prefix
7
+ ///
8
+ /// @param {*} $value
9
+ /// Value to use
10
+ ///
11
+ /// @param {List} $prefixes
12
+ /// Prefixes to define
13
+ ///
14
+ /// @example scss - Usage
15
+ /// .element {
16
+ /// @include prefixer(border-radius, 10px, webkit ms spec);
17
+ /// }
18
+ ///
19
+ /// @example css - CSS Output
20
+ /// .element {
21
+ /// -webkit-border-radius: 10px;
22
+ /// -moz-border-radius: 10px;
23
+ /// border-radius: 10px;
24
+ /// }
25
+ ///
26
+ /// @require {variable} $prefix-for-webkit
27
+ /// @require {variable} $prefix-for-mozilla
28
+ /// @require {variable} $prefix-for-microsoft
29
+ /// @require {variable} $prefix-for-opera
30
+ /// @require {variable} $prefix-for-spec
31
+
32
+ @mixin prefixer($property, $value, $prefixes) {
7
33
  @each $prefix in $prefixes {
8
34
  @if $prefix == webkit {
9
35
  @if $prefix-for-webkit {
10
36
  -webkit-#{$property}: $value;
11
37
  }
12
- }
13
- @else if $prefix == moz {
38
+ } @else if $prefix == moz {
14
39
  @if $prefix-for-mozilla {
15
40
  -moz-#{$property}: $value;
16
41
  }
17
- }
18
- @else if $prefix == ms {
42
+ } @else if $prefix == ms {
19
43
  @if $prefix-for-microsoft {
20
44
  -ms-#{$property}: $value;
21
45
  }
22
- }
23
- @else if $prefix == o {
46
+ } @else if $prefix == o {
24
47
  @if $prefix-for-opera {
25
48
  -o-#{$property}: $value;
26
49
  }
27
- }
28
- @else if $prefix == spec {
50
+ } @else if $prefix == spec {
29
51
  @if $prefix-for-spec {
30
52
  #{$property}: $value;
31
53
  }
32
- }
33
- @else {
54
+ } @else {
34
55
  @warn "Unrecognized prefix: #{$prefix}";
35
56
  }
36
57
  }
@@ -1,4 +1,33 @@
1
- // Set `width` and `height` in a single statement
1
+ @charset "UTF-8";
2
+
3
+ /// Sets the `width` and `height` of the element.
4
+ ///
5
+ /// @param {List} $size
6
+ /// A list of at most 2 size values.
7
+ ///
8
+ /// If there is only a single value in `$size` it is used for both width and height. All units are supported.
9
+ ///
10
+ /// @example scss - Usage
11
+ /// .first-element {
12
+ /// @include size(2em);
13
+ /// }
14
+ ///
15
+ /// .second-element {
16
+ /// @include size(auto 10em);
17
+ /// }
18
+ ///
19
+ /// @example css - CSS Output
20
+ /// .first-element {
21
+ /// width: 2em;
22
+ /// height: 2em;
23
+ /// }
24
+ ///
25
+ /// .second-element {
26
+ /// width: auto;
27
+ /// height: 10em;
28
+ /// }
29
+ ///
30
+ /// @todo Refactor in 5.0.0 to use a comma-separated argument
2
31
 
3
32
  @mixin size($value) {
4
33
  $width: nth($value, 1);
@@ -0,0 +1,112 @@
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 - Usage
6
+ /// #{$all-text-inputs} {
7
+ /// border: 1px solid #f00;
8
+ /// }
9
+ ///
10
+ /// #{$all-text-inputs-focus},
11
+ /// #{$all-text-inputs-hover} {
12
+ /// border: 1px solid #0f0;
13
+ /// }
14
+ ///
15
+ /// #{$all-text-inputs-active} {
16
+ /// border: 1px solid #00f;
17
+ /// }
18
+ ///
19
+ /// @example css - CSS Output
20
+ /// input[type="color"],
21
+ /// input[type="date"],
22
+ /// input[type="datetime"],
23
+ /// input[type="datetime-local"],
24
+ /// input[type="email"],
25
+ /// input[type="month"],
26
+ /// input[type="number"],
27
+ /// input[type="password"],
28
+ /// input[type="search"],
29
+ /// input[type="tel"],
30
+ /// input[type="text"],
31
+ /// input[type="time"],
32
+ /// input[type="url"],
33
+ /// input[type="week"],
34
+ /// textarea {
35
+ /// border: 1px solid #f00;
36
+ /// }
37
+ ///
38
+ /// input[type="color"]:focus,
39
+ /// input[type="date"]:focus,
40
+ /// input[type="datetime"]:focus,
41
+ /// input[type="datetime-local"]:focus,
42
+ /// input[type="email"]:focus,
43
+ /// input[type="month"]:focus,
44
+ /// input[type="number"]:focus,
45
+ /// input[type="password"]:focus,
46
+ /// input[type="search"]:focus,
47
+ /// input[type="tel"]:focus,
48
+ /// input[type="text"]:focus,
49
+ /// input[type="time"]:focus,
50
+ /// input[type="url"]:focus,
51
+ /// input[type="week"]:focus,
52
+ /// textarea:focus,
53
+ /// input[type="color"]:hover,
54
+ /// input[type="date"]:hover,
55
+ /// input[type="datetime"]:hover,
56
+ /// input[type="datetime-local"]:hover,
57
+ /// input[type="email"]:hover,
58
+ /// input[type="month"]:hover,
59
+ /// input[type="number"]:hover,
60
+ /// input[type="password"]:hover,
61
+ /// input[type="search"]:hover,
62
+ /// input[type="tel"]:hover,
63
+ /// input[type="text"]:hover,
64
+ /// input[type="time"]:hover,
65
+ /// input[type="url"]:hover,
66
+ /// input[type="week"]:hover,
67
+ /// textarea:hover {
68
+ /// border: 1px solid #0f0;
69
+ /// }
70
+ ///
71
+ /// input[type="color"]:active,
72
+ /// input[type="date"]:active,
73
+ /// input[type="datetime"]:active,
74
+ /// input[type="datetime-local"]:active,
75
+ /// input[type="email"]:active,
76
+ /// input[type="month"]:active,
77
+ /// input[type="number"]:active,
78
+ /// input[type="password"]:active,
79
+ /// input[type="search"]:active,
80
+ /// input[type="tel"]:active,
81
+ /// input[type="text"]:active,
82
+ /// input[type="time"]:active,
83
+ /// input[type="url"]:active,
84
+ /// input[type="week"]:active,
85
+ /// textarea:active {
86
+ /// border: 1px solid #00f;
87
+ /// }
88
+ ///
89
+ /// @require assign-inputs
90
+ ///
91
+ /// @type List
92
+
93
+ $text-inputs-list: 'input[type="color"]',
94
+ 'input[type="date"]',
95
+ 'input[type="datetime"]',
96
+ 'input[type="datetime-local"]',
97
+ 'input[type="email"]',
98
+ 'input[type="month"]',
99
+ 'input[type="number"]',
100
+ 'input[type="password"]',
101
+ 'input[type="search"]',
102
+ 'input[type="tel"]',
103
+ 'input[type="text"]',
104
+ 'input[type="time"]',
105
+ 'input[type="url"]',
106
+ 'input[type="week"]',
107
+ 'textarea';
108
+
109
+ $all-text-inputs: assign-inputs($text-inputs-list);
110
+ $all-text-inputs-active: assign-inputs($text-inputs-list, active);
111
+ $all-text-inputs-focus: assign-inputs($text-inputs-list, focus);
112
+ $all-text-inputs-hover: assign-inputs($text-inputs-list, hover);
@@ -1,7 +1,11 @@
1
- // CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie)
2
- // Timing functions are the same as demo'ed here: http://jqueryui.com/resources/demos/effect/easing.html
1
+ @charset "UTF-8";
2
+
3
+ /// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie)
4
+ ///
5
+ /// Timing functions are the same as demoed here: http://jqueryui.com/resources/demos/effect/easing.html
6
+ ///
7
+ /// @type cubic-bezier
3
8
 
4
- // EASE IN
5
9
  $ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
6
10
  $ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
7
11
  $ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
@@ -11,7 +15,6 @@ $ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
11
15
  $ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);
12
16
  $ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045);
13
17
 
14
- // EASE OUT
15
18
  $ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
16
19
  $ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
17
20
  $ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
@@ -21,7 +24,6 @@ $ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
21
24
  $ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);
22
25
  $ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);
23
26
 
24
- // EASE IN OUT
25
27
  $ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
26
28
  $ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
27
29
  $ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
@@ -14,14 +14,14 @@
14
14
  $height: if(length($size) > 1, $height, $height/2);
15
15
 
16
16
  @if $direction == up {
17
+ border-bottom: $height solid $foreground-color;
17
18
  border-left: $width solid $background-color;
18
19
  border-right: $width solid $background-color;
19
- border-bottom: $height solid $foreground-color;
20
20
 
21
21
  } @else if $direction == right {
22
- border-top: $width solid $background-color;
23
22
  border-bottom: $width solid $background-color;
24
23
  border-left: $height solid $foreground-color;
24
+ border-top: $width solid $background-color;
25
25
 
26
26
  } @else if $direction == down {
27
27
  border-left: $width solid $background-color;
@@ -29,9 +29,9 @@
29
29
  border-top: $height solid $foreground-color;
30
30
 
31
31
  } @else if $direction == left {
32
- border-top: $width solid $background-color;
33
32
  border-bottom: $width solid $background-color;
34
33
  border-right: $height solid $foreground-color;
34
+ border-top: $width solid $background-color;
35
35
  }
36
36
  }
37
37
 
@@ -58,26 +58,26 @@
58
58
  }
59
59
 
60
60
  @else if ($direction == inset-up) {
61
- border-width: $height $width;
62
- border-style: solid;
63
61
  border-color: $background-color $background-color $foreground-color;
62
+ border-style: solid;
63
+ border-width: $height $width;
64
64
  }
65
65
 
66
66
  @else if ($direction == inset-down) {
67
- border-width: $height $width;
68
- border-style: solid;
69
67
  border-color: $foreground-color $background-color $background-color;
68
+ border-style: solid;
69
+ border-width: $height $width;
70
70
  }
71
71
 
72
72
  @else if ($direction == inset-right) {
73
- border-width: $width $height;
74
- border-style: solid;
75
73
  border-color: $background-color $background-color $background-color $foreground-color;
74
+ border-style: solid;
75
+ border-width: $width $height;
76
76
  }
77
77
 
78
78
  @else if ($direction == inset-left) {
79
- border-width: $width $height;
80
- border-style: solid;
81
79
  border-color: $background-color $foreground-color $background-color $background-color;
80
+ border-style: solid;
81
+ border-width: $width $height;
82
82
  }
83
83
  }
@@ -1,3 +1,22 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Provides an easy way to change the `word-wrap` property.
4
+ ///
5
+ /// @param {String} $wrap [break-word]
6
+ /// Value for the `word-break` property.
7
+ ///
8
+ /// @example scss - Usage
9
+ /// .wrapper {
10
+ /// @include word-wrap(break-word);
11
+ /// }
12
+ ///
13
+ /// @example css - CSS Output
14
+ /// .wrapper {
15
+ /// overflow-wrap: break-word;
16
+ /// word-break: break-all;
17
+ /// word-wrap: break-word;
18
+ /// }
19
+
1
20
  @mixin word-wrap($wrap: break-word) {
2
21
  overflow-wrap: $wrap;
3
22
  word-wrap: $wrap;