baseline-scss 0.5.0 → 1.0.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.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/lib/baseline_scss/version.rb +1 -1
- data/lib/baseline_scss.rb +3 -5
- data/src/baseline-scss/_helpers.scss +23 -7
- data/src/baseline-scss/_mixins.scss +65 -7
- data/src/baseline-scss/_reboot.scss +16 -172
- data/src/baseline-scss/_variables.scss +63 -127
- data/src/baseline-scss/content/_buttons.scss +77 -24
- data/src/baseline-scss/content/_code.scss +23 -10
- data/src/baseline-scss/content/_forms.scss +167 -53
- data/src/baseline-scss/content/_index.scss +8 -0
- data/src/baseline-scss/content/_lists.scss +4 -3
- data/src/baseline-scss/content/_multimedia.scss +13 -0
- data/src/baseline-scss/content/_tables.scss +21 -1
- data/src/baseline-scss/content/_typography.scss +68 -41
- data/src/baseline-scss.scss +5 -11
- metadata +4 -59
- data/src/_baseline.scss +0 -5
- data/src/baseline-scss/_content.scss +0 -7
- data/src/baseline-scss/mixins/_.scss +0 -4
- data/src/baseline-scss/mixins/_after_border.scss +0 -12
- data/src/baseline-scss/mixins/_clearfix.scss +0 -7
- data/src/baseline-scss/mixins/_font_awesome.scss +0 -12
- data/src/baseline-scss/mixins/_max_width_container.scss +0 -15
- data/src/baseline-scss/mixins/_outline.scss +0 -5
- data/src/baseline-scss/mixins/_sr_only.scss +0 -17
- data/src/vendors/_bourbon.scss +0 -54
- data/src/vendors/_include-media.scss +0 -591
- data/src/vendors/bourbon/helpers/_buttons-list.scss +0 -14
- data/src/vendors/bourbon/helpers/_scales.scss +0 -27
- data/src/vendors/bourbon/helpers/_text-inputs-list.scss +0 -26
- data/src/vendors/bourbon/library/_border-color.scss +0 -26
- data/src/vendors/bourbon/library/_border-radius.scss +0 -85
- data/src/vendors/bourbon/library/_border-style.scss +0 -25
- data/src/vendors/bourbon/library/_border-width.scss +0 -25
- data/src/vendors/bourbon/library/_buttons.scss +0 -84
- data/src/vendors/bourbon/library/_clearfix.scss +0 -25
- data/src/vendors/bourbon/library/_contrast-switch.scss +0 -81
- data/src/vendors/bourbon/library/_ellipsis.scss +0 -36
- data/src/vendors/bourbon/library/_font-face.scss +0 -65
- data/src/vendors/bourbon/library/_font-stacks.scss +0 -248
- data/src/vendors/bourbon/library/_hide-text.scss +0 -24
- data/src/vendors/bourbon/library/_hide-visually.scss +0 -70
- data/src/vendors/bourbon/library/_margin.scss +0 -37
- data/src/vendors/bourbon/library/_modular-scale.scss +0 -120
- data/src/vendors/bourbon/library/_overflow-wrap.scss +0 -25
- data/src/vendors/bourbon/library/_padding.scss +0 -36
- data/src/vendors/bourbon/library/_position.scss +0 -62
- data/src/vendors/bourbon/library/_prefixer.scss +0 -37
- data/src/vendors/bourbon/library/_shade.scss +0 -32
- data/src/vendors/bourbon/library/_size.scss +0 -50
- data/src/vendors/bourbon/library/_strip-unit.scss +0 -17
- data/src/vendors/bourbon/library/_text-inputs.scss +0 -163
- data/src/vendors/bourbon/library/_timing-functions.scss +0 -36
- data/src/vendors/bourbon/library/_tint.scss +0 -32
- data/src/vendors/bourbon/library/_triangle.scss +0 -82
- data/src/vendors/bourbon/library/_value-prefixer.scss +0 -37
- data/src/vendors/bourbon/settings/_settings.scss +0 -75
- data/src/vendors/bourbon/utilities/_assign-inputs.scss +0 -28
- data/src/vendors/bourbon/utilities/_compact-shorthand.scss +0 -42
- data/src/vendors/bourbon/utilities/_contrast-ratio.scss +0 -31
- data/src/vendors/bourbon/utilities/_directional-property.scss +0 -68
- data/src/vendors/bourbon/utilities/_fetch-bourbon-setting.scss +0 -16
- data/src/vendors/bourbon/utilities/_font-source-declaration.scss +0 -52
- data/src/vendors/bourbon/utilities/_gamma.scss +0 -24
- data/src/vendors/bourbon/utilities/_lightness.scss +0 -24
- data/src/vendors/bourbon/utilities/_unpack-shorthand.scss +0 -29
- data/src/vendors/bourbon/validators/_contains-falsy.scss +0 -20
- data/src/vendors/bourbon/validators/_contains.scss +0 -26
- data/src/vendors/bourbon/validators/_is-color.scss +0 -13
- data/src/vendors/bourbon/validators/_is-length.scss +0 -20
- data/src/vendors/bourbon/validators/_is-number.scss +0 -15
- data/src/vendors/bourbon/validators/_is-size.scss +0 -18
| @@ -1,24 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            /// Hides the text in an element, commonly used to show an image instead. Some
         | 
| 4 | 
            -
            /// elements will need block-level styles applied.
         | 
| 5 | 
            -
            ///
         | 
| 6 | 
            -
            /// @link https://goo.gl/EvLRIu
         | 
| 7 | 
            -
            ///
         | 
| 8 | 
            -
            /// @example scss
         | 
| 9 | 
            -
            ///   .element {
         | 
| 10 | 
            -
            ///     @include hide-text;
         | 
| 11 | 
            -
            ///   }
         | 
| 12 | 
            -
            ///
         | 
| 13 | 
            -
            ///   // CSS Output
         | 
| 14 | 
            -
            ///   .element {
         | 
| 15 | 
            -
            ///     overflow: hidden;
         | 
| 16 | 
            -
            ///     text-indent: 101%;
         | 
| 17 | 
            -
            ///     white-space: nowrap;
         | 
| 18 | 
            -
            ///   }
         | 
| 19 | 
            -
             | 
| 20 | 
            -
            @mixin hide-text {
         | 
| 21 | 
            -
              overflow: hidden;
         | 
| 22 | 
            -
              text-indent: 101%;
         | 
| 23 | 
            -
              white-space: nowrap;
         | 
| 24 | 
            -
            }
         | 
| @@ -1,70 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            /// Hides an element visually while still allowing the content to be accessible
         | 
| 4 | 
            -
            /// to assistive technology, e.g. screen readers. Passing `unhide` will reverse
         | 
| 5 | 
            -
            /// the affects of the hiding, which is handy for showing the element on focus,
         | 
| 6 | 
            -
            /// for example.
         | 
| 7 | 
            -
            ///
         | 
| 8 | 
            -
            /// @link https://goo.gl/Vf1TGn
         | 
| 9 | 
            -
            ///
         | 
| 10 | 
            -
            /// @argument {string} $toggle [hide]
         | 
| 11 | 
            -
            ///   Accepts `hide` or `unhide`. `unhide` reverses the affects of `hide`.
         | 
| 12 | 
            -
            ///
         | 
| 13 | 
            -
            /// @example scss
         | 
| 14 | 
            -
            ///   .element {
         | 
| 15 | 
            -
            ///     @include hide-visually;
         | 
| 16 | 
            -
            ///
         | 
| 17 | 
            -
            ///     &:active,
         | 
| 18 | 
            -
            ///     &:focus {
         | 
| 19 | 
            -
            ///       @include hide-visually("unhide");
         | 
| 20 | 
            -
            ///     }
         | 
| 21 | 
            -
            ///   }
         | 
| 22 | 
            -
            ///
         | 
| 23 | 
            -
            ///   // CSS Output
         | 
| 24 | 
            -
            ///   .element {
         | 
| 25 | 
            -
            ///     border: 0;
         | 
| 26 | 
            -
            ///     clip: rect(1px, 1px, 1px, 1px);
         | 
| 27 | 
            -
            ///     clip-path: inset(100%);
         | 
| 28 | 
            -
            ///     height: 1px;
         | 
| 29 | 
            -
            ///     overflow: hidden;
         | 
| 30 | 
            -
            ///     padding: 0;
         | 
| 31 | 
            -
            ///     position: absolute;
         | 
| 32 | 
            -
            ///     width: 1px;
         | 
| 33 | 
            -
            ///   }
         | 
| 34 | 
            -
            ///
         | 
| 35 | 
            -
            ///   .hide-visually:active,
         | 
| 36 | 
            -
            ///   .hide-visually:focus {
         | 
| 37 | 
            -
            ///     clip: auto;
         | 
| 38 | 
            -
            ///     clip-path: none;
         | 
| 39 | 
            -
            ///     height: auto;
         | 
| 40 | 
            -
            ///     overflow: visible;
         | 
| 41 | 
            -
            ///     position: static;
         | 
| 42 | 
            -
            ///     width: auto;
         | 
| 43 | 
            -
            ///   }
         | 
| 44 | 
            -
            ///
         | 
| 45 | 
            -
            /// @since 5.0.0
         | 
| 46 | 
            -
             | 
| 47 | 
            -
            @mixin hide-visually($toggle: "hide") {
         | 
| 48 | 
            -
              @if not index("hide" "unhide", $toggle) {
         | 
| 49 | 
            -
                @error "`#{$toggle}` is not a valid value for the `$toggle` argument in " +
         | 
| 50 | 
            -
                  "the `hide-visually` mixin. Must be either `hide` or `unhide`.";
         | 
| 51 | 
            -
              } @else if $toggle == "hide" {
         | 
| 52 | 
            -
                border: 0;
         | 
| 53 | 
            -
                clip: rect(1px, 1px, 1px, 1px);
         | 
| 54 | 
            -
                clip-path: inset(100%);
         | 
| 55 | 
            -
                height: 1px;
         | 
| 56 | 
            -
                overflow: hidden;
         | 
| 57 | 
            -
                padding: 0;
         | 
| 58 | 
            -
                position: absolute;
         | 
| 59 | 
            -
                white-space: nowrap;
         | 
| 60 | 
            -
                width: 1px;
         | 
| 61 | 
            -
              } @else if $toggle == "unhide" {
         | 
| 62 | 
            -
                clip: auto;
         | 
| 63 | 
            -
                clip-path: none;
         | 
| 64 | 
            -
                height: auto;
         | 
| 65 | 
            -
                overflow: visible;
         | 
| 66 | 
            -
                position: static;
         | 
| 67 | 
            -
                white-space: inherit;
         | 
| 68 | 
            -
                width: auto;
         | 
| 69 | 
            -
              }
         | 
| 70 | 
            -
            }
         | 
| @@ -1,37 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            /// Provides a concise, one-line method for setting `margin` on specific edges
         | 
| 4 | 
            -
            /// of a box. Use a `null` value to “skip” edges of the box with standard
         | 
| 5 | 
            -
            /// CSS shorthand.
         | 
| 6 | 
            -
            ///
         | 
| 7 | 
            -
            /// @argument {list} $values
         | 
| 8 | 
            -
            ///   List of margin values; accepts CSS shorthand.
         | 
| 9 | 
            -
            ///
         | 
| 10 | 
            -
            /// @example scss
         | 
| 11 | 
            -
            ///   .element {
         | 
| 12 | 
            -
            ///     @include margin(null auto);
         | 
| 13 | 
            -
            ///   }
         | 
| 14 | 
            -
            ///
         | 
| 15 | 
            -
            ///   // CSS Output
         | 
| 16 | 
            -
            ///   .element {
         | 
| 17 | 
            -
            ///     margin-left: auto;
         | 
| 18 | 
            -
            ///     margin-right: auto;
         | 
| 19 | 
            -
            ///   }
         | 
| 20 | 
            -
            ///
         | 
| 21 | 
            -
            /// @example scss
         | 
| 22 | 
            -
            ///   .element {
         | 
| 23 | 
            -
            ///     @include margin(10px 3em 20vh null);
         | 
| 24 | 
            -
            ///   }
         | 
| 25 | 
            -
            ///
         | 
| 26 | 
            -
            ///   // CSS Output
         | 
| 27 | 
            -
            ///   .element {
         | 
| 28 | 
            -
            ///     margin-bottom: 20vh;
         | 
| 29 | 
            -
            ///     margin-right: 3em;
         | 
| 30 | 
            -
            ///     margin-top: 10px;
         | 
| 31 | 
            -
            ///   }
         | 
| 32 | 
            -
            ///
         | 
| 33 | 
            -
            /// @require {mixin} _directional-property
         | 
| 34 | 
            -
             | 
| 35 | 
            -
            @mixin margin($values) {
         | 
| 36 | 
            -
              @include _directional-property(margin, null, $values);
         | 
| 37 | 
            -
            }
         | 
| @@ -1,120 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            /// Increments up or down a defined scale and returns an adjusted value. This
         | 
| 4 | 
            -
            /// helps establish consistent measurements and spacial relationships throughout
         | 
| 5 | 
            -
            /// your project. We provide a list of commonly used scales as
         | 
| 6 | 
            -
            /// [pre-defined variables][scales].
         | 
| 7 | 
            -
            ///
         | 
| 8 | 
            -
            /// [scales]: https://github.com/thoughtbot/bourbon/blob/master/core/bourbon/helpers/_scales.scss
         | 
| 9 | 
            -
            ///
         | 
| 10 | 
            -
            /// @argument {number (unitless)} $increment
         | 
| 11 | 
            -
            ///   How many steps to increment up or down the scale.
         | 
| 12 | 
            -
            ///
         | 
| 13 | 
            -
            /// @argument {number (with unit) | list} $value [1em]
         | 
| 14 | 
            -
            ///   The base value the scale starts at. Can also be set globally using the
         | 
| 15 | 
            -
            ///   `modular-scale-base` key in the Bourbon settings.
         | 
| 16 | 
            -
            ///
         | 
| 17 | 
            -
            /// @argument {number (unitless)} $ratio [1.25]
         | 
| 18 | 
            -
            ///   The ratio the scale is built on. Can also be set globally using the
         | 
| 19 | 
            -
            ///   `modular-scale-ratio` key in the Bourbon settings.
         | 
| 20 | 
            -
            ///
         | 
| 21 | 
            -
            /// @return {number (with unit)}
         | 
| 22 | 
            -
            ///
         | 
| 23 | 
            -
            /// @example scss
         | 
| 24 | 
            -
            ///   .element {
         | 
| 25 | 
            -
            ///     font-size: modular-scale(2);
         | 
| 26 | 
            -
            ///   }
         | 
| 27 | 
            -
            ///
         | 
| 28 | 
            -
            ///   // CSS Output
         | 
| 29 | 
            -
            ///   .element {
         | 
| 30 | 
            -
            ///     font-size: 1.5625em;
         | 
| 31 | 
            -
            ///   }
         | 
| 32 | 
            -
            ///
         | 
| 33 | 
            -
            /// @example scss
         | 
| 34 | 
            -
            ///   .element {
         | 
| 35 | 
            -
            ///     margin-right: modular-scale(3, 2em);
         | 
| 36 | 
            -
            ///   }
         | 
| 37 | 
            -
            ///
         | 
| 38 | 
            -
            ///   // CSS Output
         | 
| 39 | 
            -
            ///   .element {
         | 
| 40 | 
            -
            ///     margin-right: 3.90625em;
         | 
| 41 | 
            -
            ///   }
         | 
| 42 | 
            -
            ///
         | 
| 43 | 
            -
            /// @example scss
         | 
| 44 | 
            -
            ///   .element {
         | 
| 45 | 
            -
            ///     font-size: modular-scale(3, 1em 1.6em, $major-seventh);
         | 
| 46 | 
            -
            ///   }
         | 
| 47 | 
            -
            ///
         | 
| 48 | 
            -
            ///   // CSS Output
         | 
| 49 | 
            -
            ///   .element {
         | 
| 50 | 
            -
            ///     font-size: 3em;
         | 
| 51 | 
            -
            ///   }
         | 
| 52 | 
            -
            ///
         | 
| 53 | 
            -
            /// @example scss
         | 
| 54 | 
            -
            ///   // Globally change the base ratio
         | 
| 55 | 
            -
            ///   $bourbon: (
         | 
| 56 | 
            -
            ///     "modular-scale-ratio": 1.2,
         | 
| 57 | 
            -
            ///   );
         | 
| 58 | 
            -
            ///
         | 
| 59 | 
            -
            ///   .element {
         | 
| 60 | 
            -
            ///     font-size: modular-scale(3);
         | 
| 61 | 
            -
            ///   }
         | 
| 62 | 
            -
            ///
         | 
| 63 | 
            -
            ///   // CSS Output
         | 
| 64 | 
            -
            ///   .element {
         | 
| 65 | 
            -
            ///     font-size: 1.728em;
         | 
| 66 | 
            -
            ///   }
         | 
| 67 | 
            -
            ///
         | 
| 68 | 
            -
            /// @require {function} _fetch-bourbon-setting
         | 
| 69 | 
            -
             | 
| 70 | 
            -
            @function modular-scale(
         | 
| 71 | 
            -
              $increment,
         | 
| 72 | 
            -
              $value: _fetch-bourbon-setting("modular-scale-base"),
         | 
| 73 | 
            -
              $ratio: _fetch-bourbon-setting("modular-scale-ratio")
         | 
| 74 | 
            -
            ) {
         | 
| 75 | 
            -
              $v1: nth($value, 1);
         | 
| 76 | 
            -
              $v2: nth($value, length($value));
         | 
| 77 | 
            -
              $value: $v1;
         | 
| 78 | 
            -
             | 
| 79 | 
            -
              // scale $v2 to just above $v1
         | 
| 80 | 
            -
              @while $v2 > $v1 {
         | 
| 81 | 
            -
                $v2: ($v2 / $ratio); // will be off-by-1
         | 
| 82 | 
            -
              }
         | 
| 83 | 
            -
              @while $v2 < $v1 {
         | 
| 84 | 
            -
                $v2: ($v2 * $ratio); // will fix off-by-1
         | 
| 85 | 
            -
              }
         | 
| 86 | 
            -
             | 
| 87 | 
            -
              // check AFTER scaling $v2 to prevent double-counting corner-case
         | 
| 88 | 
            -
              $double-stranded: $v2 > $v1;
         | 
| 89 | 
            -
             | 
| 90 | 
            -
              @if $increment > 0 {
         | 
| 91 | 
            -
                @for $i from 1 through $increment {
         | 
| 92 | 
            -
                  @if $double-stranded and ($v1 * $ratio) > $v2 {
         | 
| 93 | 
            -
                    $value: $v2;
         | 
| 94 | 
            -
                    $v2: ($v2 * $ratio);
         | 
| 95 | 
            -
                  } @else {
         | 
| 96 | 
            -
                    $v1: ($v1 * $ratio);
         | 
| 97 | 
            -
                    $value: $v1;
         | 
| 98 | 
            -
                  }
         | 
| 99 | 
            -
                }
         | 
| 100 | 
            -
              }
         | 
| 101 | 
            -
             | 
| 102 | 
            -
              @if $increment < 0 {
         | 
| 103 | 
            -
                // adjust $v2 to just below $v1
         | 
| 104 | 
            -
                @if $double-stranded {
         | 
| 105 | 
            -
                  $v2: ($v2 / $ratio);
         | 
| 106 | 
            -
                }
         | 
| 107 | 
            -
             | 
| 108 | 
            -
                @for $i from $increment through -1 {
         | 
| 109 | 
            -
                  @if $double-stranded and ($v1 / $ratio) < $v2 {
         | 
| 110 | 
            -
                    $value: $v2;
         | 
| 111 | 
            -
                    $v2: ($v2 / $ratio);
         | 
| 112 | 
            -
                  } @else {
         | 
| 113 | 
            -
                    $v1: ($v1 / $ratio);
         | 
| 114 | 
            -
                    $value: $v1;
         | 
| 115 | 
            -
                  }
         | 
| 116 | 
            -
                }
         | 
| 117 | 
            -
              }
         | 
| 118 | 
            -
             | 
| 119 | 
            -
              @return $value;
         | 
| 120 | 
            -
            }
         | 
| @@ -1,25 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            /// Outputs the `overflow-wrap` property and its legacy name `word-wrap` to
         | 
| 4 | 
            -
            /// support browsers that do not yet use `overflow-wrap`.
         | 
| 5 | 
            -
            ///
         | 
| 6 | 
            -
            /// @argument {string} $wrap [break-word]
         | 
| 7 | 
            -
            ///   Accepted CSS values are `normal`, `break-word`, `inherit`, `initial`,
         | 
| 8 | 
            -
            ///   or `unset`.
         | 
| 9 | 
            -
            ///
         | 
| 10 | 
            -
            /// @example scss
         | 
| 11 | 
            -
            ///   .wrapper {
         | 
| 12 | 
            -
            ///     @include overflow-wrap;
         | 
| 13 | 
            -
            ///   }
         | 
| 14 | 
            -
            ///
         | 
| 15 | 
            -
            ///   // CSS Output
         | 
| 16 | 
            -
            ///   .wrapper {
         | 
| 17 | 
            -
            ///     word-wrap: break-word;
         | 
| 18 | 
            -
            ///     overflow-wrap: break-word;
         | 
| 19 | 
            -
            ///   }
         | 
| 20 | 
            -
             | 
| 21 | 
            -
            @mixin overflow-wrap($wrap: break-word) {
         | 
| 22 | 
            -
              word-wrap: $wrap;
         | 
| 23 | 
            -
              // stylelint-disable-next-line order/properties-alphabetical-order
         | 
| 24 | 
            -
              overflow-wrap: $wrap;
         | 
| 25 | 
            -
            }
         | 
| @@ -1,36 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            /// Provides a concise method for targeting `padding` on specific sides of a
         | 
| 4 | 
            -
            /// box. Use a `null` value to “skip” a side.
         | 
| 5 | 
            -
            ///
         | 
| 6 | 
            -
            /// @argument {list} $values
         | 
| 7 | 
            -
            ///   List of padding values; accepts CSS shorthand.
         | 
| 8 | 
            -
            ///
         | 
| 9 | 
            -
            /// @example scss
         | 
| 10 | 
            -
            ///   .element-one {
         | 
| 11 | 
            -
            ///     @include padding(null 1rem);
         | 
| 12 | 
            -
            ///   }
         | 
| 13 | 
            -
            ///
         | 
| 14 | 
            -
            ///   // CSS Output
         | 
| 15 | 
            -
            ///   .element-one {
         | 
| 16 | 
            -
            ///     padding-left: 1rem;
         | 
| 17 | 
            -
            ///     padding-right: 1rem;
         | 
| 18 | 
            -
            ///   }
         | 
| 19 | 
            -
            ///
         | 
| 20 | 
            -
            /// @example scss
         | 
| 21 | 
            -
            ///   .element-two {
         | 
| 22 | 
            -
            ///     @include padding(10vh null 10px 5%);
         | 
| 23 | 
            -
            ///   }
         | 
| 24 | 
            -
            ///
         | 
| 25 | 
            -
            ///   // CSS Output
         | 
| 26 | 
            -
            ///   .element-two {
         | 
| 27 | 
            -
            ///     padding-bottom: 10px;
         | 
| 28 | 
            -
            ///     padding-left: 5%;
         | 
| 29 | 
            -
            ///     padding-top: 10vh;
         | 
| 30 | 
            -
            ///   }
         | 
| 31 | 
            -
            ///
         | 
| 32 | 
            -
            /// @require {mixin} _directional-property
         | 
| 33 | 
            -
             | 
| 34 | 
            -
            @mixin padding($values) {
         | 
| 35 | 
            -
              @include _directional-property(padding, null, $values);
         | 
| 36 | 
            -
            }
         | 
| @@ -1,62 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            /// Provides a concise, one-line method for setting an element’s positioning
         | 
| 4 | 
            -
            /// properties: `position`, `top`, `right`, `bottom` and `left`. Use a `null`
         | 
| 5 | 
            -
            /// value to “skip” an edge of the box.
         | 
| 6 | 
            -
            ///
         | 
| 7 | 
            -
            /// @argument {string} $position
         | 
| 8 | 
            -
            ///   A CSS position value.
         | 
| 9 | 
            -
            ///
         | 
| 10 | 
            -
            /// @argument {list} $box-edge-values
         | 
| 11 | 
            -
            ///   List of lengths; accepts CSS shorthand.
         | 
| 12 | 
            -
            ///
         | 
| 13 | 
            -
            /// @example scss
         | 
| 14 | 
            -
            ///   .element {
         | 
| 15 | 
            -
            ///     @include position(relative, 0 null null 10em);
         | 
| 16 | 
            -
            ///   }
         | 
| 17 | 
            -
            ///
         | 
| 18 | 
            -
            ///   // CSS Output
         | 
| 19 | 
            -
            ///   .element {
         | 
| 20 | 
            -
            ///     left: 10em;
         | 
| 21 | 
            -
            ///     position: relative;
         | 
| 22 | 
            -
            ///     top: 0;
         | 
| 23 | 
            -
            ///   }
         | 
| 24 | 
            -
            ///
         | 
| 25 | 
            -
            /// @example scss
         | 
| 26 | 
            -
            ///   .element {
         | 
| 27 | 
            -
            ///     @include position(absolute, 0);
         | 
| 28 | 
            -
            ///   }
         | 
| 29 | 
            -
            ///
         | 
| 30 | 
            -
            ///   // CSS Output
         | 
| 31 | 
            -
            ///   .element {
         | 
| 32 | 
            -
            ///     position: absolute;
         | 
| 33 | 
            -
            ///     top: 0;
         | 
| 34 | 
            -
            ///     right: 0;
         | 
| 35 | 
            -
            ///     bottom: 0;
         | 
| 36 | 
            -
            ///     left: 0;
         | 
| 37 | 
            -
            ///   }
         | 
| 38 | 
            -
            ///
         | 
| 39 | 
            -
            /// @require {function} _is-length
         | 
| 40 | 
            -
            ///
         | 
| 41 | 
            -
            /// @require {function} _unpack-shorthand
         | 
| 42 | 
            -
             | 
| 43 | 
            -
            @mixin position(
         | 
| 44 | 
            -
              $position,
         | 
| 45 | 
            -
              $box-edge-values
         | 
| 46 | 
            -
            ) {
         | 
| 47 | 
            -
              $box-edge-values: _unpack-shorthand($box-edge-values);
         | 
| 48 | 
            -
              $offsets: (
         | 
| 49 | 
            -
                "top": nth($box-edge-values, 1),
         | 
| 50 | 
            -
                "right": nth($box-edge-values, 2),
         | 
| 51 | 
            -
                "bottom": nth($box-edge-values, 3),
         | 
| 52 | 
            -
                "left": nth($box-edge-values, 4),
         | 
| 53 | 
            -
              );
         | 
| 54 | 
            -
             | 
| 55 | 
            -
              position: $position;
         | 
| 56 | 
            -
             | 
| 57 | 
            -
              @each $offset, $value in $offsets {
         | 
| 58 | 
            -
                @if _is-length($value) {
         | 
| 59 | 
            -
                  #{$offset}: $value;
         | 
| 60 | 
            -
                }
         | 
| 61 | 
            -
              }
         | 
| 62 | 
            -
            }
         | 
| @@ -1,37 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            /// Generates vendor prefixes.
         | 
| 4 | 
            -
            ///
         | 
| 5 | 
            -
            /// @argument {string} $property
         | 
| 6 | 
            -
            ///   Property to prefix.
         | 
| 7 | 
            -
            ///
         | 
| 8 | 
            -
            /// @argument {string} $value
         | 
| 9 | 
            -
            ///   Value to use.
         | 
| 10 | 
            -
            ///
         | 
| 11 | 
            -
            /// @argument {list} $prefixes
         | 
| 12 | 
            -
            ///   Vendor prefixes to output.
         | 
| 13 | 
            -
            ///
         | 
| 14 | 
            -
            /// @example scss
         | 
| 15 | 
            -
            ///   .element {
         | 
| 16 | 
            -
            ///     @include prefixer(appearance, none, ("webkit", "moz"));
         | 
| 17 | 
            -
            ///   }
         | 
| 18 | 
            -
            ///
         | 
| 19 | 
            -
            ///   // CSS Output
         | 
| 20 | 
            -
            ///   .element {
         | 
| 21 | 
            -
            ///     -webkit-appearance: none;
         | 
| 22 | 
            -
            ///     -moz-appearance: none;
         | 
| 23 | 
            -
            ///     appearance: none;
         | 
| 24 | 
            -
            ///   }
         | 
| 25 | 
            -
            ///
         | 
| 26 | 
            -
            /// @author Hugo Giraudel
         | 
| 27 | 
            -
             | 
| 28 | 
            -
            @mixin prefixer(
         | 
| 29 | 
            -
              $property,
         | 
| 30 | 
            -
              $value,
         | 
| 31 | 
            -
              $prefixes: ()
         | 
| 32 | 
            -
            ) {
         | 
| 33 | 
            -
              @each $prefix in $prefixes {
         | 
| 34 | 
            -
                #{"-" + $prefix + "-" + $property}: $value;
         | 
| 35 | 
            -
              }
         | 
| 36 | 
            -
              #{$property}: $value;
         | 
| 37 | 
            -
            }
         | 
| @@ -1,32 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            /// Mixes a color with black.
         | 
| 4 | 
            -
            ///
         | 
| 5 | 
            -
            /// @argument {color} $color
         | 
| 6 | 
            -
            ///
         | 
| 7 | 
            -
            /// @argument {number (percentage)} $percent
         | 
| 8 | 
            -
            ///   The amount of black to be mixed in.
         | 
| 9 | 
            -
            ///
         | 
| 10 | 
            -
            /// @return {color}
         | 
| 11 | 
            -
            ///
         | 
| 12 | 
            -
            /// @example scss
         | 
| 13 | 
            -
            ///   .element {
         | 
| 14 | 
            -
            ///     background-color: shade(#ffbb52, 60%);
         | 
| 15 | 
            -
            ///   }
         | 
| 16 | 
            -
            ///
         | 
| 17 | 
            -
            ///   // CSS Output
         | 
| 18 | 
            -
            ///   .element {
         | 
| 19 | 
            -
            ///     background-color: #664a20;
         | 
| 20 | 
            -
            ///   }
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            @function shade(
         | 
| 23 | 
            -
              $color,
         | 
| 24 | 
            -
              $percent
         | 
| 25 | 
            -
            ) {
         | 
| 26 | 
            -
              @if not _is-color($color) {
         | 
| 27 | 
            -
                @error "`#{$color}` is not a valid color for the `$color` argument in " +
         | 
| 28 | 
            -
                  "the `shade` mixin.";
         | 
| 29 | 
            -
              } @else {
         | 
| 30 | 
            -
                @return mix(#000, $color, $percent);
         | 
| 31 | 
            -
              }
         | 
| 32 | 
            -
            }
         | 
| @@ -1,50 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            /// Sets the `width` and `height` of the element in one statement.
         | 
| 4 | 
            -
            ///
         | 
| 5 | 
            -
            /// @argument {number (with unit) | string} $width
         | 
| 6 | 
            -
            ///
         | 
| 7 | 
            -
            /// @argument {number (with unit) | string} $height [$width]
         | 
| 8 | 
            -
            ///
         | 
| 9 | 
            -
            /// @example scss
         | 
| 10 | 
            -
            ///   .first-element {
         | 
| 11 | 
            -
            ///     @include size(2em);
         | 
| 12 | 
            -
            ///   }
         | 
| 13 | 
            -
            ///
         | 
| 14 | 
            -
            ///   // CSS Output
         | 
| 15 | 
            -
            ///   .first-element {
         | 
| 16 | 
            -
            ///     width: 2em;
         | 
| 17 | 
            -
            ///     height: 2em;
         | 
| 18 | 
            -
            ///   }
         | 
| 19 | 
            -
            ///
         | 
| 20 | 
            -
            /// @example scss
         | 
| 21 | 
            -
            ///   .second-element {
         | 
| 22 | 
            -
            ///     @include size(auto, 10em);
         | 
| 23 | 
            -
            ///   }
         | 
| 24 | 
            -
            ///
         | 
| 25 | 
            -
            ///   // CSS Output
         | 
| 26 | 
            -
            ///   .second-element {
         | 
| 27 | 
            -
            ///     width: auto;
         | 
| 28 | 
            -
            ///     height: 10em;
         | 
| 29 | 
            -
            ///   }
         | 
| 30 | 
            -
            ///
         | 
| 31 | 
            -
            /// @require {function} _is-size
         | 
| 32 | 
            -
             | 
| 33 | 
            -
            @mixin size(
         | 
| 34 | 
            -
              $width,
         | 
| 35 | 
            -
              $height: $width
         | 
| 36 | 
            -
            ) {
         | 
| 37 | 
            -
              @if _is-size($height) {
         | 
| 38 | 
            -
                height: $height;
         | 
| 39 | 
            -
              } @else {
         | 
| 40 | 
            -
                @error "`#{$height}` is not a valid length for the `$height` argument " +
         | 
| 41 | 
            -
                  "in the `size` mixin.";
         | 
| 42 | 
            -
              }
         | 
| 43 | 
            -
             | 
| 44 | 
            -
              @if _is-size($width) {
         | 
| 45 | 
            -
                width: $width;
         | 
| 46 | 
            -
              } @else {
         | 
| 47 | 
            -
                @error "`#{$width}` is not a valid length for the `$width` argument " +
         | 
| 48 | 
            -
                  "in the `size` mixin.";
         | 
| 49 | 
            -
              }
         | 
| 50 | 
            -
            }
         | 
| @@ -1,17 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            /// Strips the unit from a number.
         | 
| 4 | 
            -
            ///
         | 
| 5 | 
            -
            /// @argument {number} $value
         | 
| 6 | 
            -
            ///
         | 
| 7 | 
            -
            /// @return {number (unitless)}
         | 
| 8 | 
            -
            ///
         | 
| 9 | 
            -
            /// @example scss
         | 
| 10 | 
            -
            ///   $dimension: strip-unit(10em);
         | 
| 11 | 
            -
            ///
         | 
| 12 | 
            -
            ///   // Output
         | 
| 13 | 
            -
            ///   $dimension: 10;
         | 
| 14 | 
            -
             | 
| 15 | 
            -
            @function strip-unit($value) {
         | 
| 16 | 
            -
              @return ($value / ($value * 0 + 1));
         | 
| 17 | 
            -
            }
         | 
| @@ -1,163 +0,0 @@ | |
| 1 | 
            -
            @charset "UTF-8";
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            ////
         | 
| 4 | 
            -
            /// @type list
         | 
| 5 | 
            -
            ///
         | 
| 6 | 
            -
            /// @require {function} _assign-inputs
         | 
| 7 | 
            -
            ///
         | 
| 8 | 
            -
            /// @require {variable} $_text-inputs-list
         | 
| 9 | 
            -
            ////
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            /// A list of all _text-based_ HTML inputs. Please note that you must
         | 
| 12 | 
            -
            /// interpolate the variable (`#{}`) to use it as a selector.
         | 
| 13 | 
            -
            ///
         | 
| 14 | 
            -
            /// @example scss
         | 
| 15 | 
            -
            ///   #{$all-text-inputs} {
         | 
| 16 | 
            -
            ///     border: 1px solid #ccc;
         | 
| 17 | 
            -
            ///   }
         | 
| 18 | 
            -
            ///
         | 
| 19 | 
            -
            ///   // CSS Output
         | 
| 20 | 
            -
            ///   [type='color'],
         | 
| 21 | 
            -
            ///   [type='date'],
         | 
| 22 | 
            -
            ///   [type='datetime'],
         | 
| 23 | 
            -
            ///   [type='datetime-local'],
         | 
| 24 | 
            -
            ///   [type='email'],
         | 
| 25 | 
            -
            ///   [type='month'],
         | 
| 26 | 
            -
            ///   [type='number'],
         | 
| 27 | 
            -
            ///   [type='password'],
         | 
| 28 | 
            -
            ///   [type='search'],
         | 
| 29 | 
            -
            ///   [type='tel'],
         | 
| 30 | 
            -
            ///   [type='text'],
         | 
| 31 | 
            -
            ///   [type='time'],
         | 
| 32 | 
            -
            ///   [type='url'],
         | 
| 33 | 
            -
            ///   [type='week'],
         | 
| 34 | 
            -
            ///   input:not([type]),
         | 
| 35 | 
            -
            ///   textarea {
         | 
| 36 | 
            -
            ///     border: 1px solid #ccc;
         | 
| 37 | 
            -
            ///   }
         | 
| 38 | 
            -
             | 
| 39 | 
            -
            $all-text-inputs: _assign-inputs($_text-inputs-list);
         | 
| 40 | 
            -
             | 
| 41 | 
            -
            /// A list of all _text-based_ HTML inputs with the `:active` pseudo-class
         | 
| 42 | 
            -
            /// applied. Please note that you must interpolate the variable (`#{}`) to use
         | 
| 43 | 
            -
            /// it as a selector.
         | 
| 44 | 
            -
            ///
         | 
| 45 | 
            -
            /// @example scss
         | 
| 46 | 
            -
            ///   #{$all-text-inputs-active} {
         | 
| 47 | 
            -
            ///     border: 1px solid #aaa;
         | 
| 48 | 
            -
            ///   }
         | 
| 49 | 
            -
            ///
         | 
| 50 | 
            -
            ///   // CSS Output
         | 
| 51 | 
            -
            ///   [type='color']:active,
         | 
| 52 | 
            -
            ///   [type='date']:active,
         | 
| 53 | 
            -
            ///   [type='datetime']:active,
         | 
| 54 | 
            -
            ///   [type='datetime-local']:active,
         | 
| 55 | 
            -
            ///   [type='email']:active,
         | 
| 56 | 
            -
            ///   [type='month']:active,
         | 
| 57 | 
            -
            ///   [type='number']:active,
         | 
| 58 | 
            -
            ///   [type='password']:active,
         | 
| 59 | 
            -
            ///   [type='search']:active,
         | 
| 60 | 
            -
            ///   [type='tel']:active,
         | 
| 61 | 
            -
            ///   [type='text']:active,
         | 
| 62 | 
            -
            ///   [type='time']:active,
         | 
| 63 | 
            -
            ///   [type='url']:active,
         | 
| 64 | 
            -
            ///   [type='week']:active,
         | 
| 65 | 
            -
            ///   input:not([type]):active,
         | 
| 66 | 
            -
            ///   textarea:active {
         | 
| 67 | 
            -
            ///     border: 1px solid #aaa;
         | 
| 68 | 
            -
            ///   }
         | 
| 69 | 
            -
             | 
| 70 | 
            -
            $all-text-inputs-active: _assign-inputs($_text-inputs-list, active);
         | 
| 71 | 
            -
             | 
| 72 | 
            -
            /// A list of all _text-based_ HTML inputs with the `:focus` pseudo-class
         | 
| 73 | 
            -
            /// applied. Please note that you must interpolate the variable (`#{}`) to use
         | 
| 74 | 
            -
            /// it as a selector.
         | 
| 75 | 
            -
            ///
         | 
| 76 | 
            -
            /// @example scss
         | 
| 77 | 
            -
            ///   #{$all-text-inputs-focus} {
         | 
| 78 | 
            -
            ///     border: 1px solid #1565c0;
         | 
| 79 | 
            -
            ///   }
         | 
| 80 | 
            -
            ///
         | 
| 81 | 
            -
            ///   // CSS Output
         | 
| 82 | 
            -
            ///   [type='color']:focus,
         | 
| 83 | 
            -
            ///   [type='date']:focus,
         | 
| 84 | 
            -
            ///   [type='datetime']:focus,
         | 
| 85 | 
            -
            ///   [type='datetime-local']:focus,
         | 
| 86 | 
            -
            ///   [type='email']:focus,
         | 
| 87 | 
            -
            ///   [type='month']:focus,
         | 
| 88 | 
            -
            ///   [type='number']:focus,
         | 
| 89 | 
            -
            ///   [type='password']:focus,
         | 
| 90 | 
            -
            ///   [type='search']:focus,
         | 
| 91 | 
            -
            ///   [type='tel']:focus,
         | 
| 92 | 
            -
            ///   [type='text']:focus,
         | 
| 93 | 
            -
            ///   [type='time']:focus,
         | 
| 94 | 
            -
            ///   [type='url']:focus,
         | 
| 95 | 
            -
            ///   [type='week']:focus,
         | 
| 96 | 
            -
            ///   input:not([type]):focus,
         | 
| 97 | 
            -
            ///   textarea:focus {
         | 
| 98 | 
            -
            ///     border: 1px solid #1565c0;
         | 
| 99 | 
            -
            ///   }
         | 
| 100 | 
            -
             | 
| 101 | 
            -
            $all-text-inputs-focus: _assign-inputs($_text-inputs-list, focus);
         | 
| 102 | 
            -
             | 
| 103 | 
            -
            /// A list of all _text-based_ HTML inputs with the `:hover` pseudo-class
         | 
| 104 | 
            -
            /// applied. Please note that you must interpolate the variable (`#{}`) to use
         | 
| 105 | 
            -
            /// it as a selector.
         | 
| 106 | 
            -
            ///
         | 
| 107 | 
            -
            /// @example scss
         | 
| 108 | 
            -
            ///   #{$all-text-inputs-hover} {
         | 
| 109 | 
            -
            ///     border: 1px solid #aaa;
         | 
| 110 | 
            -
            ///   }
         | 
| 111 | 
            -
            ///
         | 
| 112 | 
            -
            ///   // CSS Output
         | 
| 113 | 
            -
            ///   [type='color']:hover,
         | 
| 114 | 
            -
            ///   [type='date']:hover,
         | 
| 115 | 
            -
            ///   [type='datetime']:hover,
         | 
| 116 | 
            -
            ///   [type='datetime-local']:hover,
         | 
| 117 | 
            -
            ///   [type='email']:hover,
         | 
| 118 | 
            -
            ///   [type='month']:hover,
         | 
| 119 | 
            -
            ///   [type='number']:hover,
         | 
| 120 | 
            -
            ///   [type='password']:hover,
         | 
| 121 | 
            -
            ///   [type='search']:hover,
         | 
| 122 | 
            -
            ///   [type='tel']:hover,
         | 
| 123 | 
            -
            ///   [type='text']:hover,
         | 
| 124 | 
            -
            ///   [type='time']:hover,
         | 
| 125 | 
            -
            ///   [type='url']:hover,
         | 
| 126 | 
            -
            ///   [type='week']:hover,
         | 
| 127 | 
            -
            ///   input:not([type]):hover,
         | 
| 128 | 
            -
            ///   textarea:hover {
         | 
| 129 | 
            -
            ///     border: 1px solid #aaa;
         | 
| 130 | 
            -
            ///   }
         | 
| 131 | 
            -
             | 
| 132 | 
            -
            $all-text-inputs-hover: _assign-inputs($_text-inputs-list, hover);
         | 
| 133 | 
            -
             | 
| 134 | 
            -
            /// A list of all _text-based_ HTML inputs with the `:invalid` pseudo-class
         | 
| 135 | 
            -
            /// applied. Please note that you must interpolate the variable (`#{}`) to use
         | 
| 136 | 
            -
            /// it as a selector.
         | 
| 137 | 
            -
            ///
         | 
| 138 | 
            -
            /// @example scss
         | 
| 139 | 
            -
            ///   #{$all-text-inputs-invalid} {
         | 
| 140 | 
            -
            ///     border: 1px solid #00f;
         | 
| 141 | 
            -
            ///   }
         | 
| 142 | 
            -
            ///
         | 
| 143 | 
            -
            ///   // CSS Output
         | 
| 144 | 
            -
            ///   [type='color']:invalid,
         | 
| 145 | 
            -
            ///   [type='date']:invalid,
         | 
| 146 | 
            -
            ///   [type='datetime']:invalid,
         | 
| 147 | 
            -
            ///   [type='datetime-local']:invalid,
         | 
| 148 | 
            -
            ///   [type='email']:invalid,
         | 
| 149 | 
            -
            ///   [type='month']:invalid,
         | 
| 150 | 
            -
            ///   [type='number']:invalid,
         | 
| 151 | 
            -
            ///   [type='password']:invalid,
         | 
| 152 | 
            -
            ///   [type='search']:invalid,
         | 
| 153 | 
            -
            ///   [type='tel']:invalid,
         | 
| 154 | 
            -
            ///   [type='text']:invalid,
         | 
| 155 | 
            -
            ///   [type='time']:invalid,
         | 
| 156 | 
            -
            ///   [type='url']:invalid,
         | 
| 157 | 
            -
            ///   [type='week']:invalid,
         | 
| 158 | 
            -
            ///   input:not([type]):invalid,
         | 
| 159 | 
            -
            ///   textarea:invalid {
         | 
| 160 | 
            -
            ///     border: 1px solid #00f;
         | 
| 161 | 
            -
            ///   }
         | 
| 162 | 
            -
             | 
| 163 | 
            -
            $all-text-inputs-invalid: _assign-inputs($_text-inputs-list, invalid);
         |