From: Nicolas Coden Date: Wed, 7 Dec 2016 20:46:36 +0000 (+0100) Subject: [TMP] Fix Sass dependencies import for Bower X-Git-Tag: v6.3.0-rc2~1^2^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0cf3079cf9796d762b7519270377abe46bae51a;p=thirdparty%2Ffoundation%2Ffoundation-sites.git [TMP] Fix Sass dependencies import for Bower :warning: **This is a temporary solution** Unlike NPM, Bower does not have its own registry and uses the Github repository. Like `js, `sass` and `dist`, all the files required by Bower must be published on Git. Changes: - Pin the Sass dependencies versions and update `yarn.lock` - Move only the require files to `/vendor` - Publish the Sass dependencies in `vendor/` on git. --- diff --git a/.gitignore b/.gitignore index 8c8b8a489..1c23ecef2 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,6 @@ .sass-cache/* .yardoc _build -_vendor .customizer bower_components diff --git a/_vendor/normalize-scss/sass/_normalize.scss b/_vendor/normalize-scss/sass/_normalize.scss new file mode 100644 index 000000000..fd669eb9b --- /dev/null +++ b/_vendor/normalize-scss/sass/_normalize.scss @@ -0,0 +1,3 @@ +@import 'normalize/variables'; +@import 'normalize/vertical-rhythm'; +@import 'normalize/normalize-mixin'; diff --git a/_vendor/normalize-scss/sass/normalize/_import-now.scss b/_vendor/normalize-scss/sass/normalize/_import-now.scss new file mode 100644 index 000000000..aac5d2b69 --- /dev/null +++ b/_vendor/normalize-scss/sass/normalize/_import-now.scss @@ -0,0 +1,11 @@ +// Import Now +// +// If you import this module directly, it will immediately output all the CSS +// needed to normalize default HTML elements across all browsers. +// +// ``` +// @import "normalize/import-now"; +// ``` + +@import '../normalize'; +@include normalize(); diff --git a/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss b/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss new file mode 100644 index 000000000..70a8d3d37 --- /dev/null +++ b/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss @@ -0,0 +1,676 @@ +// Helper function for the normalize() mixin. +@function _normalize-include($section, $exclude: null) { + // Initialize the global variables needed by this function. + @if not global_variable_exists(_normalize-include) { + $_normalize-include: () !global; + $_normalize-exclude: () !global; + } + // Since we are given 2 parameters, set the global variables. + @if $exclude != null { + $include: $section; + // Sass doesn't have static variables, so the work-around is to stuff these + // values into global variables so we can access them in future calls. + $_normalize-include: if(type-of($include) == 'list', $include, ($include)) !global; + $_normalize-exclude: if(type-of($exclude) == 'list', $exclude, ($exclude)) !global; + @return true; + } + + // Check if $section is in the $include list. + @if index($_normalize-include, $section) { + @return true; + } + // If $include is set to (all), make sure $section is not in $exclude. + @else if not index($_normalize-exclude, $section) and index($_normalize-include, all) { + @return true; + } + @return false; +} + +@mixin normalize($include: (all), $exclude: ()) { + // Initialize the helper function by passing it this mixin's parameters. + $init: _normalize-include($include, $exclude); + + // If we've customized any font variables, we'll need extra properties. + @if $base-font-size != 16px + or $base-line-height != 24px + or $base-unit != 'em' + or $h1-font-size != 2 * $base-font-size + or $h2-font-size != 1.5 * $base-font-size + or $h3-font-size != 1.17 * $base-font-size + or $h4-font-size != 1 * $base-font-size + or $h5-font-size != 0.83 * $base-font-size + or $h6-font-size != 0.67 * $base-font-size { + $normalize-vertical-rhythm: true !global; + } + + /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */ + + @if _normalize-include(document) { + /* Document + ========================================================================== */ + + /** + * 1. Change the default font family in all browsers (opinionated). + * 2. Correct the line height in all browsers. + * 3. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ + + html { + font-family: $base-font-family; /* 1 */ + @if $normalize-vertical-rhythm { + // Correct old browser bug that prevented accessible resizing of text + // when root font-size is set with px or em. + font-size: ($base-font-size / 16px) * 100%; + line-height: ($base-line-height / $base-font-size) * 1em; /* 2 */ + } + @else { + line-height: 1.15; /* 2 */ + } + -ms-text-size-adjust: 100%; /* 3 */ + -webkit-text-size-adjust: 100%; /* 3 */ + } + } + + @if _normalize-include(sections) { + /* Sections + ========================================================================== */ + + /** + * Remove the margin in all browsers (opinionated). + */ + + body { + margin: 0; + } + + /** + * Add the correct display in IE 9-. + */ + + article, + aside, + footer, + header, + nav, + section { + display: block; + } + + /** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + + h1 { + @include normalize-font-size($h1-font-size); + @if $normalize-vertical-rhythm { + @include normalize-line-height($h1-font-size); + } + + @if $normalize-vertical-rhythm { + /* Set 1 unit of vertical rhythm on the top and bottom margins. */ + @include normalize-margin(1 0, $h1-font-size); + } + @else { + margin: 0.67em 0; + } + } + + @if $normalize-vertical-rhythm { + h2 { + @include normalize-font-size($h2-font-size); + @include normalize-line-height($h2-font-size); + @include normalize-margin(1 0, $h2-font-size); + } + + h3 { + @include normalize-font-size($h3-font-size); + @include normalize-line-height($h3-font-size); + @include normalize-margin(1 0, $h3-font-size); + } + + h4 { + @include normalize-font-size($h4-font-size); + @include normalize-line-height($h4-font-size); + @include normalize-margin(1 0, $h4-font-size); + } + + h5 { + @include normalize-font-size($h5-font-size); + @include normalize-line-height($h5-font-size); + @include normalize-margin(1 0, $h5-font-size); + } + + h6 { + @include normalize-font-size($h6-font-size); + @include normalize-line-height($h6-font-size); + @include normalize-margin(1 0, $h6-font-size); + } + } + } + + @if _normalize-include(grouping) { + /* Grouping content + ========================================================================== */ + + @if $normalize-vertical-rhythm { + /** + * Set 1 unit of vertical rhythm on the top and bottom margin. + */ + + blockquote { + @include normalize-margin(1 $indent-amount); + } + + dl, + ol, + ul { + @include normalize-margin(1 0); + } + + /** + * Turn off margins on nested lists. + */ + + ol, + ul { + ol, + ul { + margin: 0; + } + } + + dd { + margin: 0 0 0 $indent-amount; + } + + ol, + ul { + padding: 0 0 0 $indent-amount; + } + } + + /** + * Add the correct display in IE 9-. + */ + + figcaption, + figure { + display: block; + } + + /** + * Add the correct margin in IE 8. + */ + + figure { + @if $normalize-vertical-rhythm { + @include normalize-margin(1 $indent-amount); + } + @else { + margin: 1em $indent-amount; + } + } + + /** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + + hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ + } + + /** + * Add the correct display in IE. + */ + + main { + display: block; + } + + @if $normalize-vertical-rhythm { + /** + * Set 1 unit of vertical rhythm on the top and bottom margin. + */ + + p, + pre { + @include normalize-margin(1 0); + } + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + } + + @if _normalize-include(links) { + /* Links + ========================================================================== */ + + /** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ + + a { + background-color: transparent; /* 1 */ + -webkit-text-decoration-skip: objects; /* 2 */ + } + + /** + * Remove the outline on focused links when they are also active or hovered + * in all browsers (opinionated). + */ + + a:active, + a:hover { + outline-width: 0; + } + } + + @if _normalize-include(text) { + /* Text-level semantics + ========================================================================== */ + + /** + * 1. Remove the bottom border in Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + + abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ + } + + /** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ + + b, + strong { + font-weight: inherit; + } + + /** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + + b, + strong { + font-weight: bolder; + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + code, + kbd, + samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /** + * Add the correct font style in Android 4.3-. + */ + + dfn { + font-style: italic; + } + + /** + * Add the correct background and color in IE 9-. + */ + + mark { + background-color: #ff0; + color: #000; + } + + /** + * Add the correct font size in all browsers. + */ + + small { + font-size: 80%; + } + + /** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -0.25em; + } + + sup { + top: -0.5em; + } + } + + @if _normalize-include(embedded) { + /* Embedded content + ========================================================================== */ + + /** + * Add the correct display in IE 9-. + */ + + audio, + video { + display: inline-block; + } + + /** + * Add the correct display in iOS 4-7. + */ + + audio:not([controls]) { + display: none; + height: 0; + } + + /** + * Remove the border on images inside links in IE 10-. + */ + + img { + border-style: none; + } + + /** + * Hide the overflow in IE. + */ + + svg:not(:root) { + overflow: hidden; + } + } + + @if _normalize-include(forms) { + /* Forms + ========================================================================== */ + + /** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ + + button, + input, + optgroup, + select, + textarea { + font-family: $base-font-family; /* 1 */ + font-size: 100%; /* 1 */ + @if $normalize-vertical-rhythm { + line-height: ($base-line-height / $base-font-size) * 1em; /* 1 */ + } + @else { + line-height: 1.15; /* 1 */ + } + margin: 0; /* 2 */ + } + + /** + * Show the overflow in IE. + */ + + button { + overflow: visible; + } + + /** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + + button, + select { /* 1 */ + text-transform: none; + } + + /** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ + + button, + html [type="button"], /* 1 */ + [type="reset"], + [type="submit"] { + -webkit-appearance: button; /* 2 */ + } + + button, + [type="button"], + [type="reset"], + [type="submit"] { + + /** + * Remove the inner border and padding in Firefox. + */ + + &::-moz-focus-inner { + border-style: none; + padding: 0; + } + + /** + * Restore the focus styles unset by the previous rule. + */ + + &:-moz-focusring { + outline: 1px dotted ButtonText; + } + } + + /** + * Show the overflow in Edge. + */ + + input { + overflow: visible; + } + + /** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ + + [type="checkbox"], + [type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + + [type="number"]::-webkit-inner-spin-button, + [type="number"]::-webkit-outer-spin-button { + height: auto; + } + + /** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + + [type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ + + /** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ + + &::-webkit-search-cancel-button, + &::-webkit-search-decoration { + -webkit-appearance: none; + } + } + + /** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + + ::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ + } + + /** + * Change the border, margin, and padding in all browsers (opinionated). + */ + + fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; + } + + /** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + + legend { + box-sizing: border-box; /* 1 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + color: inherit; /* 2 */ + white-space: normal; /* 1 */ + } + + /** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + + progress { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ + } + + /** + * Remove the default vertical scrollbar in IE. + */ + + textarea { + overflow: auto; + } + } + + @if _normalize-include(interactive) { + /* Interactive + ========================================================================== */ + + /* + * Add the correct display in Edge, IE, and Firefox. + */ + + details { + display: block; + } + + /* + * Add the correct display in all browsers. + */ + + summary { + display: list-item; + } + + /* + * Add the correct display in IE 9-. + */ + + menu { + display: block; + + @if $normalize-vertical-rhythm { + /* + * 1. Set 1 unit of vertical rhythm on the top and bottom margin. + * 2. Set consistent space for the list style image. + */ + + @include normalize-margin(1 0); /* 1 */ + padding: 0 0 0 $indent-amount; /* 2 */ + + /** + * Turn off margins on nested lists. + */ + + menu &, + ol &, + ul & { + margin: 0; + } + } + } + } + + @if _normalize-include(scripting) { + /* Scripting + ========================================================================== */ + + /** + * Add the correct display in IE 9-. + */ + + canvas { + display: inline-block; + } + + /** + * Add the correct display in IE. + */ + + template { + display: none; + } + } + + @if _normalize-include(hidden) { + /* Hidden + ========================================================================== */ + + /** + * Add the correct display in IE 10-. + */ + + [hidden] { + display: none; + } + } +} diff --git a/_vendor/normalize-scss/sass/normalize/_variables.scss b/_vendor/normalize-scss/sass/normalize/_variables.scss new file mode 100644 index 000000000..2f06b2538 --- /dev/null +++ b/_vendor/normalize-scss/sass/normalize/_variables.scss @@ -0,0 +1,36 @@ +// +// Variables +// +// You can override the default values by setting the variables in your Sass +// before importing the normalize-scss library. + +// The font size set on the root html element. +$base-font-size: 16px !default; + +// The base line height determines the basic unit of vertical rhythm. +$base-line-height: 24px !default; + +// The length unit in which to output vertical rhythm values. +// Supported values: px, em, rem. +$base-unit: 'em' !default; + +// The default font family. +$base-font-family: sans-serif !default; + +// The font sizes for h1-h6. +$h1-font-size: 2 * $base-font-size !default; +$h2-font-size: 1.5 * $base-font-size !default; +$h3-font-size: 1.17 * $base-font-size !default; +$h4-font-size: 1 * $base-font-size !default; +$h5-font-size: 0.83 * $base-font-size !default; +$h6-font-size: 0.67 * $base-font-size !default; + +// The amount lists and blockquotes are indented. +$indent-amount: 40px !default; + +// The following variable controls whether normalize-scss will output +// font-sizes, line-heights and block-level top/bottom margins that form a basic +// vertical rhythm on the page, which differs from the original Normalize.css. +// However, changing any of the variables above will cause +// $normalize-vertical-rhythm to be automatically set to true. +$normalize-vertical-rhythm: false !default; diff --git a/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss b/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss new file mode 100644 index 000000000..4f53647ca --- /dev/null +++ b/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss @@ -0,0 +1,61 @@ +// +// Vertical Rhythm +// +// This is the minimal amount of code needed to create vertical rhythm in our +// CSS. If you are looking for a robust solution, look at the excellent Typey +// library. @see https://github.com/jptaranto/typey + +@function normalize-rhythm($value, $relative-to: $base-font-size, $unit: $base-unit) { + @if unit($value) != px { + @error "The normalize vertical-rhythm module only supports px inputs. The typey library is better."; + } + @if $unit == rem { + @return ($value / $base-font-size) * 1rem; + } + @else if $unit == em { + @return ($value / $relative-to) * 1em; + } + @else { // $unit == px + @return $value; + } +} + +@mixin normalize-font-size($value, $relative-to: $base-font-size) { + @if unit($value) != 'px' { + @error "normalize-font-size() only supports px inputs. The typey library is better."; + } + font-size: normalize-rhythm($value, $relative-to); +} + +@mixin normalize-rhythm($property, $values, $relative-to: $base-font-size) { + $value-list: $values; + $sep: space; + @if type-of($values) == 'list' { + $sep: list-separator($values); + } + @else { + $value-list: append((), $values); + } + + $normalized-values: (); + @each $value in $value-list { + @if unitless($value) and $value != 0 { + $value: $value * normalize-rhythm($base-line-height, $relative-to); + } + $normalized-values: append($normalized-values, $value, $sep); + } + #{$property}: $normalized-values; +} + +@mixin normalize-margin($values, $relative-to: $base-font-size) { + @include normalize-rhythm(margin, $values, $relative-to); +} + +@mixin normalize-line-height($font-size, $min-line-padding: 2px) { + $lines: ceil($font-size / $base-line-height); + // If lines are cramped include some extra leading. + @if ($lines * $base-line-height - $font-size) < ($min-line-padding * 2) { + $lines: $lines + 1; + } + @include normalize-rhythm(line-height, $lines, $font-size); +} diff --git a/_vendor/sassy-lists/stylesheets/functions/_purge.scss b/_vendor/sassy-lists/stylesheets/functions/_purge.scss new file mode 100644 index 000000000..63102bfc4 --- /dev/null +++ b/_vendor/sassy-lists/stylesheets/functions/_purge.scss @@ -0,0 +1,38 @@ +/// Removes all false and null values from `$list`. +/// +/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-purge +/// +/// @requires sl-is-true +/// @requires sl-to-list +/// +/// @param {List} $list - list to purge +/// +/// @example +/// sl-purge(null a false b) +/// // a b +/// +/// @return {List} +/// + +@function sl-purge($list) { + $_: sl-missing-dependencies('sl-is-true', 'sl-to-list'); + + $result: (); + + @each $item in $list { + @if sl-is-true($item) { + $result: append($result, $item, list-separator($list)); + } + } + + @return sl-to-list($result); +} + +/// +/// @requires sl-purge +/// @alias sl-purge +/// + +@function sl-clean($list) { + @return sl-purge($list); +} diff --git a/_vendor/sassy-lists/stylesheets/functions/_remove.scss b/_vendor/sassy-lists/stylesheets/functions/_remove.scss new file mode 100644 index 000000000..028274423 --- /dev/null +++ b/_vendor/sassy-lists/stylesheets/functions/_remove.scss @@ -0,0 +1,31 @@ +/// +/// Removes value(s) `$value` from `$list`. +/// +/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-remove +/// +/// @requires sl-replace +/// +/// @param {List} $list - list to update +/// @param {*} $value - value to remove +/// +/// @example +/// sl-remove(a b c, a) +/// // b c +/// +/// @return {List} +/// + +@function sl-remove($list, $value) { + $_: sl-missing-dependencies('sl-replace'); + + @return sl-replace($list, $value, null); +} + +/// +/// @requires sl-remove +/// @alias sl-remove +/// + +@function sl-without($list, $value) { + @return sl-remove($list, $value); +} diff --git a/_vendor/sassy-lists/stylesheets/functions/_replace.scss b/_vendor/sassy-lists/stylesheets/functions/_replace.scss new file mode 100644 index 000000000..8e70ad554 --- /dev/null +++ b/_vendor/sassy-lists/stylesheets/functions/_replace.scss @@ -0,0 +1,46 @@ +/// +/// Replaces `$old` by `$new` in `$list`. +/// +/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-replace +/// +/// @requires sl-is-true +/// @requires sl-purge +/// @requires sl-to-list +/// +/// @param {List} $list - list to update +/// @param {*} $old - value to replace +/// @param {*} $value - new value for $old +/// +/// @example +/// sl-replace(a b c, b, z) +/// // a z c +/// +/// @example +/// sl-replace(a b c, y, z) +/// // a b c +/// +/// @return {List} +/// + +@function sl-replace($list, $old, $value) { + $_: sl-missing-dependencies('sl-is-true', 'sl-purge', 'sl-to-list'); + + $running: true; + + @while $running { + $index: index($list, $old); + + @if not $index { + $running: false; + } + + @else { + $list: set-nth($list, $index, $value); + } + + } + + $list: if(sl-is-true($value), $list, sl-purge($list)); + + @return sl-to-list($list); +} diff --git a/_vendor/sassy-lists/stylesheets/functions/_to-list.scss b/_vendor/sassy-lists/stylesheets/functions/_to-list.scss new file mode 100644 index 000000000..eb8df21c7 --- /dev/null +++ b/_vendor/sassy-lists/stylesheets/functions/_to-list.scss @@ -0,0 +1,27 @@ +/// +/// Casts `$value` into a list. +/// +/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-to-list +/// +/// @param {*} $value - value to cast to list +/// @param {String} $separator [space] - separator to use +/// +/// @example +/// sl-to-list(a b c, comma) +/// // a, b, c +/// +/// @return {List} +/// + +@function sl-to-list($value, $separator: list-separator($value)) { + @return join((), $value, $separator); +} + +/// +/// @requires sl-to-list +/// @alias sl-to-list +/// + +@function sl-listify($value) { + @return sl-to-list($value); +} diff --git a/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss b/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss new file mode 100644 index 000000000..c4730b1a4 --- /dev/null +++ b/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss @@ -0,0 +1,25 @@ +/// +/// Checks whether `$functions` exist in global scope. +/// +/// @access private +/// +/// @param {ArgList} $functions - list of functions to check for +/// +/// @return {Bool} Whether or not there are missing dependencies +/// + +@function sl-missing-dependencies($functions...) { + $missing-dependencies: (); + + @each $function in $functions { + @if not function-exists($function) { + $missing-dependencies: append($missing-dependencies, $function, comma); + } + } + + @if length($missing-dependencies) > 0 { + @error 'Unmet dependencies! The following functions are required: #{$missing-dependencies}.'; + } + + @return length($missing-dependencies) > 0; +} diff --git a/_vendor/sassy-lists/stylesheets/helpers/_true.scss b/_vendor/sassy-lists/stylesheets/helpers/_true.scss new file mode 100644 index 000000000..277652eff --- /dev/null +++ b/_vendor/sassy-lists/stylesheets/helpers/_true.scss @@ -0,0 +1,13 @@ +/// +/// Returns truthiness of `$value`. +/// +/// @access private +/// +/// @param {*} $value - value to check +/// +/// @return {Bool} +/// + +@function sl-is-true($value) { + @return if($value == null, false, $value and $value != null and $value != '' and $value != ()); +} diff --git a/gulp/config.js b/gulp/config.js index 32abf73b1..e6b06b921 100644 --- a/gulp/config.js +++ b/gulp/config.js @@ -24,7 +24,12 @@ module.exports = { // Sass SASS_DEPS_FILES: [ 'node_modules/@(normalize-scss)/sass/**/*.scss', - 'node_modules/@(sassy-lists)/stylesheets/**/*.scss' + 'node_modules/@(sassy-lists)/stylesheets/helpers/_missing-dependencies.scss', + 'node_modules/@(sassy-lists)/stylesheets/helpers/_true.scss', + 'node_modules/@(sassy-lists)/stylesheets/functions/_purge.scss', + 'node_modules/@(sassy-lists)/stylesheets/functions/_remove.scss', + 'node_modules/@(sassy-lists)/stylesheets/functions/_replace.scss', + 'node_modules/@(sassy-lists)/stylesheets/functions/_to-list.scss' ], SASS_DOC_PATHS: [ diff --git a/gulp/tasks/customizer.js b/gulp/tasks/customizer.js index 8d0d20c75..829cf45dd 100644 --- a/gulp/tasks/customizer.js +++ b/gulp/tasks/customizer.js @@ -51,7 +51,12 @@ gulp.task('customizer:loadConfig', function(done) { gulp.task('customizer:prepareSassDeps', function() { return gulp.src([ 'node_modules/@(normalize-scss)/sass/**/*.scss', - 'node_modules/@(sassy-lists)/stylesheets/**/*' + 'node_modules/@(sassy-lists)/stylesheets/helpers/missing-dependencies', + 'node_modules/@(sassy-lists)/stylesheets/helpers/true', + 'node_modules/@(sassy-lists)/stylesheets/functions/purge', + 'node_modules/@(sassy-lists)/stylesheets/functions/remove', + 'node_modules/@(sassy-lists)/stylesheets/functions/replace', + 'node_modules/@(sassy-lists)/stylesheets/functions/to-list' ]) .pipe(gulp.dest('_vendor')); }); diff --git a/package.json b/package.json index f27f3c5b3..87d87789e 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "mocha-phantomjs": "^4.0.2", "motion-ui": "^1.1.0", "multiline": "^1.0.2", - "normalize-scss": "^6.0.0", + "normalize-scss": "6.0.0", "octophant": "^1.0.0", "opener": "^1.4.1", "panini": "^1.3.0", @@ -81,7 +81,7 @@ "rimraf": "^2.3.2", "run-sequence": "^1.1.4", "sass-true": "^2.0.3", - "sassy-lists": "^3.0.0", + "sassy-lists": "3.0.0", "sinon": "^1.17.3", "supercollider": "^1.4.0", "touch": "^1.0.0", diff --git a/scss/foundation.scss b/scss/foundation.scss index 8dd7568be..cf067fb14 100644 --- a/scss/foundation.scss +++ b/scss/foundation.scss @@ -7,7 +7,12 @@ // Dependencies @import "../_vendor/normalize-scss/sass/normalize"; -@import "../_vendor/sassy-lists/stylesheets/SassyLists"; +@import '../_vendor/sassy-lists/stylesheets/helpers/missing-dependencies'; +@import '../_vendor/sassy-lists/stylesheets/helpers/true'; +@import '../_vendor/sassy-lists/stylesheets/functions/purge'; +@import '../_vendor/sassy-lists/stylesheets/functions/remove'; +@import '../_vendor/sassy-lists/stylesheets/functions/replace'; +@import '../_vendor/sassy-lists/stylesheets/functions/to-list'; // Settings // import your own `settings` here or diff --git a/yarn.lock b/yarn.lock index da2bb2e7c..1c9315ace 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1549,16 +1549,16 @@ doiuse@^2.5.0: through2 "^0.6.3" yargs "^3.5.4" -dom-serializer@0, dom-serializer@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" +dom-serializer@0, dom-serializer@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.0.1.tgz#9589827f1e32d22c37c829adabd59b3247af8eaf" dependencies: domelementtype "~1.1.1" entities "~1.1.1" -dom-serializer@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.0.1.tgz#9589827f1e32d22c37c829adabd59b3247af8eaf" +dom-serializer@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" dependencies: domelementtype "~1.1.1" entities "~1.1.1" @@ -4810,7 +4810,7 @@ normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" -normalize-scss@^6.0.0: +normalize-scss@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/normalize-scss/-/normalize-scss-6.0.0.tgz#5e94fc91e3bb279933ae8aaa511ad0912a0cb44d" @@ -5510,14 +5510,10 @@ qs@0.4.x: version "0.4.2" resolved "https://registry.yarnpkg.com/qs/-/qs-0.4.2.tgz#3cac4c861e371a8c9c4770ac23cda8de639b8e5f" -qs@6.2.1: +qs@6.2.1, "qs@>= 0.4.0": version "6.2.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" -"qs@>= 0.4.0", qs@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" - qs@~0.6.0: version "0.6.6" resolved "https://registry.yarnpkg.com/qs/-/qs-0.6.6.tgz#6e015098ff51968b8a3c819001d5f2c89bc4b107" @@ -5526,6 +5522,10 @@ qs@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.1.tgz#801fee030e0b9450d6385adc48a4cc55b44aedfc" +qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" + query-string@^4.1.0: version "4.2.3" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.2.3.tgz#9f27273d207a25a8ee4c7b8c74dcd45d556db822" @@ -6019,7 +6019,7 @@ sassdoc@^2.0.0-rc.17, sassdoc@^2.1.11: vinyl-fs "^1.0.0" vinyl-source-stream "^1.0.0" -sassy-lists@^3.0.0: +sassy-lists@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/sassy-lists/-/sassy-lists-3.0.0.tgz#866fe19510a98c6fbb83ca8557d8ffd28cbc1e0f"