diff options
author | Martijn Cuppens <martijn.cuppens@gmail.com> | 2018-02-24 17:37:13 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-24 17:37:13 +0300 |
commit | 86567c5ed56b94f893539af7f3be2e149bb98e61 (patch) | |
tree | 7be11eadc7fd78b12d9b423bdd277cf45cdf3101 | |
parent | c13805e95ae0240cb64d540132513dd1a6508dd0 (diff) | |
parent | 9d8b50c041812e903f8f43ef79a285db898fe243 (diff) |
Merge pull request #9 from MartijnCuppens/rfs-class
RFS class
-rw-r--r-- | README.md | 27 | ||||
-rw-r--r-- | examples/less/gulp/dest/main.css | 20 | ||||
-rw-r--r-- | examples/postcss/gulp/dest/main.css | 20 | ||||
-rw-r--r-- | examples/postcss/gulp/gulpfile.js | 1 | ||||
-rw-r--r-- | examples/postcss/node/dest/main.css | 20 | ||||
-rw-r--r-- | examples/sass/gulp/dest/main.css | 45 | ||||
-rw-r--r-- | examples/sass/node/dest/main.css | 45 | ||||
-rw-r--r-- | examples/scss/gulp/dest/main.css | 45 | ||||
-rw-r--r-- | examples/scss/node/dest/main.css | 45 | ||||
-rw-r--r-- | examples/stylus/gulp/dest/main.css | 20 | ||||
-rw-r--r-- | examples/stylus/node/dest/main.css | 20 | ||||
-rw-r--r-- | less/rfs.less | 26 | ||||
-rw-r--r-- | package.json | 9 | ||||
-rw-r--r-- | postcss/rfs.js | 25 | ||||
-rw-r--r-- | sass/_rfs.sass | 22 | ||||
-rw-r--r-- | scss/_rfs.scss | 26 | ||||
-rw-r--r-- | stylus/rfs.styl | 20 | ||||
-rw-r--r-- | yarn.lock | 311 |
18 files changed, 409 insertions, 338 deletions
@@ -81,9 +81,7 @@ lose the ability to easily and quickly manage and update RFS as a dependency. ``` ### Generated css ```css -.title, -.disable-responsive-font-size .title, -.title.disable-responsive-font-size { +.title { font-size: 4rem; } @@ -151,13 +149,20 @@ Enabling the two dimensional media queries will determine the font size based on *Default value: `false`* -### Generate disable classes <sub><sup>(boolean)</sup></sub> ### -> **SCSS, Sass & Stylus:** `$rfs-generate-disable-classes` -> **Less:** `@rfs-generate-disable-classes` -> **PostCSS:** `generateDisableClasses` +### Class <sub><sup>(boolean)</sup></sub> ### +> **SCSS, Sass & Stylus:** `$rfs-class` +> **Less:** `@rfs-class` +> **PostCSS:** `class` + +RFS can ben enabled or disabled with a class. There are 3 options: +- `disable` +When the the disable classes are generated you can add the `.disable-responsive-font-size` class to an element to disable responsive font sizes for the element and its child elements. +- `enable` +RFS is disabled by default in this case. The `.enable-responsive-font-size` class can be added to an element to enable responsive font sizes for the element and its child elements. +- `false` +No extra classes are generated. -When the the disable classes are generated you can add the `.disable-responsive-font-size` class to an element to disable responsive font sizes for the element and its child elements. If you don't use this, it's better to set this to `false` to prevent the generation of unused css. This doesn't apply on font-sizes which are inherited from parents. -*Default value: `true`* +*Default value: `false`* ## !important @@ -171,9 +176,7 @@ By setting a second parameter to true, `!important` is added after the font-size CSS: ```css -.label, -.disable-responsive-font-size .label, -.label.disable-responsive-font-size { +.label { font-size: 2.5rem !important; } diff --git a/examples/less/gulp/dest/main.css b/examples/less/gulp/dest/main.css index 3cbc50c..28a98aa 100644 --- a/examples/less/gulp/dest/main.css +++ b/examples/less/gulp/dest/main.css @@ -2,10 +2,6 @@ .selector-1 { background-color: red; width: 300px; -} -.selector-1, -.disable-responsive-font-size .selector-1, -.selector-1.disable-responsive-font-size { font-size: 2rem ; } @media (max-width: 1200px) { @@ -14,9 +10,7 @@ } } /* responsive-font-size property with `rem` unit */ -.selector-2, -.disable-responsive-font-size .selector-2, -.selector-2.disable-responsive-font-size { +.selector-2 { font-size: 2rem ; } @media (max-width: 1200px) { @@ -25,9 +19,7 @@ } } /* responsive-font-size property with !important */ -.selector-3, -.disable-responsive-font-size .selector-3, -.selector-3.disable-responsive-font-size { +.selector-3 { font-size: 2rem !important; } @media (max-width: 1200px) { @@ -36,9 +28,7 @@ } } /* rfs shorthand */ -.selector-4, -.disable-responsive-font-size .selector-4, -.selector-4.disable-responsive-font-size { +.selector-4 { font-size: 2rem ; } @media (max-width: 1200px) { @@ -53,9 +43,7 @@ } /* responsive-font-size property inside @support-query */ @supports (display: flex) { - .selector-7, - .disable-responsive-font-size .selector-7, - .selector-7.disable-responsive-font-size { + .selector-7 { font-size: 1.75rem ; } @media (max-width: 1200px) { diff --git a/examples/postcss/gulp/dest/main.css b/examples/postcss/gulp/dest/main.css index 46e7d9f..0626ed7 100644 --- a/examples/postcss/gulp/dest/main.css +++ b/examples/postcss/gulp/dest/main.css @@ -2,10 +2,6 @@ .selector-1 { background-color: red; width: 300px; -} -.selector-1, -.disable-responsive-font-size .selector-1, -.disable-responsive-font-size.selector-1 { font-size: 2rem; } @media (max-width: 1200px) { @@ -16,10 +12,6 @@ /* responsive-font-size property with `rem` unit */ .selector-2 { -} -.selector-2, -.disable-responsive-font-size .selector-2, -.disable-responsive-font-size.selector-2 { font-size: 2rem; } @media (max-width: 1200px) { @@ -30,10 +22,6 @@ /* responsive-font-size property with !important */ .selector-3 { -} -.selector-3, -.disable-responsive-font-size .selector-3, -.disable-responsive-font-size.selector-3 { font-size: 2rem !important; } @media (max-width: 1200px) { @@ -44,10 +32,6 @@ /* rfs shorthand */ .selector-4 { -} -.selector-4, -.disable-responsive-font-size .selector-4, -.disable-responsive-font-size.selector-4 { font-size: 2rem; } @media (max-width: 1200px) { @@ -69,10 +53,6 @@ /* responsive-font-size property inside @support-query */ @supports (display: flex) { .selector-7 { - } - .selector-7, -.disable-responsive-font-size .selector-7, -.disable-responsive-font-size.selector-7 { font-size: 1.75rem; } @media (max-width: 1200px) { diff --git a/examples/postcss/gulp/gulpfile.js b/examples/postcss/gulp/gulpfile.js index 4e5e41c..fa67284 100644 --- a/examples/postcss/gulp/gulpfile.js +++ b/examples/postcss/gulp/gulpfile.js @@ -8,6 +8,7 @@ const options = { breakpoint: 1200, breakpointUnit: 'px', factor: 5, + class: false, unitPrecision: 6, remValue: 16, propList: ['responsive-font-size', 'rfs'] diff --git a/examples/postcss/node/dest/main.css b/examples/postcss/node/dest/main.css index 46e7d9f..0626ed7 100644 --- a/examples/postcss/node/dest/main.css +++ b/examples/postcss/node/dest/main.css @@ -2,10 +2,6 @@ .selector-1 { background-color: red; width: 300px; -} -.selector-1, -.disable-responsive-font-size .selector-1, -.disable-responsive-font-size.selector-1 { font-size: 2rem; } @media (max-width: 1200px) { @@ -16,10 +12,6 @@ /* responsive-font-size property with `rem` unit */ .selector-2 { -} -.selector-2, -.disable-responsive-font-size .selector-2, -.disable-responsive-font-size.selector-2 { font-size: 2rem; } @media (max-width: 1200px) { @@ -30,10 +22,6 @@ /* responsive-font-size property with !important */ .selector-3 { -} -.selector-3, -.disable-responsive-font-size .selector-3, -.disable-responsive-font-size.selector-3 { font-size: 2rem !important; } @media (max-width: 1200px) { @@ -44,10 +32,6 @@ /* rfs shorthand */ .selector-4 { -} -.selector-4, -.disable-responsive-font-size .selector-4, -.disable-responsive-font-size.selector-4 { font-size: 2rem; } @media (max-width: 1200px) { @@ -69,10 +53,6 @@ /* responsive-font-size property inside @support-query */ @supports (display: flex) { .selector-7 { - } - .selector-7, -.disable-responsive-font-size .selector-7, -.disable-responsive-font-size.selector-7 { font-size: 1.75rem; } @media (max-width: 1200px) { diff --git a/examples/sass/gulp/dest/main.css b/examples/sass/gulp/dest/main.css index dd46c10..b2e6783 100644 --- a/examples/sass/gulp/dest/main.css +++ b/examples/sass/gulp/dest/main.css @@ -1,40 +1,32 @@ /* responsive-font-size property with `px` unit */ .selector-1 { background-color: red; - width: 300px; } - .selector-1, - .disable-responsive-font-size .selector-1, .selector-1.disable-responsive-font-size { - font-size: 2rem; } + width: 300px; + font-size: 2rem; } @media (max-width: 1200px) { .selector-1 { font-size: calc(1.2rem + 1.06667vw) ; } } /* responsive-font-size property with `rem` unit */ -.selector-2, -.disable-responsive-font-size .selector-2, .selector-2.disable-responsive-font-size { +.selector-2 { font-size: 2rem; } - -@media (max-width: 1200px) { - .selector-2 { - font-size: calc(1.2rem + 1.06667vw) ; } } + @media (max-width: 1200px) { + .selector-2 { + font-size: calc(1.2rem + 1.06667vw) ; } } /* responsive-font-size property with !important */ -.selector-3, -.disable-responsive-font-size .selector-3, .selector-3.disable-responsive-font-size { +.selector-3 { font-size: 2rem !important; } - -@media (max-width: 1200px) { - .selector-3 { - font-size: calc(1.2rem + 1.06667vw) !important; } } + @media (max-width: 1200px) { + .selector-3 { + font-size: calc(1.2rem + 1.06667vw) !important; } } /* rfs shorthand */ -.selector-4, -.disable-responsive-font-size .selector-4, .selector-4.disable-responsive-font-size { +.selector-4 { font-size: 2rem; } - -@media (max-width: 1200px) { - .selector-4 { - font-size: calc(1.2rem + 1.06667vw) ; } } + @media (max-width: 1200px) { + .selector-4 { + font-size: calc(1.2rem + 1.06667vw) ; } } /* not supported unit */ .selector-5 { @@ -46,9 +38,8 @@ /* responsive-font-size property inside @support-query */ @supports (display: flex) { - .selector-7, - .disable-responsive-font-size .selector-7, .selector-7.disable-responsive-font-size { + .selector-7 { font-size: 1.75rem; } - @media (max-width: 1200px) { - .selector-7 { - font-size: calc(1.15rem + 0.8vw) ; } } } + @media (max-width: 1200px) { + .selector-7 { + font-size: calc(1.15rem + 0.8vw) ; } } } diff --git a/examples/sass/node/dest/main.css b/examples/sass/node/dest/main.css index dd46c10..b2e6783 100644 --- a/examples/sass/node/dest/main.css +++ b/examples/sass/node/dest/main.css @@ -1,40 +1,32 @@ /* responsive-font-size property with `px` unit */ .selector-1 { background-color: red; - width: 300px; } - .selector-1, - .disable-responsive-font-size .selector-1, .selector-1.disable-responsive-font-size { - font-size: 2rem; } + width: 300px; + font-size: 2rem; } @media (max-width: 1200px) { .selector-1 { font-size: calc(1.2rem + 1.06667vw) ; } } /* responsive-font-size property with `rem` unit */ -.selector-2, -.disable-responsive-font-size .selector-2, .selector-2.disable-responsive-font-size { +.selector-2 { font-size: 2rem; } - -@media (max-width: 1200px) { - .selector-2 { - font-size: calc(1.2rem + 1.06667vw) ; } } + @media (max-width: 1200px) { + .selector-2 { + font-size: calc(1.2rem + 1.06667vw) ; } } /* responsive-font-size property with !important */ -.selector-3, -.disable-responsive-font-size .selector-3, .selector-3.disable-responsive-font-size { +.selector-3 { font-size: 2rem !important; } - -@media (max-width: 1200px) { - .selector-3 { - font-size: calc(1.2rem + 1.06667vw) !important; } } + @media (max-width: 1200px) { + .selector-3 { + font-size: calc(1.2rem + 1.06667vw) !important; } } /* rfs shorthand */ -.selector-4, -.disable-responsive-font-size .selector-4, .selector-4.disable-responsive-font-size { +.selector-4 { font-size: 2rem; } - -@media (max-width: 1200px) { - .selector-4 { - font-size: calc(1.2rem + 1.06667vw) ; } } + @media (max-width: 1200px) { + .selector-4 { + font-size: calc(1.2rem + 1.06667vw) ; } } /* not supported unit */ .selector-5 { @@ -46,9 +38,8 @@ /* responsive-font-size property inside @support-query */ @supports (display: flex) { - .selector-7, - .disable-responsive-font-size .selector-7, .selector-7.disable-responsive-font-size { + .selector-7 { font-size: 1.75rem; } - @media (max-width: 1200px) { - .selector-7 { - font-size: calc(1.15rem + 0.8vw) ; } } } + @media (max-width: 1200px) { + .selector-7 { + font-size: calc(1.15rem + 0.8vw) ; } } } diff --git a/examples/scss/gulp/dest/main.css b/examples/scss/gulp/dest/main.css index dd46c10..b2e6783 100644 --- a/examples/scss/gulp/dest/main.css +++ b/examples/scss/gulp/dest/main.css @@ -1,40 +1,32 @@ /* responsive-font-size property with `px` unit */ .selector-1 { background-color: red; - width: 300px; } - .selector-1, - .disable-responsive-font-size .selector-1, .selector-1.disable-responsive-font-size { - font-size: 2rem; } + width: 300px; + font-size: 2rem; } @media (max-width: 1200px) { .selector-1 { font-size: calc(1.2rem + 1.06667vw) ; } } /* responsive-font-size property with `rem` unit */ -.selector-2, -.disable-responsive-font-size .selector-2, .selector-2.disable-responsive-font-size { +.selector-2 { font-size: 2rem; } - -@media (max-width: 1200px) { - .selector-2 { - font-size: calc(1.2rem + 1.06667vw) ; } } + @media (max-width: 1200px) { + .selector-2 { + font-size: calc(1.2rem + 1.06667vw) ; } } /* responsive-font-size property with !important */ -.selector-3, -.disable-responsive-font-size .selector-3, .selector-3.disable-responsive-font-size { +.selector-3 { font-size: 2rem !important; } - -@media (max-width: 1200px) { - .selector-3 { - font-size: calc(1.2rem + 1.06667vw) !important; } } + @media (max-width: 1200px) { + .selector-3 { + font-size: calc(1.2rem + 1.06667vw) !important; } } /* rfs shorthand */ -.selector-4, -.disable-responsive-font-size .selector-4, .selector-4.disable-responsive-font-size { +.selector-4 { font-size: 2rem; } - -@media (max-width: 1200px) { - .selector-4 { - font-size: calc(1.2rem + 1.06667vw) ; } } + @media (max-width: 1200px) { + .selector-4 { + font-size: calc(1.2rem + 1.06667vw) ; } } /* not supported unit */ .selector-5 { @@ -46,9 +38,8 @@ /* responsive-font-size property inside @support-query */ @supports (display: flex) { - .selector-7, - .disable-responsive-font-size .selector-7, .selector-7.disable-responsive-font-size { + .selector-7 { font-size: 1.75rem; } - @media (max-width: 1200px) { - .selector-7 { - font-size: calc(1.15rem + 0.8vw) ; } } } + @media (max-width: 1200px) { + .selector-7 { + font-size: calc(1.15rem + 0.8vw) ; } } } diff --git a/examples/scss/node/dest/main.css b/examples/scss/node/dest/main.css index dd46c10..b2e6783 100644 --- a/examples/scss/node/dest/main.css +++ b/examples/scss/node/dest/main.css @@ -1,40 +1,32 @@ /* responsive-font-size property with `px` unit */ .selector-1 { background-color: red; - width: 300px; } - .selector-1, - .disable-responsive-font-size .selector-1, .selector-1.disable-responsive-font-size { - font-size: 2rem; } + width: 300px; + font-size: 2rem; } @media (max-width: 1200px) { .selector-1 { font-size: calc(1.2rem + 1.06667vw) ; } } /* responsive-font-size property with `rem` unit */ -.selector-2, -.disable-responsive-font-size .selector-2, .selector-2.disable-responsive-font-size { +.selector-2 { font-size: 2rem; } - -@media (max-width: 1200px) { - .selector-2 { - font-size: calc(1.2rem + 1.06667vw) ; } } + @media (max-width: 1200px) { + .selector-2 { + font-size: calc(1.2rem + 1.06667vw) ; } } /* responsive-font-size property with !important */ -.selector-3, -.disable-responsive-font-size .selector-3, .selector-3.disable-responsive-font-size { +.selector-3 { font-size: 2rem !important; } - -@media (max-width: 1200px) { - .selector-3 { - font-size: calc(1.2rem + 1.06667vw) !important; } } + @media (max-width: 1200px) { + .selector-3 { + font-size: calc(1.2rem + 1.06667vw) !important; } } /* rfs shorthand */ -.selector-4, -.disable-responsive-font-size .selector-4, .selector-4.disable-responsive-font-size { +.selector-4 { font-size: 2rem; } - -@media (max-width: 1200px) { - .selector-4 { - font-size: calc(1.2rem + 1.06667vw) ; } } + @media (max-width: 1200px) { + .selector-4 { + font-size: calc(1.2rem + 1.06667vw) ; } } /* not supported unit */ .selector-5 { @@ -46,9 +38,8 @@ /* responsive-font-size property inside @support-query */ @supports (display: flex) { - .selector-7, - .disable-responsive-font-size .selector-7, .selector-7.disable-responsive-font-size { + .selector-7 { font-size: 1.75rem; } - @media (max-width: 1200px) { - .selector-7 { - font-size: calc(1.15rem + 0.8vw) ; } } } + @media (max-width: 1200px) { + .selector-7 { + font-size: calc(1.15rem + 0.8vw) ; } } } diff --git a/examples/stylus/gulp/dest/main.css b/examples/stylus/gulp/dest/main.css index 07c6246..1693c70 100644 --- a/examples/stylus/gulp/dest/main.css +++ b/examples/stylus/gulp/dest/main.css @@ -2,10 +2,6 @@ .selector-1 { background-color: #f00; width: 300px; -} -.selector-1, -.disable-responsive-font-size .selector-1, -.selector-1.disable-responsive-font-size { font-size: 2rem; } @media (max-width: 1200px) { @@ -14,9 +10,7 @@ } } /* responsive-font-size property with `rem` unit */ -.selector-2, -.disable-responsive-font-size .selector-2, -.selector-2.disable-responsive-font-size { +.selector-2 { font-size: 2rem; } @media (max-width: 1200px) { @@ -25,9 +19,7 @@ } } /* responsive-font-size property with !important */ -.selector-3, -.disable-responsive-font-size .selector-3, -.selector-3.disable-responsive-font-size { +.selector-3 { font-size: 2rem!important; } @media (max-width: 1200px) { @@ -36,9 +28,7 @@ } } /* rfs shorthand */ -.selector-4, -.disable-responsive-font-size .selector-4, -.selector-4.disable-responsive-font-size { +.selector-4 { font-size: 2rem; } @media (max-width: 1200px) { @@ -56,9 +46,7 @@ } /* responsive-font-size property inside @support-query */ @supports (display: flex) { - .selector-7, - .disable-responsive-font-size .selector-7, - .selector-7.disable-responsive-font-size { + .selector-7 { font-size: 1.75rem; } @media (max-width: 1200px) { diff --git a/examples/stylus/node/dest/main.css b/examples/stylus/node/dest/main.css index 07c6246..1693c70 100644 --- a/examples/stylus/node/dest/main.css +++ b/examples/stylus/node/dest/main.css @@ -2,10 +2,6 @@ .selector-1 { background-color: #f00; width: 300px; -} -.selector-1, -.disable-responsive-font-size .selector-1, -.selector-1.disable-responsive-font-size { font-size: 2rem; } @media (max-width: 1200px) { @@ -14,9 +10,7 @@ } } /* responsive-font-size property with `rem` unit */ -.selector-2, -.disable-responsive-font-size .selector-2, -.selector-2.disable-responsive-font-size { +.selector-2 { font-size: 2rem; } @media (max-width: 1200px) { @@ -25,9 +19,7 @@ } } /* responsive-font-size property with !important */ -.selector-3, -.disable-responsive-font-size .selector-3, -.selector-3.disable-responsive-font-size { +.selector-3 { font-size: 2rem!important; } @media (max-width: 1200px) { @@ -36,9 +28,7 @@ } } /* rfs shorthand */ -.selector-4, -.disable-responsive-font-size .selector-4, -.selector-4.disable-responsive-font-size { +.selector-4 { font-size: 2rem; } @media (max-width: 1200px) { @@ -56,9 +46,7 @@ } /* responsive-font-size property inside @support-query */ @supports (display: flex) { - .selector-7, - .disable-responsive-font-size .selector-7, - .selector-7.disable-responsive-font-size { + .selector-7 { font-size: 1.75rem; } @media (max-width: 1200px) { diff --git a/less/rfs.less b/less/rfs.less index 716f4b5..8a09a95 100644 --- a/less/rfs.less +++ b/less/rfs.less @@ -22,8 +22,8 @@ // Factor of decrease @rfs-factor: 5; -// Generate disable classes -@rfs-generate-disable-classes: true; +// Generate enable or disable classes. Possibilities: false, "enable" or "disable" +@rfs-class: false; // 1 rem = @rfs-rem-value px @rfs-rem-value: 16; @@ -162,7 +162,7 @@ @fs-min: @rfs-min + (@fs - @rfs-min) / @rfs-factor; // Calculate difference between given font-size and minimum font-size for given font-size @fs-variable-width: unit((@fs - @fs-min) / (@breakpoint / 100), vmin); - ._rfs-render-fluid(@fs-min, @fs-variable-width, @suffix); + ._rfs-render-enable-class(@fs-min, @fs-variable-width, @suffix); } & when (not(@rfs-two-dimensional)) { @@ -170,7 +170,7 @@ @fs-min: @rfs-min + (@fs - @rfs-min) / @rfs-factor; // Calculate difference between given font-size and minimum font-size for given font-size @fs-variable-width: unit((@fs - @fs-min) / (@breakpoint / 100), vw); - ._rfs-render-fluid(@fs-min, @fs-variable-width, @suffix); + ._rfs-render-enable-class(@fs-min, @fs-variable-width, @suffix); } } @@ -185,6 +185,20 @@ } } +._rfs-render-enable-class(@fs-min, @fs-variable-width, @suffix) { + + & when (@rfs-class = "enable") { + .enable-responsive-font-size &, + &.enable-responsive-font-size { + ._rfs-render-fluid(@fs-min, @fs-variable-width, @suffix); + } + } + + & when (not(@rfs-class = "enable")) { + ._rfs-render-fluid(@fs-min, @fs-variable-width, @suffix); + } +} + ._rfs-render-base-declaration(@fs, @suffix) { & when (@rfs-font-size-unit = px) { @@ -198,7 +212,7 @@ ._rfs-render-base-number(@fs, @suffix) { - & when (@rfs-generate-disable-classes) { + & when (@rfs-class = "disable") { &, .disable-responsive-font-size &, &.disable-responsive-font-size { @@ -206,7 +220,7 @@ } } - & when (not(@rfs-generate-disable-classes)) { + & when (not(@rfs-class = "disable")) { ._rfs-render-base-declaration(@fs, @suffix); } } diff --git a/package.json b/package.json index b54dbbd..ec98b17 100644 --- a/package.json +++ b/package.json @@ -33,17 +33,18 @@ "devDependencies": { "babel-cli": "^6.26.0", "babel-preset-env": "^1.6.1", - "browserify": "^14.5.0", + "browserify": "^16.1.0", "gulp": "^3.9.1", - "gulp-less": "^3.4.0", + "gulp-less": "^3.5.0", "gulp-postcss": "^7.0.0", "gulp-sass": "^3.1.0", "gulp-stylus": "^2.7.0", - "less": "^2.7.3", + "less": "^3.0.1", "node-sass": "^4.7.2", "postcss": "^6.0.14", "postcss-nested": "^3.0.0", - "stylelint": "^8.4.0", + "postcss-prettify": "^0.3.4", + "stylelint": "^9.1.1", "stylelint-scss": "^2.2.0", "stylus": "^0.54.5", "uglify-js": "^3.2.2" diff --git a/postcss/rfs.js b/postcss/rfs.js index 77b2c34..d81db49 100644 --- a/postcss/rfs.js +++ b/postcss/rfs.js @@ -13,6 +13,7 @@ module.exports = postcss.plugin('postcss-rfs', function (opts) { const BREAKPOINT_UNIT_ERROR = 'breakpointUnit option is invalid, it must be `px`, `rem` or `em`.'; const MINIMUM_FONT_SIZE_ERROR = 'minimumFontSize option is invalid, it must be set in `px` or `rem`.'; const DISABLE_RESPONSIVE_FONT_SIZE_SELECTOR = '.disable-responsive-font-size'; + const ENABLE_RESPONSIVE_FONT_SIZE_SELECTOR = '.enable-responsive-font-size'; opts = opts || {}; opts.minimumFontSize = opts.minimumFontSize || 16; opts.fontSizeUnit = opts.fontSizeUnit || 'rem'; @@ -21,7 +22,7 @@ module.exports = postcss.plugin('postcss-rfs', function (opts) { opts.factor = opts.factor || 5; opts.twoDimensional = opts.twoDimensional || false; opts.unitPrecision = opts.unitPrecision || 5; - opts.generateDisableClasses = opts.generateDisableClasses || true; + opts.class = opts.class || false; opts.remValue = opts.remValue || 16; opts.propList = opts.propList || ['responsive-font-size', 'rfs']; @@ -104,16 +105,28 @@ module.exports = postcss.plugin('postcss-rfs', function (opts) { baseFontSize /= opts.remValue; } - // Save selector for later - const rule_selector = rule.selector; - const viewportUnit = opts.twoDimensional ? 'vmin' : 'vw'; value = 'calc(' + toFixed(baseFontSize, opts.unitPrecision) + opts.fontSizeUnit + ' + ' + toFixed((fontSizeDiff * 100 / opts.breakpoint), opts.unitPrecision) + viewportUnit + ')'; const mediaQuery = postcss.atRule(renderMediaQuery(opts)); + let rule_selector = rule.selector; + + // Prefix with .enable-responsive-font-size class if needed + if (opts.class === 'enable') { + const selectors = rule.selector.split(','); + let ruleSelector = ''; + + for (let selector of selectors) { + ruleSelector += ENABLE_RESPONSIVE_FONT_SIZE_SELECTOR + ' ' + selector + ',\n'; + ruleSelector += ENABLE_RESPONSIVE_FONT_SIZE_SELECTOR + selector + ',\n'; + } + rule_selector = ruleSelector.slice(0, -2); + } + + const mediaQueryRule = postcss.rule({ - selector: rule.selector, + selector: rule_selector, source: rule.source }); mediaQueryRule.append(decl.clone({value: value})); @@ -121,7 +134,7 @@ module.exports = postcss.plugin('postcss-rfs', function (opts) { rule.parent.insertAfter(rule, mediaQuery.clone()); // Disable classes - if (opts.generateDisableClasses) { + if (opts.class === 'disable') { const selectors = rule.selector.split(','); let ruleSelector = ''; diff --git a/sass/_rfs.sass b/sass/_rfs.sass index 3fa235e..26fa07c 100644 --- a/sass/_rfs.sass +++ b/sass/_rfs.sass @@ -1,6 +1,6 @@ // stylelint-disable declaration-property-value-blacklist -// Sass RFS mixin +// SCSS RFS mixin // // Automated font-resizing // @@ -22,8 +22,8 @@ $rfs-two-dimensional: false !default // Factor of decrease $rfs-factor: 5 !default -// Generate disable classes -$rfs-generate-disable-classes: true !default +// Generate enable or disable classes. Possibilities: false, "enable" or "disable" +$rfs-class: false !default // 1 rem = $rfs-rem-value px $rfs-rem-value: 16 !default @@ -126,7 +126,7 @@ $enable-responsive-font-sizes: true !default @else @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`." - @if $rfs-generate-disable-classes + @if $rfs-class == "disable" // Adding an extra class increases specificity, // which prevents the media query to override the font size &, @@ -138,10 +138,20 @@ $enable-responsive-font-sizes: true !default @if $rfs-two-dimensional @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) - font-size: $rfs-fluid + @if $rfs-class == "enable" + .enable-responsive-font-size &, + &.enable-responsive-font-size + font-size: $rfs-fluid + @else + font-size: $rfs-fluid @else @media (max-width: #{$mq-value}) - font-size: $rfs-fluid + @if $rfs-class == "enable" + .enable-responsive-font-size &, + &.enable-responsive-font-size + font-size: $rfs-fluid + @else + font-size: $rfs-fluid // The responsive-font-size mixin uses RFS to rescale font sizes =responsive-font-size($fs, $important: false) diff --git a/scss/_rfs.scss b/scss/_rfs.scss index da52be8..44e7c5a 100644 --- a/scss/_rfs.scss +++ b/scss/_rfs.scss @@ -22,8 +22,8 @@ $rfs-two-dimensional: false !default; // Factor of decrease $rfs-factor: 5 !default; -// Generate disable classes -$rfs-generate-disable-classes: true !default; +// Generate enable or disable classes. Possibilities: false, "enable" or "disable" +$rfs-class: false !default; // 1 rem = $rfs-rem-value px $rfs-rem-value: 16 !default; @@ -148,7 +148,7 @@ $enable-responsive-font-sizes: true !default; @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`."; } - @if $rfs-generate-disable-classes { + @if $rfs-class == "disable" { // Adding an extra class increases specificity, // which prevents the media query to override the font size &, @@ -163,12 +163,28 @@ $enable-responsive-font-sizes: true !default; @if $rfs-two-dimensional { @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) { - font-size: $rfs-fluid; + @if $rfs-class == "enable" { + .enable-responsive-font-size &, + &.enable-responsive-font-size { + font-size: $rfs-fluid; + } + } + @else { + font-size: $rfs-fluid; + } } } @else { @media (max-width: #{$mq-value}) { - font-size: $rfs-fluid; + @if $rfs-class == "enable" { + .enable-responsive-font-size &, + &.enable-responsive-font-size { + font-size: $rfs-fluid; + } + } + @else { + font-size: $rfs-fluid; + } } } } diff --git a/stylus/rfs.styl b/stylus/rfs.styl index b4ccb6c..9a45459 100644 --- a/stylus/rfs.styl +++ b/stylus/rfs.styl @@ -22,8 +22,8 @@ $rfs-two-dimensional = false // Factor of decrease $rfs-factor = 5 -// Generate disable classes -$rfs-generate-disable-classes = true +// Generate enable or disable classes. Possibilities: false, "enable" or "disable" +$rfs-classes = false // 1 rem = $rfs-rem-value px $rfs-rem-value = 16 @@ -126,7 +126,7 @@ rfs($fs, $important = false) else error("`$rfs-breakpoint-unit` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.") - if $rfs-generate-disable-classes + if $rfs-classes == "disable" // Adding an extra class increases specificity, // which prevents the media query to override the font size &, @@ -138,10 +138,20 @@ rfs($fs, $important = false) if $rfs-two-dimensional @media (max-width: $mq-value), (max-height: $mq-value) - font-size: $rfs-fluid + if $rfs-classes == "enable" + .enable-responsive-font-size &, + &.enable-responsive-font-size + font-size: $rfs-fluid + else + font-size: $rfs-fluid else @media (max-width: $mq-value) - font-size: $rfs-fluid + if $rfs-classes == "enable" + .enable-responsive-font-size &, + &.enable-responsive-font-size + font-size: $rfs-fluid + else + font-size: $rfs-fluid // The responsive-font-size mixin uses RFS to rescale font sizes responsive-font-size($fs, $important = false) @@ -2,6 +2,12 @@ # yarn lockfile v1 +"@browserify/acorn5-object-spread@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@browserify/acorn5-object-spread/-/acorn5-object-spread-5.0.1.tgz#92e9b37f97beac9ec429a3cc479ded380297540c" + dependencies: + acorn "^5.2.1" + JSONStream@^1.0.3: version "1.3.2" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea" @@ -32,9 +38,9 @@ accord@^0.26.3: uglify-js "^2.7.0" when "^3.7.7" -accord@^0.27.3: - version "0.27.3" - resolved "https://registry.yarnpkg.com/accord/-/accord-0.27.3.tgz#7fb9129709285caea84eb372c4e882031b7138e8" +accord@^0.28.0: + version "0.28.0" + resolved "https://registry.yarnpkg.com/accord/-/accord-0.28.0.tgz#bec516a2f722e7d50f5f9f42f81b77f3b95448ba" dependencies: convert-source-map "^1.5.0" glob "^7.0.5" @@ -46,7 +52,7 @@ accord@^0.27.3: lodash.partialright "^4.1.4" lodash.pick "^4.2.1" lodash.uniq "^4.3.0" - resolve "^1.3.3" + resolve "^1.5.0" semver "^5.3.0" uglify-js "^2.8.22" when "^3.7.8" @@ -121,7 +127,7 @@ ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" -ansi-styles@^3.1.0: +ansi-styles@^3.1.0, ansi-styles@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" dependencies: @@ -302,15 +308,15 @@ atob@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d" -autoprefixer@^7.1.2: - version "7.2.5" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.2.5.tgz#04ccbd0c6a61131b6d13f53d371926092952d192" +autoprefixer@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-8.0.0.tgz#c19e480f061013127c373df0b01cf46919943f74" dependencies: - browserslist "^2.11.1" - caniuse-lite "^1.0.30000791" + browserslist "^3.0.0" + caniuse-lite "^1.0.30000808" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^6.0.16" + postcss "^6.0.17" postcss-value-parser "^3.2.3" aws-sign2@~0.6.0: @@ -878,13 +884,20 @@ boom@5.x.x: dependencies: hoek "4.x.x" -brace-expansion@^1.0.0, brace-expansion@^1.1.7: +brace-expansion@^1.0.0: version "1.1.8" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" dependencies: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + braces@^1.8.2: version "1.8.5" resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" @@ -982,9 +995,9 @@ browserify-zlib@~0.2.0: dependencies: pako "~1.0.5" -browserify@^14.5.0: - version "14.5.0" - resolved "https://registry.yarnpkg.com/browserify/-/browserify-14.5.0.tgz#0bbbce521acd6e4d1d54d8e9365008efb85a9cc5" +browserify@^16.1.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/browserify/-/browserify-16.1.0.tgz#00b86844f89482bbd0d5d1b584b324762ef3f698" dependencies: JSONStream "^1.0.3" assert "^1.4.0" @@ -993,15 +1006,15 @@ browserify@^14.5.0: browserify-zlib "~0.2.0" buffer "^5.0.2" cached-path-relative "^1.0.0" - concat-stream "~1.5.1" + concat-stream "^1.6.0" console-browserify "^1.1.0" constants-browserify "~1.0.0" crypto-browserify "^3.0.0" defined "^1.0.0" deps-sort "^2.0.0" - domain-browser "~1.1.0" + domain-browser "^1.2.0" duplexer2 "~0.1.2" - events "~1.1.0" + events "^2.0.0" glob "^7.1.0" has "^1.0.0" htmlescape "^1.1.0" @@ -1009,7 +1022,8 @@ browserify@^14.5.0: inherits "~2.0.1" insert-module-globals "^7.0.0" labeled-stream-splicer "^2.0.0" - module-deps "^4.0.8" + mkdirp "^0.5.0" + module-deps "^6.0.0" os-browserify "~0.3.0" parents "^1.0.1" path-browserify "~0.0.0" @@ -1028,19 +1042,26 @@ browserify@^14.5.0: syntax-error "^1.1.1" through2 "^2.0.0" timers-browserify "^1.0.1" - tty-browserify "~0.0.0" + tty-browserify "0.0.1" url "~0.11.0" util "~0.10.1" vm-browserify "~0.0.1" xtend "^4.0.0" -browserslist@^2.1.2, browserslist@^2.11.1: +browserslist@^2.1.2: version "2.11.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" dependencies: caniuse-lite "^1.0.30000792" electron-to-chromium "^1.3.30" +browserslist@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.1.1.tgz#d380fc048bc3a33e60fb87dc135110ebaaa6320a" + dependencies: + caniuse-lite "^1.0.30000809" + electron-to-chromium "^1.3.33" + buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" @@ -1109,10 +1130,14 @@ camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" -caniuse-lite@^1.0.30000791, caniuse-lite@^1.0.30000792: +caniuse-lite@^1.0.30000792: version "1.0.30000792" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000792.tgz#d0cea981f8118f3961471afbb43c9a1e5bbf0332" +caniuse-lite@^1.0.30000808, caniuse-lite@^1.0.30000809: + version "1.0.30000810" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000810.tgz#47585fffce0e9f3593a6feea4673b945424351d9" + caseless@~0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" @@ -1142,7 +1167,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0: +chalk@^2.0.1, chalk@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" dependencies: @@ -1150,6 +1175,14 @@ chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0: escape-string-regexp "^1.0.5" supports-color "^4.0.0" +chalk@^2.3.0, chalk@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796" + dependencies: + ansi-styles "^3.2.0" + escape-string-regexp "^1.0.5" + supports-color "^5.2.0" + character-entities-html4@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.1.tgz#359a2a4a0f7e29d3dc2ac99bdbe21ee39438ea50" @@ -1288,15 +1321,19 @@ combine-source-map@~0.8.0: source-map "~0.5.3" combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" dependencies: delayed-stream "~1.0.0" -commander@^2.11.0, commander@^2.9.0, commander@~2.13.0: +commander@^2.11.0, commander@^2.9.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" +commander@~2.14.1: + version "2.14.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" + component-emitter@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" @@ -1305,7 +1342,15 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@~1.5.0, concat-stream@~1.5.1: +concat-stream@^1.6.0, concat-stream@~1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +concat-stream@~1.5.1: version "1.5.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" dependencies: @@ -1359,13 +1404,13 @@ cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: parse-json "^2.2.0" require-from-string "^1.1.0" -cosmiconfig@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-3.1.0.tgz#640a94bf9847f321800403cd273af60665c73397" +cosmiconfig@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" dependencies: is-directory "^0.3.1" js-yaml "^3.9.0" - parse-json "^3.0.0" + parse-json "^4.0.0" require-from-string "^2.0.1" create-ecdh@^4.0.0: @@ -1503,7 +1548,7 @@ define-property@^1.0.0: dependencies: is-descriptor "^1.0.0" -defined@^1.0.0: +defined@1.0.0, defined@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" @@ -1561,10 +1606,11 @@ detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" -detective@^4.0.0: - version "4.7.1" - resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e" +detective@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/detective/-/detective-5.0.2.tgz#84ec2e1c581e74211e2ae4ffce1edf52c3263f84" dependencies: + "@browserify/acorn5-object-spread" "^5.0.1" acorn "^5.2.1" defined "^1.0.0" @@ -1590,9 +1636,9 @@ dom-serializer@0: domelementtype "~1.1.1" entities "~1.1.1" -domain-browser@~1.1.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" +domain-browser@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" domelementtype@1, domelementtype@^1.3.0: version "1.3.0" @@ -1643,6 +1689,10 @@ electron-to-chromium@^1.3.30: version "1.3.31" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.31.tgz#00d832cba9fe2358652b0c48a8816c8e3a037e9f" +electron-to-chromium@^1.3.33: + version "1.3.34" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.34.tgz#d93498f40391bb0c16a603d8241b9951404157ed" + elliptic@^6.0.0: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -1666,8 +1716,8 @@ entities@^1.1.1, entities@~1.1.1: resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" errno@^0.1.1: - version "0.1.6" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026" + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" dependencies: prr "~1.0.1" @@ -1689,9 +1739,9 @@ esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -events@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" +events@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/events/-/events-2.0.0.tgz#cbbb56bf3ab1ac18d71c43bb32c86255062769f2" evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" @@ -2175,7 +2225,7 @@ glogg@^1.0.0: dependencies: sparkles "^1.0.0" -gonzales-pe@^4.0.3: +gonzales-pe@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.3.tgz#41091703625433285e0aee3aa47829fc1fbeb6f2" dependencies: @@ -2195,11 +2245,11 @@ graceful-fs@~1.2.0: version "1.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" -gulp-less@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/gulp-less/-/gulp-less-3.4.0.tgz#167e368139719fb3ba3c39369dd8293d24719b0b" +gulp-less@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/gulp-less/-/gulp-less-3.5.0.tgz#8014f469ddfc6544d7dda50098def0371bbb4f78" dependencies: - accord "^0.27.3" + accord "^0.28.0" less "2.6.x || ^2.7.1" object-assign "^4.0.1" plugin-error "^0.1.2" @@ -2331,6 +2381,10 @@ has-flag@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" @@ -2971,9 +3025,9 @@ kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" -known-css-properties@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.5.0.tgz#6ff66943ed4a5b55657ee095779a91f4536f8084" +known-css-properties@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.6.1.tgz#31b5123ad03d8d1a3f36bd4155459c981173478b" labeled-stream-splicer@^2.0.0: version "2.0.0" @@ -2999,7 +3053,7 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" -"less@2.6.x || ^2.7.1", less@^2.7.3: +"less@2.6.x || ^2.7.1": version "2.7.3" resolved "https://registry.yarnpkg.com/less/-/less-2.7.3.tgz#cc1260f51c900a9ec0d91fb6998139e02507b63b" optionalDependencies: @@ -3012,6 +3066,19 @@ lcid@^1.0.0: request "2.81.0" source-map "^0.5.3" +less@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/less/-/less-3.0.1.tgz#ba2fea24a5632ccb8c84230d6043c0bf91855e37" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + mime "^1.4.1" + mkdirp "^0.5.0" + promise "^7.1.1" + request "2.81.0" + source-map "^0.5.3" + lexical-scope@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.2.0.tgz#fcea5edc704a4b3a8796cdca419c3a0afaf22df4" @@ -3167,8 +3234,8 @@ lodash.memoize@~3.0.3: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" lodash.merge@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" lodash.mergewith@^4.6.0: version "4.6.0" @@ -3211,10 +3278,14 @@ lodash.uniq@^4.3.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@^4.0.0, lodash@^4.17.4, lodash@~4.17.4: +lodash@^4.0.0, lodash@~4.17.4: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +lodash@^4.17.4: + version "4.17.5" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" + lodash@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" @@ -3383,13 +3454,23 @@ mime-db@~1.30.0: version "1.30.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7: +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + +mime-types@^2.1.12, mime-types@~2.1.7: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + dependencies: + mime-db "~1.33.0" + +mime-types@~2.1.17: version "2.1.17" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" dependencies: mime-db "~1.30.0" -mime@^1.2.11: +mime@^1.2.11, mime@^1.4.1: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" @@ -3452,21 +3533,21 @@ mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: dependencies: minimist "0.0.8" -module-deps@^4.0.8: - version "4.1.1" - resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-4.1.1.tgz#23215833f1da13fd606ccb8087b44852dcb821fd" +module-deps@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-6.0.0.tgz#4417b49a4f4d7af79b104186e5389ea99b1dc837" dependencies: JSONStream "^1.0.3" browser-resolve "^1.7.0" cached-path-relative "^1.0.0" - concat-stream "~1.5.0" + concat-stream "~1.6.0" defined "^1.0.0" - detective "^4.0.0" + detective "^5.0.2" duplexer2 "^0.1.2" inherits "^2.0.1" parents "^1.0.0" readable-stream "^2.0.2" - resolve "^1.1.3" + resolve "^1.4.0" stream-combiner2 "^1.1.1" subarg "^1.0.0" through2 "^2.0.0" @@ -3799,12 +3880,6 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" -parse-json@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-3.0.0.tgz#fa6f47b18e23826ead32f263e744d0e1e847fb13" - dependencies: - error-ex "^1.3.1" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -3972,6 +4047,13 @@ postcss-nested@^3.0.0: postcss "^6.0.14" postcss-selector-parser "^3.1.1" +postcss-prettify@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/postcss-prettify/-/postcss-prettify-0.3.4.tgz#1ab97899bea34777e4fc18d8ca61f85807651843" + dependencies: + defined "1.0.0" + postcss "5.0.19" + postcss-reporter@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-5.0.0.tgz#a14177fd1342829d291653f2786efd67110332c3" @@ -3991,12 +4073,12 @@ postcss-safe-parser@^3.0.1: dependencies: postcss "^6.0.6" -postcss-sass@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.2.0.tgz#e55516441e9526ba4b380a730d3a02e9eaa78c7a" +postcss-sass@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.3.0.tgz#dc2582ee0e61541aa88bafdc5a8aebb53deaae75" dependencies: - gonzales-pe "^4.0.3" - postcss "^6.0.6" + gonzales-pe "^4.2.3" + postcss "^6.0.16" postcss-scss@^1.0.2: version "1.0.3" @@ -4016,6 +4098,14 @@ postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" +postcss@5.0.19: + version "5.0.19" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.0.19.tgz#b6342a01dc75b8cab7e968afda96aefc67f888af" + dependencies: + js-base64 "^2.1.9" + source-map "^0.5.1" + supports-color "^3.1.2" + postcss@^5.2.16: version "5.2.18" resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" @@ -4025,7 +4115,7 @@ postcss@^5.2.16: source-map "^0.5.6" supports-color "^3.2.3" -postcss@^6.0.0, postcss@^6.0.14, postcss@^6.0.15, postcss@^6.0.16, postcss@^6.0.6, postcss@^6.0.8: +postcss@^6.0.0, postcss@^6.0.15, postcss@^6.0.16, postcss@^6.0.6, postcss@^6.0.8: version "6.0.16" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.16.tgz#112e2fe2a6d2109be0957687243170ea5589e146" dependencies: @@ -4033,6 +4123,14 @@ postcss@^6.0.0, postcss@^6.0.14, postcss@^6.0.15, postcss@^6.0.16, postcss@^6.0. source-map "^0.6.1" supports-color "^5.1.0" +postcss@^6.0.14, postcss@^6.0.17: + version "6.0.19" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.19.tgz#76a78386f670b9d9494a655bf23ac012effd1555" + dependencies: + chalk "^2.3.1" + source-map "^0.6.1" + supports-color "^5.2.0" + preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" @@ -4049,6 +4147,10 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + process@~0.11.0: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" @@ -4183,7 +4285,7 @@ read-pkg@^3.0.0: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.3.3: +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" dependencies: @@ -4195,6 +4297,18 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable string_decoder "~1.0.3" util-deprecate "~1.0.1" +readable-stream@^2.1.5, readable-stream@^2.2.2: + version "2.3.4" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.4.tgz#c946c3f47fa7d8eabc0b6150f4a12f69a4574071" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" + util-deprecate "~1.0.1" + readable-stream@~1.1.9: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" @@ -4481,7 +4595,7 @@ resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.3: +resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.4.0, resolve@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" dependencies: @@ -4605,7 +4719,7 @@ sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" -signal-exit@^3.0.0: +signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -4882,8 +4996,8 @@ style-search@^0.1.0: resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" stylelint-scss@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-2.2.0.tgz#3e324bf13346db7af21cd24ad57fe3202f7c3823" + version "2.4.0" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-2.4.0.tgz#2d417688556d64536f435e7a6f77a40dbb89e505" dependencies: lodash "^4.17.4" postcss-media-query-parser "^0.2.3" @@ -4891,14 +5005,14 @@ stylelint-scss@^2.2.0: postcss-selector-parser "^3.1.1" postcss-value-parser "^3.3.0" -stylelint@^8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-8.4.0.tgz#c2dbaeb17236917819f9206e1c0df5fddf6f83c3" +stylelint@^9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-9.1.1.tgz#bfabb7eb8ea6251a4732f4b2a0468963a30d3da9" dependencies: - autoprefixer "^7.1.2" + autoprefixer "^8.0.0" balanced-match "^1.0.0" chalk "^2.0.1" - cosmiconfig "^3.1.0" + cosmiconfig "^4.0.0" debug "^3.0.0" execall "^1.0.0" file-entry-cache "^2.0.0" @@ -4908,7 +5022,7 @@ stylelint@^8.4.0: html-tags "^2.0.0" ignore "^3.3.3" imurmurhash "^0.1.4" - known-css-properties "^0.5.0" + known-css-properties "^0.6.0" lodash "^4.17.4" log-symbols "^2.0.0" mathml-tag-names "^2.0.1" @@ -4916,18 +5030,19 @@ stylelint@^8.4.0: micromatch "^2.3.11" normalize-selector "^0.2.0" pify "^3.0.0" - postcss "^6.0.6" + postcss "^6.0.16" postcss-html "^0.12.0" postcss-less "^1.1.0" postcss-media-query-parser "^0.2.3" postcss-reporter "^5.0.0" postcss-resolve-nested-selector "^0.1.1" postcss-safe-parser "^3.0.1" - postcss-sass "^0.2.0" + postcss-sass "^0.3.0" postcss-scss "^1.0.2" postcss-selector-parser "^3.1.0" postcss-value-parser "^3.3.0" resolve-from "^4.0.0" + signal-exit "^3.0.2" specificity "^0.3.1" string-width "^2.1.0" style-search "^0.1.0" @@ -4962,7 +5077,7 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^3.2.3: +supports-color@^3.1.2, supports-color@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: @@ -4974,11 +5089,11 @@ supports-color@^4.0.0: dependencies: has-flag "^2.0.0" -supports-color@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.1.0.tgz#058a021d1b619f7ddf3980d712ea3590ce7de3d5" +supports-color@^5.1.0, supports-color@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.2.0.tgz#b0d5333b1184dd3666cbe5aa0b45c5ac7ac17a4a" dependencies: - has-flag "^2.0.0" + has-flag "^3.0.0" svg-tags@^1.0.0: version "1.0.0" @@ -5121,7 +5236,7 @@ trough@^1.0.0: dependencies: glob "^6.0.4" -tty-browserify@~0.0.0: +tty-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" @@ -5139,7 +5254,7 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" -typedarray@~0.0.5: +typedarray@^0.0.6, typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -5153,10 +5268,10 @@ uglify-js@^2.7.0, uglify-js@^2.8.22: uglify-to-browserify "~1.0.0" uglify-js@^3.2.2: - version "3.3.9" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.9.tgz#33869666c8ab7f7658ce3d22f0f1ced40097d33a" + version "3.3.12" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.12.tgz#efd87c16a1f4c674a8a5ede571001ef634dcc883" dependencies: - commander "~2.13.0" + commander "~2.14.1" source-map "~0.6.1" uglify-to-browserify@~1.0.0: |