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.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.npmignore +1 -0
- data/.scss-lint.yml +2 -143
- data/.travis.yml +8 -0
- data/LICENSE.md +1 -1
- data/README.md +5 -19
- data/bourbon.gemspec +2 -2
- data/bower.json +7 -6
- data/core/_bourbon.scss +47 -0
- data/core/bourbon/_bourbon-deprecated.scss +1 -0
- data/core/bourbon/addons/_border-color.scss +26 -0
- data/{app/assets/stylesheets → core/bourbon}/addons/_border-radius.scss +19 -18
- data/core/bourbon/addons/_border-style.scss +25 -0
- data/core/bourbon/addons/_border-width.scss +25 -0
- data/core/bourbon/addons/_buttons.scss +61 -0
- data/core/bourbon/addons/_clearfix.scss +25 -0
- data/core/bourbon/addons/_ellipsis.scss +30 -0
- data/core/bourbon/addons/_font-stacks.scss +19 -0
- data/core/bourbon/addons/_hide-text.scss +23 -0
- data/core/bourbon/addons/_margin.scss +26 -0
- data/core/bourbon/addons/_padding.scss +26 -0
- data/core/bourbon/addons/_position.scss +49 -0
- data/core/bourbon/addons/_prefixer.scss +33 -0
- data/core/bourbon/addons/_size.scss +43 -0
- data/core/bourbon/addons/_text-inputs.scss +123 -0
- data/{app/assets/stylesheets → core/bourbon}/addons/_timing-functions.scss +7 -3
- data/core/bourbon/addons/_word-wrap.scss +29 -0
- data/core/bourbon/css3/_font-face.scss +50 -0
- data/core/bourbon/functions/_assign-inputs.scss +25 -0
- data/core/bourbon/functions/_contains-falsy.scss +20 -0
- data/core/bourbon/functions/_contains.scss +23 -0
- data/{app/assets/stylesheets → core/bourbon}/functions/_is-length.scss +3 -6
- data/{app/assets/stylesheets → core/bourbon}/functions/_is-light.scss +5 -10
- data/{app/assets/stylesheets → core/bourbon}/functions/_is-number.scss +3 -6
- data/core/bourbon/functions/_is-size.scss +16 -0
- data/core/bourbon/functions/_modular-scale.scss +101 -0
- data/core/bourbon/functions/_shade.scss +24 -0
- data/core/bourbon/functions/_strip-unit.scss +17 -0
- data/core/bourbon/functions/_tint.scss +24 -0
- data/{app/assets/stylesheets → core/bourbon}/functions/_unpack.scss +11 -14
- data/{app/assets/stylesheets → core/bourbon}/helpers/_directional-values.scss +26 -36
- data/{app/assets/stylesheets → core/bourbon}/helpers/_font-source-declaration.scss +0 -10
- data/{app/assets/stylesheets → core/bourbon}/settings/_asset-pipeline.scss +1 -1
- data/core/bourbon/settings/_global-font-file-formats.scss +12 -0
- data/core/bourbon/settings/_modular-scale.scss +17 -0
- data/core/bourbon/settings/_scales.scss +27 -0
- data/features/step_definitions/bourbon_steps.rb +1 -1
- data/index.js +1 -1
- data/lib/bourbon/engine.rb +1 -1
- data/lib/bourbon/generator.rb +1 -1
- data/lib/bourbon/version.rb +1 -1
- data/package.json +1 -6
- data/spec/bourbon/addons/buttons_spec.rb +3 -3
- data/spec/bourbon/addons/font_stacks_spec.rb +21 -11
- data/spec/bourbon/addons/text_inputs_spec.rb +14 -14
- data/spec/bourbon/css3/font_face_spec_1.rb +18 -0
- data/spec/bourbon/css3/font_face_spec_2.rb +19 -0
- data/spec/bourbon/css3/font_face_spec_3.rb +18 -0
- data/spec/bourbon/css3/font_face_spec_4.rb +19 -0
- data/spec/bourbon/functions/assign_inputs_spec.rb +3 -3
- data/spec/bourbon/functions/{strip_units_spec.rb → strip_unit_spec.rb} +2 -2
- data/spec/fixtures/_setup.scss +1 -1
- data/spec/fixtures/addons/font-stacks.scss +24 -8
- data/spec/fixtures/addons/size.scss +2 -2
- data/spec/fixtures/css3/font-face-1.scss +3 -0
- data/spec/fixtures/css3/font-face-2.scss +3 -0
- data/spec/fixtures/css3/font-face-3.scss +3 -0
- data/spec/fixtures/css3/font-face-4.scss +3 -0
- data/spec/fixtures/functions/assign-inputs.scss +1 -1
- data/spec/fixtures/functions/strip-unit.scss +17 -0
- metadata +72 -129
- data/CHANGELOG.md +0 -47
- data/app/assets/stylesheets/_bourbon-deprecate.scss +0 -19
- data/app/assets/stylesheets/_bourbon-deprecated-upcoming.scss +0 -425
- data/app/assets/stylesheets/_bourbon.scss +0 -90
- data/app/assets/stylesheets/addons/_border-color.scss +0 -29
- data/app/assets/stylesheets/addons/_border-style.scss +0 -28
- data/app/assets/stylesheets/addons/_border-width.scss +0 -28
- data/app/assets/stylesheets/addons/_buttons.scss +0 -69
- data/app/assets/stylesheets/addons/_clearfix.scss +0 -25
- data/app/assets/stylesheets/addons/_ellipsis.scss +0 -30
- data/app/assets/stylesheets/addons/_font-stacks.scss +0 -31
- data/app/assets/stylesheets/addons/_hide-text.scss +0 -27
- data/app/assets/stylesheets/addons/_margin.scss +0 -29
- data/app/assets/stylesheets/addons/_padding.scss +0 -29
- data/app/assets/stylesheets/addons/_position.scss +0 -51
- data/app/assets/stylesheets/addons/_prefixer.scss +0 -66
- data/app/assets/stylesheets/addons/_retina-image.scss +0 -27
- data/app/assets/stylesheets/addons/_size.scss +0 -56
- data/app/assets/stylesheets/addons/_text-inputs.scss +0 -118
- data/app/assets/stylesheets/addons/_triangle.scss +0 -63
- data/app/assets/stylesheets/addons/_word-wrap.scss +0 -29
- data/app/assets/stylesheets/css3/_animation.scss +0 -61
- data/app/assets/stylesheets/css3/_appearance.scss +0 -5
- data/app/assets/stylesheets/css3/_backface-visibility.scss +0 -5
- data/app/assets/stylesheets/css3/_background-image.scss +0 -44
- data/app/assets/stylesheets/css3/_background.scss +0 -57
- data/app/assets/stylesheets/css3/_border-image.scss +0 -61
- data/app/assets/stylesheets/css3/_calc.scss +0 -6
- data/app/assets/stylesheets/css3/_columns.scss +0 -67
- data/app/assets/stylesheets/css3/_filter.scss +0 -6
- data/app/assets/stylesheets/css3/_flex-box.scss +0 -327
- data/app/assets/stylesheets/css3/_font-face.scss +0 -29
- data/app/assets/stylesheets/css3/_font-feature-settings.scss +0 -6
- data/app/assets/stylesheets/css3/_hidpi-media-query.scss +0 -12
- data/app/assets/stylesheets/css3/_hyphens.scss +0 -6
- data/app/assets/stylesheets/css3/_image-rendering.scss +0 -15
- data/app/assets/stylesheets/css3/_keyframes.scss +0 -38
- data/app/assets/stylesheets/css3/_linear-gradient.scss +0 -40
- data/app/assets/stylesheets/css3/_perspective.scss +0 -12
- data/app/assets/stylesheets/css3/_placeholder.scss +0 -10
- data/app/assets/stylesheets/css3/_radial-gradient.scss +0 -40
- data/app/assets/stylesheets/css3/_selection.scss +0 -44
- data/app/assets/stylesheets/css3/_text-decoration.scss +0 -27
- data/app/assets/stylesheets/css3/_transform.scss +0 -21
- data/app/assets/stylesheets/css3/_transition.scss +0 -81
- data/app/assets/stylesheets/css3/_user-select.scss +0 -5
- data/app/assets/stylesheets/functions/_assign-inputs.scss +0 -16
- data/app/assets/stylesheets/functions/_contains-falsy.scss +0 -25
- data/app/assets/stylesheets/functions/_contains.scss +0 -31
- data/app/assets/stylesheets/functions/_is-size.scss +0 -23
- data/app/assets/stylesheets/functions/_modular-scale.scss +0 -74
- data/app/assets/stylesheets/functions/_px-to-em.scss +0 -24
- data/app/assets/stylesheets/functions/_px-to-rem.scss +0 -26
- data/app/assets/stylesheets/functions/_shade.scss +0 -24
- data/app/assets/stylesheets/functions/_strip-units.scss +0 -22
- data/app/assets/stylesheets/functions/_tint.scss +0 -24
- data/app/assets/stylesheets/functions/_transition-property-name.scss +0 -37
- data/app/assets/stylesheets/helpers/_convert-units.scss +0 -26
- data/app/assets/stylesheets/helpers/_gradient-positions-parser.scss +0 -24
- data/app/assets/stylesheets/helpers/_linear-angle-parser.scss +0 -35
- data/app/assets/stylesheets/helpers/_linear-gradient-parser.scss +0 -51
- data/app/assets/stylesheets/helpers/_linear-positions-parser.scss +0 -77
- data/app/assets/stylesheets/helpers/_linear-side-corner-parser.scss +0 -41
- data/app/assets/stylesheets/helpers/_radial-arg-parser.scss +0 -74
- data/app/assets/stylesheets/helpers/_radial-gradient-parser.scss +0 -55
- data/app/assets/stylesheets/helpers/_radial-positions-parser.scss +0 -28
- data/app/assets/stylesheets/helpers/_render-gradients.scss +0 -31
- data/app/assets/stylesheets/helpers/_shape-size-stripper.scss +0 -15
- data/app/assets/stylesheets/helpers/_str-to-num.scss +0 -55
- data/app/assets/stylesheets/settings/_deprecation-warnings.scss +0 -8
- data/app/assets/stylesheets/settings/_prefixer.scss +0 -9
- data/app/assets/stylesheets/settings/_px-to-em.scss +0 -1
- data/circle.yml +0 -10
- data/eyeglass-exports.js +0 -7
- data/sache.json +0 -5
- data/spec/bourbon/addons/retina_image_spec.rb +0 -57
- data/spec/bourbon/addons/triangle_spec.rb +0 -32
- data/spec/bourbon/css3/font_face_spec.rb +0 -45
- data/spec/bourbon/css3/hidpi_media_query_spec.rb +0 -23
- data/spec/bourbon/functions/px_to_em_spec.rb +0 -31
- data/spec/bourbon/functions/px_to_rem_spec.rb +0 -25
- data/spec/bourbon/helpers/convert_units_spec.rb +0 -31
- data/spec/bourbon/helpers/str_to_num_spec.rb +0 -25
- data/spec/fixtures/addons/retina-image.scss +0 -21
- data/spec/fixtures/addons/triangle.scss +0 -9
- data/spec/fixtures/css3/font-face.scss +0 -6
- data/spec/fixtures/css3/hidpi-media-query.scss +0 -13
- data/spec/fixtures/functions/px-to-em.scss +0 -17
- data/spec/fixtures/functions/px-to-rem.scss +0 -15
- data/spec/fixtures/functions/strip-units.scss +0 -17
- data/spec/fixtures/helpers/convert-units.scss +0 -17
- 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);
|