diff --git a/README.md b/README.md index 5b57d81..cfd8a4c 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,8 @@ Use the global variables: font-size: (1.5 * @g-font-size-kilo); } ``` -See `/src/__settings.less` for all the variables available. +See [`/css/src/__settings.less`](https://github.com/chharvey/xmeter/blob/master/css/src/__settings.less) +for all the variables available. Use the tools: ```less @@ -33,7 +34,8 @@ Use the tools: .transitions(color, background-color; 500ms; ease-in-out); } ``` -Read about all of Xmeter’s tools (see `/docs/tools.md`). +Read about all of Xmeter’s tools at +[`/docs/tools.md`](https://github.com/chharvey/xmeter/blob/master/docs/tools.md). ### Deployment @@ -64,8 +66,12 @@ $ npm install xmeter + + + + ``` @@ -74,10 +80,9 @@ $ npm install xmeter (not recommended, unless deploying your `/node_modules/` isn’t possible) ```html - + ``` -where `‹master›` can be any release tag, commit, or branch, and `‹filename›` represents the stylesheet name. +where `‹X.Y.Z›` is any published version number, and `‹filename›` is the name of the stylesheet. ## Features diff --git a/css/src/_-mb.less b/css/src/_-mb.less index 987e202..bc353da 100644 --- a/css/src/_-mb.less +++ b/css/src/_-mb.less @@ -25,11 +25,11 @@ //
  • Planet (4.00)
  • // // -// Weight: 1 +// Weight: 1.1 // // Styleguide Atoms.margin-bottom -@p-lh: 1.5rem; // COMBAK:FALLBACK for `lh` unit +@p-lh: 1.5rem; // COMBAK{FALLBACK} for `lh` unit .-mb-0 { margin-bottom: 0; @@ -37,56 +37,56 @@ } .-mb-q { - margin-bottom: (0.25 * @p-lh); // COMBAK:FALLBACK - margin-bottom: calc(0.25 * var(--lh)); // COMBAK:FALLBACK + margin-bottom: (0.25 * @p-lh); // COMBAK{FALLBACK} + margin-bottom: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} margin-bottom: 0.25lh; @supports (margin-block-end: var(--v)) { margin-bottom: unset; - margin-block-end: calc(0.25 * var(--lh)); // COMBAK:FALLBACK + margin-block-end: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} margin-block-end: 0.25lh; } } .-mb-h { - margin-bottom: (0.5 * @p-lh); // COMBAK:FALLBACK - margin-bottom: calc(0.5 * var(--lh)); // COMBAK:FALLBACK + margin-bottom: (0.5 * @p-lh); // COMBAK{FALLBACK} + margin-bottom: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} margin-bottom: 0.5lh; @supports (margin-block-end: var(--v)) { margin-bottom: unset; - margin-block-end: calc(0.5 * var(--lh)); // COMBAK:FALLBACK + margin-block-end: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} margin-block-end: 0.5lh; } } .-mb-1 { - margin-bottom: @p-lh; // COMBAK:FALLBACK - margin-bottom: var(--lh); // COMBAK:FALLBACK + margin-bottom: @p-lh; // COMBAK{FALLBACK} + margin-bottom: var(--lh); // COMBAK{FALLBACK} margin-bottom: 1lh; @supports (margin-block-end: var(--v)) { margin-bottom: unset; - margin-block-end: var(--lh); // COMBAK:FALLBACK + margin-block-end: var(--lh); // COMBAK{FALLBACK} margin-block-end: 1lh; } } .-mb-2 { - margin-bottom: (2 * @p-lh); // COMBAK:FALLBACK - margin-bottom: calc(2 * var(--lh)); // COMBAK:FALLBACK + margin-bottom: (2 * @p-lh); // COMBAK{FALLBACK} + margin-bottom: calc(2 * var(--lh)); // COMBAK{FALLBACK} margin-bottom: 2lh; @supports (margin-block-end: var(--v)) { margin-bottom: unset; - margin-block-end: calc(2 * var(--lh)); // COMBAK:FALLBACK + margin-block-end: calc(2 * var(--lh)); // COMBAK{FALLBACK} margin-block-end: 2lh; } } .-mb-4 { - margin-bottom: (4 * @p-lh); // COMBAK:FALLBACK - margin-bottom: calc(4 * var(--lh)); // COMBAK:FALLBACK + margin-bottom: (4 * @p-lh); // COMBAK{FALLBACK} + margin-bottom: calc(4 * var(--lh)); // COMBAK{FALLBACK} margin-bottom: 4lh; @supports (margin-block-end: var(--v)) { margin-bottom: unset; - margin-block-end: calc(4 * var(--lh)); // COMBAK:FALLBACK + margin-block-end: calc(4 * var(--lh)); // COMBAK{FALLBACK} margin-block-end: 4lh; } } diff --git a/css/src/_-mt.less b/css/src/_-mt.less new file mode 100644 index 0000000..3ac35c3 --- /dev/null +++ b/css/src/_-mt.less @@ -0,0 +1,92 @@ + +/*################################*\ + xmeter | _-mt.less +\*################################*/ + + +// margin-top +// +// Set the `margin-top` property on an element, +// or `margin-block-start` if it is supported. +// +//
    +//
    author
    Chris Harvey
    +//
    updated
    +//
    +// +// Markup: +// +// +// +// Weight: 1 +// +// Styleguide Atoms.margin-top + +@p-lh: 1.5rem; // COMBAK{FALLBACK} for `lh` unit + +.-mt-0 { + margin-top: 0; + margin-block-start: 0; +} + +.-mt-q { + margin-top: (0.25 * @p-lh); // COMBAK{FALLBACK} + margin-top: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} + margin-top: 0.25lh; + @supports (margin-block-start: var(--v)) { + margin-top: unset; + margin-block-start: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} + margin-block-start: 0.25lh; + } +} + +.-mt-h { + margin-top: (0.5 * @p-lh); // COMBAK{FALLBACK} + margin-top: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} + margin-top: 0.5lh; + @supports (margin-block-start: var(--v)) { + margin-top: unset; + margin-block-start: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} + margin-block-start: 0.5lh; + } +} + +.-mt-1 { + margin-top: @p-lh; // COMBAK{FALLBACK} + margin-top: var(--lh); // COMBAK{FALLBACK} + margin-top: 1lh; + @supports (margin-block-start: var(--v)) { + margin-top: unset; + margin-block-start: var(--lh); // COMBAK{FALLBACK} + margin-block-start: 1lh; + } +} + +.-mt-2 { + margin-top: (2 * @p-lh); // COMBAK{FALLBACK} + margin-top: calc(2 * var(--lh)); // COMBAK{FALLBACK} + margin-top: 2lh; + @supports (margin-block-start: var(--v)) { + margin-top: unset; + margin-block-start: calc(2 * var(--lh)); // COMBAK{FALLBACK} + margin-block-start: 2lh; + } +} + +.-mt-4 { + margin-top: (4 * @p-lh); // COMBAK{FALLBACK} + margin-top: calc(4 * var(--lh)); // COMBAK{FALLBACK} + margin-top: 4lh; + @supports (margin-block-start: var(--v)) { + margin-top: unset; + margin-block-start: calc(4 * var(--lh)); // COMBAK{FALLBACK} + margin-block-start: 4lh; + } +} diff --git a/css/src/_-my.less b/css/src/_-my.less new file mode 100644 index 0000000..0a2d251 --- /dev/null +++ b/css/src/_-my.less @@ -0,0 +1,92 @@ + +/*################################*\ + xmeter | _-my.less +\*################################*/ + + +// margin-vertical +// +// Set the `margin-top` and `margin-bottom` properties on an element, +// or `margin-block` if it is supported. +// +//
    +//
    author
    Chris Harvey
    +//
    updated
    +//
    +// +// Markup: +// +// +// +// Weight: 1.4 +// +// Styleguide Atoms.margin-vertical + +@p-lh: 1.5rem; // COMBAK{FALLBACK} for `lh` unit + +.-my-0 { + margin-top: 0; margin-bottom: 0; + margin-block: 0; +} + +.-my-q { + margin-top: (0.25 * @p-lh); margin-bottom: (0.25 * @p-lh); // COMBAK{FALLBACK} + margin-top: calc(0.25 * var(--lh)); margin-bottom: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} + margin-top: 0.25lh; margin-bottom: 0.25lh; + @supports (margin-block: var(--v)) { + margin-top: unset; margin-bottom: unset; + margin-block: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} + margin-block: 0.25lh; + } +} + +.-my-h { + margin-top: (0.5 * @p-lh); margin-bottom: (0.5 * @p-lh); // COMBAK{FALLBACK} + margin-top: calc(0.5 * var(--lh)); margin-bottom: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} + margin-top: 0.5lh; margin-bottom: 0.5lh; + @supports (margin-block-end: var(--v)) { + margin-top: unset; margin-bottom: unset; + margin-block: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} + margin-block: 0.5lh; + } +} + +.-my-1 { + margin-top: @p-lh; margin-bottom: @p-lh; // COMBAK{FALLBACK} + margin-top: var(--lh); margin-bottom: var(--lh); // COMBAK{FALLBACK} + margin-top: 1lh; margin-bottom: 1lh; + @supports (margin-block: var(--v)) { + margin-top: unset; margin-bottom: unset; + margin-block: var(--lh); // COMBAK{FALLBACK} + margin-block: 1lh; + } +} + +.-my-2 { + margin-top: (2 * @p-lh); margin-bottom: (2 * @p-lh); // COMBAK{FALLBACK} + margin-top: calc(2 * var(--lh)); margin-bottom: calc(2 * var(--lh)); // COMBAK{FALLBACK} + margin-top: 2lh; margin-bottom: 2lh; + @supports (margin-block: var(--v)) { + margin-top: unset; margin-bottom: unset; + margin-block: calc(2 * var(--lh)); // COMBAK{FALLBACK} + margin-block: 2lh; + } +} + +.-my-4 { + margin-top: (4 * @p-lh); margin-bottom: (4 * @p-lh); // COMBAK{FALLBACK} + margin-top: calc(4 * var(--lh)); margin-bottom: calc(4 * var(--lh)); // COMBAK{FALLBACK} + margin-top: 4lh; margin-bottom: 4lh; + @supports (margin-block: var(--v)) { + margin-top: unset; margin-bottom: unset; + margin-block: calc(4 * var(--lh)); // COMBAK{FALLBACK} + margin-block: 4lh; + } +} diff --git a/css/src/_-pb.less b/css/src/_-pb.less new file mode 100644 index 0000000..7b7f748 --- /dev/null +++ b/css/src/_-pb.less @@ -0,0 +1,92 @@ + +/*################################*\ + xmeter | _-pb.less +\*################################*/ + + +// padding-bottom +// +// Set the `padding-bottom` property on an element, +// or `padding-block-end` if it is supported. +// +//
    +//
    author
    Chris Harvey
    +//
    updated
    +//
    +// +// Markup: +// +// +// +// Weight: 2.1 +// +// Styleguide Atoms.padding-bottom + +@p-lh: 1.5rem; // COMBAK{FALLBACK} for `lh` unit + +.-pb-0 { + padding-bottom: 0; + padding-block-end: 0; +} + +.-pb-q { + padding-bottom: (0.25 * @p-lh); // COMBAK{FALLBACK} + padding-bottom: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} + padding-bottom: 0.25lh; + @supports (padding-block-end: var(--v)) { + padding-bottom: unset; + padding-block-end: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} + padding-block-end: 0.25lh; + } +} + +.-pb-h { + padding-bottom: (0.5 * @p-lh); // COMBAK{FALLBACK} + padding-bottom: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} + padding-bottom: 0.5lh; + @supports (padding-block-end: var(--v)) { + padding-bottom: unset; + padding-block-end: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} + padding-block-end: 0.5lh; + } +} + +.-pb-1 { + padding-bottom: @p-lh; // COMBAK{FALLBACK} + padding-bottom: var(--lh); // COMBAK{FALLBACK} + padding-bottom: 1lh; + @supports (padding-block-end: var(--v)) { + padding-bottom: unset; + padding-block-end: var(--lh); // COMBAK{FALLBACK} + padding-block-end: 1lh; + } +} + +.-pb-2 { + padding-bottom: (2 * @p-lh); // COMBAK{FALLBACK} + padding-bottom: calc(2 * var(--lh)); // COMBAK{FALLBACK} + padding-bottom: 2lh; + @supports (padding-block-end: var(--v)) { + padding-bottom: unset; + padding-block-end: calc(2 * var(--lh)); // COMBAK{FALLBACK} + padding-block-end: 2lh; + } +} + +.-pb-4 { + padding-bottom: (4 * @p-lh); // COMBAK{FALLBACK} + padding-bottom: calc(4 * var(--lh)); // COMBAK{FALLBACK} + padding-bottom: 4lh; + @supports (padding-block-end: var(--v)) { + padding-bottom: unset; + padding-block-end: calc(4 * var(--lh)); // COMBAK{FALLBACK} + padding-block-end: 4lh; + } +} diff --git a/css/src/_-pt.less b/css/src/_-pt.less index 38f4cef..05f14a4 100644 --- a/css/src/_-pt.less +++ b/css/src/_-pt.less @@ -29,7 +29,7 @@ // // Styleguide Atoms.padding-top -@p-lh: 1.5rem; // COMBAK:FALLBACK for `lh` unit +@p-lh: 1.5rem; // COMBAK{FALLBACK} for `lh` unit .-pt-0 { padding-top: 0; @@ -37,56 +37,56 @@ } .-pt-q { - padding-top: (0.25 * @p-lh); // COMBAK:FALLBACK - padding-top: calc(0.25 * var(--lh)); // COMBAK:FALLBACK + padding-top: (0.25 * @p-lh); // COMBAK{FALLBACK} + padding-top: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} padding-top: 0.25lh; @supports (padding-block-start: var(--v)) { padding-top: unset; - padding-block-start: calc(0.25 * var(--lh)); // COMBAK:FALLBACK + padding-block-start: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} padding-block-start: 0.25lh; } } .-pt-h { - padding-top: (0.5 * @p-lh); // COMBAK:FALLBACK - padding-top: calc(0.5 * var(--lh)); // COMBAK:FALLBACK + padding-top: (0.5 * @p-lh); // COMBAK{FALLBACK} + padding-top: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} padding-top: 0.5lh; @supports (padding-block-start: var(--v)) { padding-top: unset; - padding-block-start: calc(0.5 * var(--lh)); // COMBAK:FALLBACK + padding-block-start: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} padding-block-start: 0.5lh; } } .-pt-1 { - padding-top: @p-lh; // COMBAK:FALLBACK - padding-top: var(--lh); // COMBAK:FALLBACK + padding-top: @p-lh; // COMBAK{FALLBACK} + padding-top: var(--lh); // COMBAK{FALLBACK} padding-top: 1lh; @supports (padding-block-start: var(--v)) { padding-top: unset; - padding-block-start: var(--lh); // COMBAK:FALLBACK + padding-block-start: var(--lh); // COMBAK{FALLBACK} padding-block-start: 1lh; } } .-pt-2 { - padding-top: (2 * @p-lh); // COMBAK:FALLBACK - padding-top: calc(2 * var(--lh)); // COMBAK:FALLBACK + padding-top: (2 * @p-lh); // COMBAK{FALLBACK} + padding-top: calc(2 * var(--lh)); // COMBAK{FALLBACK} padding-top: 2lh; @supports (padding-block-start: var(--v)) { padding-top: unset; - padding-block-start: calc(2 * var(--lh)); // COMBAK:FALLBACK + padding-block-start: calc(2 * var(--lh)); // COMBAK{FALLBACK} padding-block-start: 2lh; } } .-pt-4 { - padding-top: (4 * @p-lh); // COMBAK:FALLBACK - padding-top: calc(4 * var(--lh)); // COMBAK:FALLBACK + padding-top: (4 * @p-lh); // COMBAK{FALLBACK} + padding-top: calc(4 * var(--lh)); // COMBAK{FALLBACK} padding-top: 4lh; @supports (padding-block-start: var(--v)) { padding-top: unset; - padding-block-start: calc(4 * var(--lh)); // COMBAK:FALLBACK + padding-block-start: calc(4 * var(--lh)); // COMBAK{FALLBACK} padding-block-start: 4lh; } } diff --git a/css/src/_-py.less b/css/src/_-py.less new file mode 100644 index 0000000..9012d3f --- /dev/null +++ b/css/src/_-py.less @@ -0,0 +1,92 @@ + +/*################################*\ + xmeter | _-py.less +\*################################*/ + + +// padding-vertical +// +// Set the `padding-top` and `padding-bottom` properties on an element, +// or `padding-block` if it is supported. +// +//
    +//
    author
    Chris Harvey
    +//
    updated
    +//
    +// +// Markup: +// +// +// +// Weight: 2.4 +// +// Styleguide Atoms.padding-vertical + +@p-lh: 1.5rem; // COMBAK{FALLBACK} for `lh` unit + +.-py-0 { + padding-top: 0; padding-bottom: 0; + padding-block: 0; +} + +.-py-q { + padding-top: (0.25 * @p-lh); padding-bottom: (0.25 * @p-lh); // COMBAK{FALLBACK} + padding-top: calc(0.25 * var(--lh)); padding-bottom: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} + padding-top: 0.25lh; padding-bottom: 0.25lh; + @supports (padding-block: var(--v)) { + padding-top: unset; padding-bottom: unset; + padding-block: calc(0.25 * var(--lh)); // COMBAK{FALLBACK} + padding-block: 0.25lh; + } +} + +.-py-h { + padding-top: (0.5 * @p-lh); padding-bottom: (0.5 * @p-lh); // COMBAK{FALLBACK} + padding-top: calc(0.5 * var(--lh)); padding-bottom: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} + padding-top: 0.5lh; padding-bottom: 0.5lh; + @supports (padding-block-end: var(--v)) { + padding-top: unset; padding-bottom: unset; + padding-block: calc(0.5 * var(--lh)); // COMBAK{FALLBACK} + padding-block: 0.5lh; + } +} + +.-py-1 { + padding-top: @p-lh; padding-bottom: @p-lh; // COMBAK{FALLBACK} + padding-top: var(--lh); padding-bottom: var(--lh); // COMBAK{FALLBACK} + padding-top: 1lh; padding-bottom: 1lh; + @supports (padding-block: var(--v)) { + padding-top: unset; padding-bottom: unset; + padding-block: var(--lh); // COMBAK{FALLBACK} + padding-block: 1lh; + } +} + +.-py-2 { + padding-top: (2 * @p-lh); padding-bottom: (2 * @p-lh); // COMBAK{FALLBACK} + padding-top: calc(2 * var(--lh)); padding-bottom: calc(2 * var(--lh)); // COMBAK{FALLBACK} + padding-top: 2lh; padding-bottom: 2lh; + @supports (padding-block: var(--v)) { + padding-top: unset; padding-bottom: unset; + padding-block: calc(2 * var(--lh)); // COMBAK{FALLBACK} + padding-block: 2lh; + } +} + +.-py-4 { + padding-top: (4 * @p-lh); padding-bottom: (4 * @p-lh); // COMBAK{FALLBACK} + padding-top: calc(4 * var(--lh)); padding-bottom: calc(4 * var(--lh)); // COMBAK{FALLBACK} + padding-top: 4lh; padding-bottom: 4lh; + @supports (padding-block: var(--v)) { + padding-top: unset; padding-bottom: unset; + padding-block: calc(4 * var(--lh)); // COMBAK{FALLBACK} + padding-block: 4lh; + } +} diff --git a/css/src/__tool.borders.less b/css/src/__tool.borders.less index b50b073..592d422 100644 --- a/css/src/__tool.borders.less +++ b/css/src/__tool.borders.less @@ -8,7 +8,7 @@ // vertical rhythm intact when adding border widths (by slightly adjusting position and margins). // Do *not* use these mixins on INLINE Objects! // -// NOTE: This mixin affects border width only (for structure). It does not affect cosmetics, +// Note: This mixin affects border width only (for structure). It does not affect cosmetics, // i.e., border style or color. To change these, you must include the `border-style` and // `border-color` properties after including this mixin. // @@ -19,7 +19,7 @@ // .border-vert(all ; ); // adjust all four borders // ``` // -// NOTE: In place of `.border-vert(all; ...)`, you may use a hack involving `box-shadow` to create +// Note: In place of `.border-vert(all; ...)`, you may use a hack involving `box-shadow` to create // an effective border around an element, without using this tool and thus affecting the element’s // `margin-top` value. // The box-shadow must be outset, have an offset-x of 0, an offset-y of 0, a blur of 0, diff --git a/css/src/__tool.fontsize.less b/css/src/__tool.fontsize.less index ccdc614..7f751d3 100644 --- a/css/src/__tool.fontsize.less +++ b/css/src/__tool.fontsize.less @@ -22,7 +22,7 @@ font-size: (@ratio * 1rem); // line-height: inherit; // NOTE clarification & > * { - // COMBAK-FALLBACK for `lh` units. TODO remove after `lh` is supported. + // COMBAK{FALLBACK} for `lh` units. remove after `lh` is supported. --lh: calc(@ratio * var(--line-height) * 1rem); // @ratio * parent lh } } diff --git a/css/src/_base.less b/css/src/_base.less index cb6c35f..ca398cf 100644 --- a/css/src/_base.less +++ b/css/src/_base.less @@ -11,8 +11,9 @@ @import (reference) url('./_-pt.less'); -@p-line-height: 1.5; // equivalent to custom prop `--line-height` // COMBAK:FALLBACK for custom property -@p-color-gray: rgba(0,0,0, 0.25); +@p-line-height: 1.5; // equivalent to custom prop `--line-height` // COMBAK{FALLBACK} for custom property +@p-color-gray-fallback: rgba(0,0,0, 0.25); // COMBAK{FALLBACK} for `#rrggbbaa` color syntax +@p-color-gray: #00000040; @p-lh: (@p-line-height * 1rem); // equivalent to unit `1lh`, or custom prop `--lh` // Contents @@ -65,8 +66,8 @@ // Set up vertical rhythm system. // [1] default line-height. Change in your own project if you wish. -// [2] COMBAK:FALLBACK for `lh` units (https://drafts.csswg.org/css-values/#lh) -// [3] COMBAK:FALLBACK for custom property +// [2] COMBAK{FALLBACK} for `lh` units (https://drafts.csswg.org/css-values/#lh) +// [3] COMBAK{FALLBACK} for custom property // [4] addresses support for `rem` units (otherwise these would be in `body` selector) // [5] Root font-size (rem) should *not* be set to an absolute unit, so that users can specify // font sizing settings in their user agent. @@ -155,9 +156,9 @@ h6 { --font-scale: @g-font-size-h6; } } h1 { - margin-top: 0; // COMBAK:FALLBACK - margin-top: initial; // COMBAK:FALLBACK - margin-top: unset; // COMBAK:FALLBACK + margin-top: 0; // COMBAK{FALLBACK} + margin-top: initial; // COMBAK{FALLBACK} + margin-top: unset; // COMBAK{FALLBACK} margin-block-start: unset; // undo Normalize } @@ -194,9 +195,9 @@ hr { } figure { // undo Normalize - margin-top: 0 ; margin-left: 0 ; margin-right: 0 ; // COMBAK:FALLBACK - margin-top: initial; margin-left: initial; margin-right: initial; // COMBAK:FALLBACK - margin-top: unset ; margin-left: unset ; margin-right: unset ; // COMBAK:FALLBACK + margin-top: 0 ; margin-left: 0 ; margin-right: 0 ; // COMBAK{FALLBACK} + margin-top: initial; margin-left: initial; margin-right: initial; // COMBAK{FALLBACK} + margin-top: unset ; margin-left: unset ; margin-right: unset ; // COMBAK{FALLBACK} margin-block-start: unset; margin-inline: unset; } @@ -215,20 +216,20 @@ hr { li > &, dt > &, dd > & { - margin-bottom: 0; // COMBAK:FALLBACK - margin-bottom: initial; // COMBAK:FALLBACK - margin-bottom: unset; // COMBAK:FALLBACK + margin-bottom: 0; // COMBAK{FALLBACK} + margin-bottom: initial; // COMBAK{FALLBACK} + margin-bottom: unset; // COMBAK{FALLBACK} margin-block-end: unset; // undo default vertical spacing for nested lists } } ol, ul { - padding: 0 0 0 4rem; // COMBAK:FALLBACK - padding: logical 0 4rem 0 0; + padding: 0 0 0 4rem; // COMBAK{FALLBACK} + padding: logical 0 4rem 0 0; // NB li > &, dt > &, dd > & { - padding-left: 2rem; // COMBAK:FALLBACK + padding-left: 2rem; // COMBAK{FALLBACK} @supports (padding-inline-start: 1rem) { padding-left: unset; padding-inline-start: 2rem; @@ -236,13 +237,10 @@ hr { } } ol { - list-style-type: decimal; } ul { - list-style-type: disc; // not using `initial` because we explicitly want `disc` } dl { - list-style: none; // remove counters from `dl > li` } li { } @@ -301,8 +299,9 @@ br { // color: #551a8b; // default `:visited` // color: #f00; // default `:active` color: #06c; // `hsl(210deg, 100%, 40%)` // ratios: 5.57 aginst white, 3.77 against black - text-decoration: underline; // COMBAK:FALLBACK + text-decoration: underline; // COMBAK{FALLBACK} text-decoration-line: underline; + cursor: pointer; } //---- end ## Links ----// @@ -319,15 +318,15 @@ br { font-style: italic; } mark { - background-color: fadeout(#ffe168, 50%); // COMBAK:FALLBACK + background-color: fadeout(#ffe168, 50%); // COMBAK{FALLBACK} for `#rrggbbaa` color syntax background-color: #ffe16880; // Google-flavored comments in Google Docs - color: inherit; // COMBAK:FALLBACK + color: inherit; // COMBAK{FALLBACK} color: unset; // unset browser default color } u { color: #360; // `hsl(90deg, 100%, 20%)` // ratios: 6.90 aginst white, 3.04 against black // color: #405a04; // StackOverflow-flavored diff // ratios: 7.83 against white, 2.68 against black - text-decoration: underline; // COMBAK:FALLBACK + text-decoration: underline; // COMBAK{FALLBACK} text-decoration-line: underline; } small { @@ -336,7 +335,7 @@ br { s { color: #c03; // `hsl(345deg, 100%, 40%)` // ratios: 5.81 aginst white, 3.62 against black // color: #a82400; // StackOverflow-flavored diff // ratios: 7.20 against white, 2.92 against black - text-decoration: line-through; // COMBAK:FALLBACK + text-decoration: line-through; // COMBAK{FALLBACK} text-decoration-line: line-through; } //---- end ## Stress ----// @@ -362,8 +361,8 @@ br { abbr { &[title] { cursor: help; - text-decoration: none; // COMBAK:FALLBACK for `text-decoration-line` // also IE fallback for `initial` - text-decoration-line: initial; // COMBAK:FALLBACK + text-decoration: none; // COMBAK{FALLBACK} for `text-decoration-line` // also IE fallback for `initial` + text-decoration-line: initial; // COMBAK{FALLBACK} text-decoration-line: unset; // undo Normalize } } @@ -371,7 +370,7 @@ br { font-style: italic; } q { - .quotes-double(); // COMBAK:FALLBACK for `initial` + .quotes-double(); // COMBAK{FALLBACK} for `initial` .delims(initial); } cite { @@ -400,7 +399,7 @@ br { font-size: inherit; // undo compounding font sizes } pre & { - white-space: inherit; // COMBAK:FALLBACK + white-space: inherit; // COMBAK{FALLBACK} white-space: unset; // sometimes people put a `code` in a `pre` // override `nowrap` above } } @@ -433,8 +432,12 @@ fieldset { html body & { // HACK NB:LINK (L59) need a specificity of 3 to override generic `*:not(input):not(button):not(select)` // NOTE cannot use box-shadow hack due to shadow covering .border-vert(all; 1px); - .border-block(all; 1px); + @supports (margin-block-start: 0) { + .border-vert(all; 0); + .border-block(all; 1px); + } border-style: solid; + border-color: @p-color-gray-fallback; // COMBAK{FALLBACK} for `#rrggbbaa` color syntax border-color: @p-color-gray; } } @@ -449,18 +452,19 @@ input { } textarea { display: block; // override browser default - height: (6 * @p-lh); // COMBAK:FALLBACK - height: calc(6 * var(--lh)); // COMBAK:FALLBACK + height: (6 * @p-lh); // COMBAK{FALLBACK} + height: calc(6 * var(--lh)); // COMBAK{FALLBACK} height: 6lh; width: 30rem; @supports (block-size: var(-v)) and (inline-size: 1rem) { height: unset; width: unset; - block-size: calc(6 * var(--lh)); // COMBAK:FALLBACK + block-size: calc(6 * var(--lh)); // COMBAK{FALLBACK} block-size: 6lh; inline-size: 30rem; } font-size: (@g-font-size-mill * 1rem); // .font-size-mod(@g-font-size-mill); // textarea cannot contain any element children + box-shadow: 0 0 0 1px @p-color-gray-fallback; // COMBAK{FALLBACK} for `#rrggbbaa` color syntax box-shadow: 0 0 0 1px @p-color-gray; // HACK vertical border hack } input:not([type="button"]):not([type="reset"]):not([type="submit"]) { @@ -480,6 +484,21 @@ input[type="radio"], select { cursor: default; } +input[type="checkbox"], +input[type="radio"] { + &:hover { + // NOTE: Chrome applies these styles to inputs even when their associated labels + // (having the correct `[for]` attribute) are hovered. + box-shadow: inset 0 0 0.25rem 0 @p-color-gray-fallback; // COMBAK{FALLBACK} for `#rrggbbaa` color syntax + box-shadow: inset 0 0 0.25rem 0 @p-color-gray; + } +} +input[type="checkbox"] { + border-radius: 25%; +} +input[type="radio"] { + border-radius: 100%; +} select { font-size: (@g-font-size-mill * 1em); } @@ -494,6 +513,11 @@ input[type="submit"], button { padding: 0.125em 0.25em; cursor: default; + &:hover, + &:focus { + box-shadow: inset 0 0 0.25rem 0 @p-color-gray-fallback; // COMBAK{FALLBACK} for `#rrggbbaa` color syntax + box-shadow: inset 0 0 0.25rem 0 @p-color-gray; + } } //---- end ## Buttons ----// @@ -516,8 +540,8 @@ select[multiple] > optgroup > option { // [3] offset `[alt]` attribute text from surrounding copy // [4] safer alternative to `display: block;` img { - height: auto; width: auto; // COMBAK:FALLBACK - max-width: 100%; // COMBAK:FALLBACK + height: auto; width: auto; // COMBAK{FALLBACK} + max-width: 100%; // COMBAK{FALLBACK} block-size: auto; inline-size: auto; // [1] max-inline-size: 100%; // [2] font-style: italic; // [3] @@ -534,10 +558,11 @@ summary { } dialog { - padding: (0.5 * @p-lh) 1rem; // COMBAK:FALLBACK - padding: calc(0.5 * var(--lh)) 1rem; // COMBAK:FALLBACK + padding: (0.5 * @p-lh) 1rem; // COMBAK{FALLBACK} + padding: calc(0.5 * var(--lh)) 1rem; // COMBAK{FALLBACK} padding: 0.5lh 1rem; &::backdrop { + background-color: @p-color-gray-fallback; // COMBAK{FALLBACK} for `#rrggbbaa` color syntax background-color: @p-color-gray; } } diff --git a/css/src/_h-Block.less b/css/src/_h-Block.less index 7f3345d..7f5b440 100644 --- a/css/src/_h-Block.less +++ b/css/src/_h-Block.less @@ -23,6 +23,6 @@ // Styleguide Helpers.Block .h-Block { display: block; - line-height: inherit; // COMBAK:FALLBACK + line-height: inherit; // COMBAK{FALLBACK} line-height: unset; } diff --git a/css/src/_h-Constrain.less b/css/src/_h-Constrain.less index 163eeb8..ef4c39c 100644 --- a/css/src/_h-Constrain.less +++ b/css/src/_h-Constrain.less @@ -27,11 +27,11 @@ // // Styleguide Helpers.Constrain .h-Constrain { - max-width: 90em; // COMBAK:FALLBACK + max-width: 90em; // COMBAK{FALLBACK} @supports (max-inline-size: 1em) { max-width: unset; max-inline-size: 90em; } - margin-left: auto; margin-right: auto; // COMBAK:FALLBACK + margin-left: auto; margin-right: auto; // COMBAK{FALLBACK} margin-inline: auto; } diff --git a/css/src/_h-Measure.less b/css/src/_h-Measure.less index 0c0b2b3..6e42d6e 100644 --- a/css/src/_h-Measure.less +++ b/css/src/_h-Measure.less @@ -46,7 +46,7 @@ // // Styleguide Helpers.Measure .h-Measure { - max-width: 33em; // COMBAK:FALLBACK + max-width: 33em; // COMBAK{FALLBACK} for `ch` unit max-width: 66ch; @supports (max-inline-size: 1ch) { max-width: unset; @@ -54,7 +54,7 @@ } } .h-Measure--narrow { - max-width: 22.5em; // COMBAK:FALLBACK + max-width: 22.5em; // COMBAK{FALLBACK} for `ch` unit max-width: 45ch; @supports (max-inline-size: 1ch) { max-width: unset; @@ -62,7 +62,7 @@ } } .h-Measure--wide { - max-width: 45em; // COMBAK:FALLBACK + max-width: 45em; // COMBAK{FALLBACK} for `ch` unit max-width: 90ch; @supports (max-inline-size: 1ch) { max-width: unset; diff --git a/css/src/_h-Ruled.less b/css/src/_h-Ruled.less index bbb178d..a2384ad 100644 --- a/css/src/_h-Ruled.less +++ b/css/src/_h-Ruled.less @@ -35,14 +35,17 @@ // Weight: 6 // // Styleguide Helpers.Ruled -@p-color-gray: rgba(0,0,0, 0.25); // same as _base.less +@p-color-gray-fallback: rgba(0,0,0, 0.25); // COMBAK{FALLBACK} for `#rrggbbaa` color syntax +@p-color-gray: #00000040; // same as _base.less .h-Ruled { + background-image: linear-gradient(to top, @p-color-gray-fallback 1px, transparent 1px); // COMBAK{FALLBACK} for `#rrggbbaa` color syntax background-image: linear-gradient(to top, @p-color-gray 1px, transparent 1px); - background-size: 1px 1.5rem; // COMBAK:FALLBACK - background-size: 1px var(--lh); // COMBAK:FALLBACK + background-size: 1px 1.5rem; // COMBAK{FALLBACK} + background-size: 1px var(--lh); // COMBAK{FALLBACK} background-size: 1px 1lh; + background-origin: content-box; background-position-y: top; background-position-block: start; // for logical background sizing, see `background-image-transform`: (extremely unstable) - // https://www.w3.org/TR/css-logical-1/#propdef-background-image-transform + // NB{LINK} https://www.w3.org/TR/css-logical-1/#propdef-background-image-transform } diff --git a/css/src/_o-List.less b/css/src/_o-List.less index 524e1cb..ef40227 100644 --- a/css/src/_o-List.less +++ b/css/src/_o-List.less @@ -30,8 +30,8 @@ // // Styleguide Objects.List .o-List { - padding-left: 0; // COMBAK:FALLBACK - padding-left: initial; // COMBAK:FALLBACK + padding-left: 0; // COMBAK{FALLBACK} + padding-left: initial; // COMBAK{FALLBACK} padding-left: unset; list-style: none; } diff --git a/css/src/homepage.md b/css/src/homepage.md index e1ad383..9bb326a 100644 --- a/css/src/homepage.md +++ b/css/src/homepage.md @@ -1,3 +1,3 @@ # Xmeter Style Guide -GitHub: https://github.com/chharvey/xmeter/ +GitHub: [https://github.com/chharvey/xmeter](https://github.com/chharvey/xmeter) diff --git a/css/src/kss-principles.hyperlinks.scss b/css/src/kss-principles.hyperlinks.scss deleted file mode 100644 index 025df41..0000000 --- a/css/src/kss-principles.hyperlinks.scss +++ /dev/null @@ -1,48 +0,0 @@ - -/*################################*\ - xmeter | kss-principles.hyperlinks.scss -\*################################*/ - - -// Hyperlinks -// -// It is recommended not to style `` elements without the `[href]` attribute. -// Such elements are “placeholder anchors”, which do not lead anywhere. -// These placeholders should not be visibly discernable from surrounding prose, -// as they merely represent placeholders for where hyperlinks *could* be placed, -// or anchors whose references may change based on context. -// Therefore, any styling of “live” hyperlinks should be done with the `a[href]` selector. -// More information is available in the -// [HTML Recommendation](https://www.w3.org/TR/html52/textlevel-semantics.html#the-a-element). -// -// The reasoning behind this principle is that we may have a situation in which -// a possible hyperlink may be added, which is not yet determined at compile time. -// For example this could be done via front-end script, after the user loads the page; -// another example would be where a template wraps a component with an anchor, -// in the event that whether the component is linkable is based on a database entry. -// In these situations and we cannot change the element on the fly -// (e.g. we cannot change a `` to an ``), -// thus it is best practice to use a placeholder anchor (`` element), -// and than use logic to adjust the attributes if and when necessary. -// -// It is advised to put the `[role="none"]` attribute on anchor placeholders, -// so that assistive technology does not misidentify them as active hyperlinks. -// When an anchor placeholder does become a live hyperlink, the `[href]` attribute should be added -// (whose value is the target’s URL), and `[role="none"]` should be removed. -// -// ### Link Text Color -// -// Like all foreground colors, link text color should have sufficient contrast with the background color. -// Additionally, if *color alone* is used to convey where hyperlinks occur in prose, -// then the link text color should also have sufficient contrast with surrounding non-link text color. -// Read [Technique G183](https://www.w3.org/TR/WCAG20-TECHS/G183.html) for details. -// -// - Background contrast ratio: -// - to meet AA level: 4.5 normal; 3.0 large (18pt or 14pt bold) -// - to meet AAA level: 7.0 normal; 4.5 large (18pt or 14pt bold) -// - Surrounding text contrast ratio: -// - 3.0 for all -// -// Weight: 2 -// -// Styleguide Principles.Hyperlinks diff --git a/css/src/reset.css b/css/src/reset.css index 43d4925..fcbf3e4 100644 --- a/css/src/reset.css +++ b/css/src/reset.css @@ -5,15 +5,15 @@ body { - text-align: start; /* COMBAK:FALLBACK */ + text-align: start; /* COMBAK{FALLBACK} */ text-align: initial; /* fix unsupported browsers initial value */ background: #fff; color: #000; } sup, sub { - vertical-align: baseline; /* COMBAK:FALLBACK */ - vertical-align: initial; /* COMBAK:FALLBACK */ + vertical-align: baseline; /* COMBAK{FALLBACK} */ + vertical-align: initial; /* COMBAK{FALLBACK} */ vertical-align: unset; } body, @@ -23,15 +23,15 @@ p, figure, blockquote, pre, ol, ul, dl, dd, fieldset { - margin: 0; /* COMBAK:FALLBACK */ - margin: initial; /* COMBAK:FALLBACK */ + margin: 0; /* COMBAK{FALLBACK} */ + margin: initial; /* COMBAK{FALLBACK} */ margin: unset; } ol, ul, th, td, legend { - padding: 0; /* COMBAK:FALLBACK */ - padding: initial; /* COMBAK:FALLBACK */ + padding: 0; /* COMBAK{FALLBACK} */ + padding: initial; /* COMBAK{FALLBACK} */ padding: unset; } h1, h2, h3, h4, h5, h6, @@ -45,17 +45,17 @@ code, kbd, samp { } caption, th { - text-align: inherit; /* COMBAK:FALLBACK */ + text-align: inherit; /* COMBAK{FALLBACK} */ text-align: unset; } pre { - white-space: inherit; /* COMBAK:FALLBACK */ + white-space: inherit; /* COMBAK{FALLBACK} */ white-space: unset; } a, u, s, ins, del { - text-decoration: none; /* COMBAK:FALLBACK */ - text-decoration: initial; /* COMBAK:FALLBACK */ + text-decoration: none; /* COMBAK{FALLBACK} */ + text-decoration: initial; /* COMBAK{FALLBACK} */ text-decoration: unset; } diff --git a/css/src/xmeter.less b/css/src/xmeter.less index 53ef4a6..6e464c2 100644 --- a/css/src/xmeter.less +++ b/css/src/xmeter.less @@ -23,6 +23,10 @@ @import url('_h-FontSize.less'); @import url('_h-Ruled.less'); +@import url('_-mt.less'); @import url('_-mb.less'); +@import url('_-my.less'); @import url('_-pt.less'); +@import url('_-pb.less'); +@import url('_-py.less'); @import url('_-fz.less'); diff --git a/gulpfile.js b/gulpfile.js index 96be478..c61d451 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -24,6 +24,31 @@ const META = JSON.stringify({ }, null, 2) +gulp.task('dist', async function () { + return gulp.src(['./css/src/*.less', '!./css/src/__*.less']) + .pipe(sourcemaps.init()) + .pipe(less()) + .pipe(autoprefixer({ + grid: true, + })) + .pipe(clean_css({ + level: { + 2: { + overrideProperties: false, // need fallbacks for `initial` and `unset` + restructureRules: true, // combines selectors having the same rule (akin to `&:extend()`) // REVIEW be careful here + }, + }, + })) + .pipe(rename((p) => { + if (p.basename[0] === '_') { + p.basename = p.basename.slice(1) + } + })) + .pipe(inject.prepend(`/* ${META} */`)) + .pipe(sourcemaps.write('./')) // writes to an external .map file + .pipe(gulp.dest('./css/dist/')) +}) + // HOW-TO: https://github.com/kss-node/kss-node/issues/161#issuecomment-222292620 gulp.task('docs-kss-markup', async function () { return kss(require('./config/kss.json')) @@ -91,29 +116,4 @@ gulp.task('docs-my', ['docs-my-markup', 'docs-my-style']) gulp.task('docs', ['docs-kss', 'docs-my']) -gulp.task('dist', async function () { - return gulp.src(['./css/src/*.less', '!./css/src/__*.less']) - .pipe(sourcemaps.init()) - .pipe(less()) - .pipe(autoprefixer({ - grid: true, - })) - .pipe(clean_css({ - level: { - 2: { - overrideProperties: false, // need fallbacks for `initial` and `unset` - restructureRules: true, // combines selectors having the same rule (akin to `&:extend()`) // REVIEW be careful here - }, - }, - })) - .pipe(rename((p) => { - if (p.basename[0] === '_') { - p.basename = p.basename.slice(1) - } - })) - .pipe(inject.prepend(`/* ${META} */`)) - .pipe(sourcemaps.write('./')) // writes to an external .map file - .pipe(gulp.dest('./css/dist/')) -}) - -gulp.task('build', ['docs', 'dist']) +gulp.task('build', ['dist', 'docs']) diff --git a/package-lock.json b/package-lock.json index 44ab887..a473d65 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "xmeter", - "version": "7.0.0", + "version": "7.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -34,9 +34,9 @@ "dev": true }, "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", + "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", "dev": true }, "accord": { @@ -218,6 +218,15 @@ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "aria-patterns": { "version": "1.0.0-beta.4", "resolved": "https://registry.npmjs.org/aria-patterns/-/aria-patterns-1.0.0-beta.4.tgz", @@ -290,10 +299,13 @@ "dev": true }, "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } }, "assert-plus": { "version": "1.0.0", @@ -339,17 +351,17 @@ "dev": true }, "autoprefixer": { - "version": "8.6.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz", - "integrity": "sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.2.1.tgz", + "integrity": "sha512-qlK4GnZk8OXLK+8kBn9ttfzu2PkhRe8kVYoWcc9HsrZEMWiBkQuRYdXyJg9cIIKxfMzhh6UbvlJ1CsstMIzxwA==", "dev": true, "requires": { - "browserslist": "^3.2.8", - "caniuse-lite": "^1.0.30000864", + "browserslist": "^4.2.1", + "caniuse-lite": "^1.0.30000892", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^6.0.23", - "postcss-value-parser": "^3.2.3" + "postcss": "^7.0.5", + "postcss-value-parser": "^3.3.1" } }, "aws-sign2": { @@ -500,13 +512,14 @@ "dev": true }, "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.0.tgz", + "integrity": "sha512-j0jLqo+6ZhFWvTjEIcDyR8LIiN8pA3cUrT/SGAs0LPp/cKvkRpCnzuxtnAW+sOPLTic5wfb+TQvRX2RTN2wo4w==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" + "caniuse-lite": "^1.0.30000893", + "electron-to-chromium": "^1.3.80", + "node-releases": "^1.0.0-alpha.14" } }, "cache-base": { @@ -533,9 +546,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30000864", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000864.tgz", - "integrity": "sha512-8fuGh8n3MIQ7oBkO/ck7J4LXhV5Sz5aLyFmfpChWpK+rJhqYrOsGDdbBVDdyKIRBWamZpy6iM4OmLCFVudOOhg==", + "version": "1.0.30000893", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000893.tgz", + "integrity": "sha512-kOddHcTEef+NgN/fs0zmX2brHTNATVOWMEIhlZHCuwQRtXobjSw9pAECc44Op4bTBcavRjkLaPrGomknH7+Jvg==", "dev": true }, "caseless": { @@ -625,20 +638,12 @@ } }, "clean-css": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", - "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", "dev": true, "requires": { - "source-map": "0.5.x" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "source-map": "~0.6.0" } }, "cliui": { @@ -695,18 +700,18 @@ } }, "color-convert": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", - "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { - "color-name": "1.1.1" + "color-name": "1.1.3" } }, "color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "color-support": { @@ -807,9 +812,9 @@ "dev": true }, "cssstyle": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.3.1.tgz", - "integrity": "sha512-tNvaxM5blOnxanyxI6panOsnfiyLRj3HV4qjqqS45WPNS1usdYWRUQjqTEEELK73lpeP/1KoIGYUwrBn/VcECA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.0.0.tgz", + "integrity": "sha512-Bpuh47j2mRMY60X90mXaJAEtJwxvA2roZzbgwAXYhMbmwmakdRr4Cq9L5SkleKJNLOKqHIa2YWyOXDX3VgggSQ==", "dev": true, "requires": { "cssom": "0.3.x" @@ -842,6 +847,14 @@ "abab": "^1.0.4", "whatwg-mimetype": "^2.0.0", "whatwg-url": "^6.4.0" + }, + "dependencies": { + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "dev": true + } } }, "dateformat": { @@ -1004,19 +1017,20 @@ } }, "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "electron-to-chromium": { - "version": "1.3.51", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.51.tgz", - "integrity": "sha1-akK0nar38ipbN7mR2vlJ8029ubU=", + "version": "1.3.80", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.80.tgz", + "integrity": "sha512-WClidEWEUNx7OfwXehB0qaxCuetjbKjev2SmXWgybWPLKAThBiMTF/2Pd8GSUDtoGOavxVzdkKwfFAPRSWlkLw==", "dev": true }, "end-of-stream": { @@ -1028,6 +1042,12 @@ "once": "~1.3.0" } }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, "errno": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", @@ -1089,9 +1109,9 @@ "dev": true }, "escodegen": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.10.0.tgz", - "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { "esprima": "^3.1.3", @@ -1204,9 +1224,9 @@ } }, "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "extend-shallow": { @@ -1481,9 +1501,9 @@ "dev": true }, "fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", + "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -2044,9 +2064,9 @@ } }, "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, "get-stream": { @@ -2265,26 +2285,26 @@ } }, "gulp-autoprefixer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-5.0.0.tgz", - "integrity": "sha1-gjfCeKaXdScKHK/n1vEBz81YVUQ=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-6.0.0.tgz", + "integrity": "sha512-MyLymXKVGTVBx/okQSBqmdhwhyqi3igBmZBwgpZp0GRbY1LY8VctOTLzwkQ18bZKJkSDnOKR5u32TMY9wSYdqQ==", "dev": true, "requires": { - "autoprefixer": "^8.0.0", + "autoprefixer": "^9.1.3", "fancy-log": "^1.3.2", "plugin-error": "^1.0.1", - "postcss": "^6.0.1", + "postcss": "^7.0.2", "through2": "^2.0.0", "vinyl-sourcemaps-apply": "^0.2.0" } }, "gulp-clean-css": { - "version": "3.9.4", - "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-3.9.4.tgz", - "integrity": "sha512-jsbAj65WM08H1jCFOKpIvA1OlACk7OHS2FFTeeBZrSJ5OR1PJzAqi0I2R2LTWYN3oMd/N1JYN9cN2IS/8eYqdg==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-3.10.0.tgz", + "integrity": "sha512-7Isf9Y690o/Q5MVjEylH1H7L8WeZ89woW7DnhD5unTintOdZb67KdOayRgp9trUFo+f9UyJtuatV42e/+kghPg==", "dev": true, "requires": { - "clean-css": "4.1.11", + "clean-css": "4.2.1", "plugin-error": "1.0.1", "through2": "2.0.3", "vinyl-sourcemaps-apply": "0.2.1" @@ -2353,13 +2373,13 @@ } }, "gulp-less": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gulp-less/-/gulp-less-4.0.0.tgz", - "integrity": "sha512-cHSgNy6TEGpjuGkjBEhWBtt//YPxtw/Og4VQUlJ2w5izQOk1S+m1v98c4bAYsG79M944mv5x/Ct84RWiF8UvCw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/gulp-less/-/gulp-less-4.0.1.tgz", + "integrity": "sha512-hmM2k0FfQp7Ptm3ZaqO2CkMX3hqpiIOn4OHtuSsCeFym63F7oWlEua5v6u1cIjVUKYsVIs9zPg9vbqTEb/udpA==", "dev": true, "requires": { "accord": "^0.29.0", - "less": "2.6.x || ^3.0.0", + "less": "2.6.x || ^3.7.1", "object-assign": "^4.0.1", "plugin-error": "^0.1.2", "replace-ext": "^1.0.0", @@ -2432,9 +2452,9 @@ } }, "gulp-rename": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.3.0.tgz", - "integrity": "sha512-nEuZB7/9i0IZ8AXORTizl2QLP9tcC9uWc/s329zElBLJw1CfOhmMXBxwVlCRKjDyrWuhVP0uBKl61KeQ32TiCg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz", + "integrity": "sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==", "dev": true }, "gulp-sourcemaps": { @@ -2594,6 +2614,12 @@ } } }, + "highlight.js": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", + "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=", + "dev": true + }, "homedir-polyfill": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", @@ -2900,36 +2926,36 @@ "optional": true }, "jsdom": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.11.0.tgz", - "integrity": "sha512-ou1VyfjwsSuWkudGxb03FotDajxAto6USAlmMZjE2lc0jCznt7sBWkhfRBRaWwbnmDqdMSTKTLT5d9sBFkkM7A==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "requires": { - "abab": "^1.0.4", - "acorn": "^5.3.0", + "abab": "^2.0.0", + "acorn": "^5.5.3", "acorn-globals": "^4.1.0", "array-equal": "^1.0.0", "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": ">= 0.3.1 < 0.4.0", + "cssstyle": "^1.0.0", "data-urls": "^1.0.0", - "domexception": "^1.0.0", - "escodegen": "^1.9.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.2.0", - "nwsapi": "^2.0.0", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", "parse5": "4.0.0", "pn": "^1.1.0", - "request": "^2.83.0", + "request": "^2.87.0", "request-promise-native": "^1.0.5", "sax": "^1.2.4", "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.3", + "tough-cookie": "^2.3.4", "w3c-hr-time": "^1.0.1", "webidl-conversions": "^4.0.2", "whatwg-encoding": "^1.0.3", "whatwg-mimetype": "^2.1.0", "whatwg-url": "^6.4.1", - "ws": "^4.0.0", + "ws": "^5.2.0", "xml-name-validator": "^3.0.0" } }, @@ -2988,16 +3014,17 @@ "dev": true }, "kss": { - "version": "3.0.0-beta.22", - "resolved": "https://registry.npmjs.org/kss/-/kss-3.0.0-beta.22.tgz", - "integrity": "sha512-2+Ds6gz7xeJId2YJpU5zXFHVAc39/omDKS7RcMaj5j+67z1JhHHtw2b2umEe2OOvbwDA0Ob9ye9vGT1EtZyvTg==", + "version": "3.0.0-beta.23", + "resolved": "https://registry.npmjs.org/kss/-/kss-3.0.0-beta.23.tgz", + "integrity": "sha1-eXBt0bXoDkPZUbhVvop5dEJyKwc=", "dev": true, "requires": { "bluebird": "^3.3.3", - "fs-extra": "^6.0.0", + "fs-extra": "^7.0.0", "glob": "^7.0.3", "handlebars": "^4.0.0", - "marked": "^0.4.0", + "highlight.js": "^9.12.0", + "markdown-it": "^8.4.1", "nunjucks": "^3.0.1", "resolve": "^1.6.0", "twig": "^1.10.4", @@ -3134,9 +3161,9 @@ "dev": true }, "less": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/less/-/less-3.5.3.tgz", - "integrity": "sha512-MMGXfVYMORHyfwWGOP04HNnDxX874A329FMZEiMuho+QvOXJMyjlsmnf3qUxr1KmwM1E8mVo2bOPbT4A8aF61w==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/less/-/less-3.8.0.tgz", + "integrity": "sha512-746DPDyL+Wsjo7h/Z3t+A3Mg/mpDTaxW4puZyLhCQJjWJJvHggN735orjuCLIYgo7jKqv1zWLiQrxkuUOg5oGA==", "dev": true, "requires": { "errno": "^0.1.1", @@ -3184,6 +3211,15 @@ "resolve": "^1.1.7" } }, + "linkify-it": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", + "integrity": "sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=", + "dev": true, + "requires": { + "uc.micro": "^1.0.1" + } + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -3431,10 +3467,23 @@ "object-visit": "^1.0.0" } }, - "marked": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz", - "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==", + "markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", "dev": true }, "mem": { @@ -3491,18 +3540,18 @@ "optional": true }, "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", "dev": true }, "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "dev": true, "requires": { - "mime-db": "~1.33.0" + "mime-db": "~1.35.0" } }, "mimic-fn": { @@ -3617,6 +3666,23 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, + "node-releases": { + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.14.tgz", + "integrity": "sha512-G8nnF9cP9QPP/jUmYWw/uUUhumHmkm+X/EarCugYFjYm2uXRMFeOD6CVT3RLdoyCvDUNy51nirGfUItKWs/S1g==", + "dev": true, + "requires": { + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", @@ -3713,9 +3779,9 @@ } }, "nwsapi": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.4.tgz", - "integrity": "sha512-Zt6HRR6RcJkuj5/N9zeE7FN6YitRW//hK2wTOwX274IBphbY3Zf5+yn5mZ9v/SzAOTMjQNxZf9KkmPLWn0cV4g==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.8.tgz", + "integrity": "sha512-7RZ+qbFGiVc6v14Y8DSZjPN1wZPOaMbiiP4tzf5eNuyOITAeOIA3cMhjuKUypVIqBgCSg1KaSyAv8Ocq/0ZJ1A==", "dev": true }, "oauth-sign": { @@ -4025,14 +4091,14 @@ "dev": true }, "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", + "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", "dev": true, "requires": { "chalk": "^2.4.1", "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "supports-color": "^5.5.0" }, "dependencies": { "ansi-styles": { @@ -4056,9 +4122,9 @@ } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -4067,9 +4133,9 @@ } }, "postcss-value-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, "postinstall-build": { @@ -4120,9 +4186,9 @@ "dev": true }, "psl": { - "version": "1.1.28", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.28.tgz", - "integrity": "sha512-+AqO1Ae+N/4r7Rvchrdm432afjT9hqJRyBN3DQv9At0tPz4hIFSGKbq64fN9dVoCow4oggIIax5/iONx0r9hZw==", + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", "dev": true }, "punycode": { @@ -4476,12 +4542,6 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, - "sitepage": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sitepage/-/sitepage-1.0.0.tgz", - "integrity": "sha1-YccfTqXc/O7JxuEOlG1r0NepdAY=", - "dev": true - }, "slugg": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/slugg/-/slugg-1.2.1.tgz", @@ -4650,6 +4710,12 @@ "extend-shallow": "^3.0.0" } }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, "sshpk": { "version": "1.14.2", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", @@ -4968,6 +5034,12 @@ "prelude-ls": "~1.1.2" } }, + "uc.micro": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", + "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==", + "dev": true + }, "uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", @@ -5107,13 +5179,10 @@ "dev": true }, "use": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, "user-home": { "version": "1.1.1", @@ -5337,13 +5406,12 @@ "dev": true }, "ws": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", - "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "dev": true, "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0" + "async-limiter": "~1.0.0" } }, "xml-name-validator": { diff --git a/package.json b/package.json index 8d8f012..9583123 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xmeter", - "version": "7.0.0", + "version": "7.1.0", "description": "A default stylesheet with a set of tools that make designing with vertical rhythm easy.", "main": "index.js", "dependencies": {}, @@ -8,22 +8,22 @@ "aria-patterns": "^1.0.0-beta.4", "extrajs-dom": "^4.3.1", "gulp": "^3.9.1", - "gulp-autoprefixer": "^5.0.0", - "gulp-clean-css": "^3.9.4", + "gulp-autoprefixer": "^6.0.0", + "gulp-clean-css": "^3.10.0", "gulp-inject-string": "^1.1.1", - "gulp-less": "^4.0.0", - "gulp-rename": "^1.2.2", + "gulp-less": "^4.0.1", + "gulp-rename": "^1.4.0", "gulp-sourcemaps": "^2.6.4", - "jsdom": "^11.10.0", - "kss": "^3.0.0-beta.22", - "normalize.css": "^8.0.0", - "sitepage": "^1.0.0" + "jsdom": "^11.12.0", + "kss": "^3.0.0-beta.23", + "normalize.css": "^8.0.0" }, "scripts": { "test": "node test.js", "unbuild:docs": "rm -r docs/styleguide/ && rm docs/{index.html,css/docs.css}", "unbuild": "npm run unbuild:docs && rm -r css/dist/", - "build": "gulp build" + "build": "gulp build", + "prepublishOnly": "npm run build" }, "repository": { "type": "git",