From 854ebd0ca72f20142c9ef1a690a813a7faf054a4 Mon Sep 17 00:00:00 2001 From: Kendall Totten Date: Thu, 9 Jul 2020 17:24:41 -0400 Subject: [PATCH 01/22] Add fake navbar to demo page; tidy demo CSS, shorten length of paragraphs between panel headings. --- elements/pfe-jump-links/demo/demo.css | 63 +++++++ elements/pfe-jump-links/demo/index.html | 165 ++---------------- .../src/pfe-jump-links-nav.scss | 21 ++- 3 files changed, 94 insertions(+), 155 deletions(-) create mode 100644 elements/pfe-jump-links/demo/demo.css diff --git a/elements/pfe-jump-links/demo/demo.css b/elements/pfe-jump-links/demo/demo.css new file mode 100644 index 0000000000..35ce432fae --- /dev/null +++ b/elements/pfe-jump-links/demo/demo.css @@ -0,0 +1,63 @@ +html { + background: #eee; + scroll-behavior: smooth; +} + +a.pfe-jump-links-nav__item { + /* Just in here for sanity knowing outside styles can't leak in */ + color: orange !important; +} + +.sticky { + position: sticky; + top: 0; +} + +/* SET OFFSET */ +.special { + --pfe-jump-links-panel--offset: 100px; + --pfe-jump-links__nav--offset: 100px; +} +@media(max-width: 992px) { + .special{ + --pfe-jump-links-panel--offset: 60px; + --pfe-jump-links__nav--offset: 60px; + } +} + +/* + * Fixing the issue where the headers are under the stick nav + * https://stackoverflow.com/questions/4086107/fixed-page-header-overlaps-in-page-anchors + */ + + +/* Offset panel headers */ +.pfe-jump-links-panel__section::before { + content: ''; + display: block; + position: relative; + width: 0; + height: var(--pfe-jump-links-panel--offset); + margin: calc( var(--pfe-jump-links-panel--offset) * -1) 0 0; +} + +/* FAKE NAV BAR */ +#navbar { + position: fixed; + top: 0; + width: 100%; + overflow: hidden; + background-color: #333; + height: var(--pfe-jump-links-panel--offset); +} + +#navbar a { + float: left; + display: block; + color: #f2f2f2; + text-align: center; + padding: 14px 16px; + text-decoration: none; + font-size: 17px; +} + \ No newline at end of file diff --git a/elements/pfe-jump-links/demo/index.html b/elements/pfe-jump-links/demo/index.html index 9176c97173..eda68ba10f 100644 --- a/elements/pfe-jump-links/demo/index.html +++ b/elements/pfe-jump-links/demo/index.html @@ -21,6 +21,8 @@ + + @@ -42,61 +44,25 @@ ]) +

pfe-jump-links

- +

PFE Jump Links - standard

- +

Jump to section

  • Section 1
  • @@ -110,38 +76,12 @@

    Jump to section

- +

Section 1

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan - seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke - blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter - activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street - art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing - sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. - Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche - gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred - skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth - sunt williamsburg butcher woke lorem whatever squid.

-

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica - lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan - seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke - blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter - activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street - art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing - sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. - Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche - gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred - skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth - sunt williamsburg butcher woke lorem whatever squid.

-

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica - lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan - seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke - blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter - activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street - art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing - sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. + seitan readymad cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth @@ -150,32 +90,7 @@

Section 2

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke - blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter - activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street - art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing - sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. - Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche - gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred - skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth - sunt williamsburg butcher woke lorem whatever squid.

-

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica - lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan - seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke - blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter - activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street - art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing - sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. - Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche - gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred - skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth - sunt williamsburg butcher woke lorem whatever squid.

-

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica - lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan - seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke - blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter - activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street - art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing - sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. + blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth @@ -184,34 +99,7 @@

Section

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke - blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter - activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street - art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing - sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. - Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche - gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred - skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth - sunt williamsburg butcher woke lorem whatever squid.

-

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica - lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan - seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke - blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter - activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street - art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing - sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. - Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche - gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred - skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth - sunt williamsburg butcher woke lorem whatever squid.

-

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica - lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan - seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke - blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter - activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street - art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing - sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. - Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche - gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred + blue bottle, pour-over palo tache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth sunt williamsburg butcher woke lorem whatever squid.

Section 3.1

@@ -219,20 +107,7 @@

Section 3. lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter - activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street - art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing - sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. - Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche - gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred - skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth - sunt williamsburg butcher woke lorem whatever squid.

-

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica - lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan - seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke - blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter - activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street - art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing - sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. + activated charcoal nisi. Vexillologist et ennui distillery snackwave carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth @@ -245,13 +120,7 @@

Section 3. activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing sed. Kitsch fam slow-carb cronut tote bag tumeric venmo, shoreditch flannel in pinterest godard butcher id. - Vexillologist vaporware commodo tumeric fugiat. Laborum echo park succulents, celiac yuccie truffaut cliche - gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred - skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth - sunt williamsburg butcher woke lorem whatever squid.

-

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica - lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan - seitan readymade vinyl snackwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke + Vexillologist vaporware c ckwave four dollar toast neutra. In ipsum blog tbh. Authentic la croix bespoke blue bottle, pour-over palo santo XOXO intelligentsia roof party readymade try-hard DIY kickstarter activated charcoal nisi. Vexillologist et ennui distillery snackwave pour-over offal seitan crucifix street art. Roof party photo booth retro kogi, cardigan ut anim church-key butcher helvetica iPhone microdosing diff --git a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss index 072b290e09..bba8d49244 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss @@ -7,12 +7,19 @@ $variables: ( horizontal-spacer: calc(#{pfe-var(container-padding)} * 2), vertical-spacer: calc(#{pfe-var(container-padding)} * 2), BackgroundColor: pfe-color(surface--lightest), - BorderColor: #{pfe-color(ui-base)}, - FontSize: #{pfe-var(font-size--heading--epsilon)}, - heading: (FontSize: #{pfe-var(font-size--heading--zeta)}), - link: (horizontal-spacer: calc(#{pfe-var(content-spacer)} / 3), - vertical-spacer: calc(#{pfe-var(content-spacer)} / 6), - )); + BorderColor: pfe-color(ui-base), + FontSize: pfe-var(font-size--heading--epsilon), + heading: ( + FontSize: #{pfe-var(font-size--heading--zeta)} + ), + link: ( + horizontal-spacer: calc(#{pfe-var(content-spacer)} / 3), + vertical-spacer: calc(#{pfe-var(content-spacer)} / 6), + ), + nav: ( + offset: calc(#{pfe-var(container-spacer)} * 4) + ) + ); :host { @include pfe-print-variables($variables); @@ -23,7 +30,7 @@ $variables: ( font-weight: 400; // remove this once font-weight-normal is 400 display: block; position: sticky; - top: calc(#{pfe-var(container-spacer)} * 4); + top: #{pfe-local($cssvar: offset, $region: nav)}; padding-left: 0; @media(min-width: #{pfe-breakpoint(lg)}) { From 3d50fa1473704edcf792b28783e27f504b562bad Mon Sep 17 00:00:00 2001 From: Kendall Totten Date: Fri, 10 Jul 2020 15:51:40 -0400 Subject: [PATCH 02/22] Update elements/pfe-jump-links/demo/index.html --- elements/pfe-jump-links/demo/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elements/pfe-jump-links/demo/index.html b/elements/pfe-jump-links/demo/index.html index eda68ba10f..bffb5af45e 100644 --- a/elements/pfe-jump-links/demo/index.html +++ b/elements/pfe-jump-links/demo/index.html @@ -62,7 +62,7 @@

pfe-jump-links

PFE Jump Links - standard

- +

Jump to section

  • Section 1
  • From 805d0ec92b17f67c09cf4ba4927c9793d1de9b2d Mon Sep 17 00:00:00 2001 From: Kendall Totten Date: Thu, 30 Jul 2020 16:42:07 -0400 Subject: [PATCH 03/22] Update elements/pfe-jump-links/src/pfe-jump-links-nav.scss Co-authored-by: [ Cassondra ] --- elements/pfe-jump-links/src/pfe-jump-links-nav.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss index ec022c6a53..2187ed4416 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss @@ -28,7 +28,7 @@ $LOCAL-VARIABLES: ( font-weight: 400; // remove this once font-weight--normal is 400 display: block; position: sticky; - top: #{pfe-local($cssvar: offset, $region: nav)}; + top: pfe-local(offset, $region: nav); padding-left: 0; background-color: pfe-local(BackgroundColor); @@ -380,4 +380,4 @@ $LOCAL: $temp; display: none; } } -} \ No newline at end of file +} From 3b9fed2abb18ec668acc6167234b39b9a3349487 Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Tue, 4 Aug 2020 13:03:38 -0400 Subject: [PATCH 04/22] added placeholder text to fix reported height and added click event for links --- elements/pfe-jump-links/package-lock.json | 1359 +++++++++++++++-- elements/pfe-jump-links/package.json | 3 +- .../src/pfe-jump-links-nav.html | 1 + elements/pfe-jump-links/src/pfe-jump-links.js | 23 +- 4 files changed, 1254 insertions(+), 132 deletions(-) diff --git a/elements/pfe-jump-links/package-lock.json b/elements/pfe-jump-links/package-lock.json index 59e44c5fd2..d83ad4587f 100644 --- a/elements/pfe-jump-links/package-lock.json +++ b/elements/pfe-jump-links/package-lock.json @@ -4,38 +4,110 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@patternfly/pfe-sass": { - "version": "1.0.0-prerelease.40" + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, - "@patternfly/pfelement": { - "version": "1.0.0-prerelease.39" + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "array-uniq": "^1.0.1" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { - "lodash": "^4.17.14" + "safer-buffer": "~2.1.0" } }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", + "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==" + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "requires": { + "inherits": "~2.0.0" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -45,58 +117,227 @@ "concat-map": "0.0.1" } }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "email-addresses": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", - "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==" + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, - "filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=" + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", - "requires": { - "filename-reserved-regex": "^1.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, - "filenamify-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", - "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=", + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "requires": { - "filenamify": "^1.0.0", - "humanize-url": "^1.0.0" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" } }, "fs.realpath": { @@ -104,17 +345,56 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "gh-pages": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.2.0.tgz", - "integrity": "sha512-c+yPkNOPMFGNisYg9r4qvsMIjVYikJv7ImFOhPIVPt0+AcRUamZ7zkGRLHz7FKB0xrlZ+ddSOJsZv9XAFVXLmA==", + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", "requires": { - "async": "^2.6.1", - "commander": "^2.18.0", - "email-addresses": "^3.0.1", - "filenamify-url": "^1.0.0", - "fs-extra": "^8.1.0", - "globby": "^6.1.0" + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "requires": { + "globule": "^1.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" } }, "glob": { @@ -130,16 +410,14 @@ "path-is-absolute": "^1.0.0" } }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "globule": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" } }, "graceful-fs": { @@ -147,13 +425,59 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" }, - "humanize-url": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", - "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=", + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "normalize-url": "^1.0.0", - "strip-url-auth": "^1.0.0" + "ansi-regex": "^2.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==" + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" } }, "inflight": { @@ -170,17 +494,111 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "is-plain-obj": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-finite": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "js-base64": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.3.tgz", + "integrity": "sha512-fiUvdfCaAXoQTHdKMgTvg6IkecXDcVz6V5rlftUTclF9IKBjMizvSdQaCl/z/6TApDeby5NL+axYou3i0mu1Pg==" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "requires": { - "graceful-fs": "^4.1.6" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } } }, "lodash": { @@ -188,6 +606,59 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -196,17 +667,114 @@ "brace-expansion": "^1.1.7" } }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + } + } + }, + "node-sass": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" } }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -220,11 +788,87 @@ "wrappy": "1" } }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -243,63 +887,522 @@ "pinkie": "^2.0.0" } }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "requires": { - "is-plain-obj": "^1.0.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "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.1.1", + "util-deprecate": "~1.0.1" + } }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "requires": { - "escape-string-regexp": "^1.0.2" + "js-base64": "^2.1.8", + "source-map": "^0.4.2" } }, - "strip-url-auth": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": ">=0.0.4" + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", - "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=" + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } }, - "trim-repeated": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-newlines": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", "requires": { - "escape-string-regexp": "^1.0.2" + "glob": "^7.1.2" } }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + } + } } } } diff --git a/elements/pfe-jump-links/package.json b/elements/pfe-jump-links/package.json index 1f3d361efd..07fe6f464c 100644 --- a/elements/pfe-jump-links/package.json +++ b/elements/pfe-jump-links/package.json @@ -44,7 +44,8 @@ "license": "MIT", "dependencies": { "@patternfly/pfe-accordion": "^1.0.0-prerelease.53", - "@patternfly/pfelement": "^1.0.0-prerelease.51" + "@patternfly/pfelement": "^1.0.0-prerelease.51", + "node-sass": "^4.14.1" }, "devDependencies": { "@patternfly/pfe-sass": "^1.0.0-prerelease.53" diff --git a/elements/pfe-jump-links/src/pfe-jump-links-nav.html b/elements/pfe-jump-links/src/pfe-jump-links-nav.html index e35768406f..a3a51ee1e6 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links-nav.html +++ b/elements/pfe-jump-links/src/pfe-jump-links-nav.html @@ -30,6 +30,7 @@ ${this.hasAttribute("pfe-c-horizontal") ? `` : ` + Jump to section ` } diff --git a/elements/pfe-jump-links/src/pfe-jump-links.js b/elements/pfe-jump-links/src/pfe-jump-links.js index 2d492842cb..f9888566ae 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links.js +++ b/elements/pfe-jump-links/src/pfe-jump-links.js @@ -63,13 +63,13 @@ class PfeJumpLinksNav extends PFElement { constructor() { super(PfeJumpLinksNav, { type: PfeJumpLinksNav.PfeType }); - this._buildNav = this._buildNav.bind(this); this._mutationCallback = this._mutationCallback.bind(this); this._menuContainer = this.shadowRoot.querySelector("#container"); this._observer = new MutationObserver(this._mutationCallback); this._reportHeight = this._reportHeight.bind(this); this.panel = document.querySelector(`[pfe-c-scrolltarget=${this.id}]`); + this.closeAccordion = this.closeAccordion.bind(this); window.addEventListener("resize", () => {}); } @@ -129,6 +129,16 @@ class PfeJumpLinksNav extends PFElement { PfeJumpLinksPanel.events.change, this._buildNav ); + + this.accordion = this.shadowRoot.querySelector("pfe-accordion"); + this.links = this.shadowRoot.querySelectorAll("a"); + // console.log(this.accordion); + // console.log(this.links); + // console.log([...this.links]); + [...this.links].forEach(link => { + console.log(link); + link.addEventListener("click", this.closeAccordion); + }); } disconnectedCallback() { @@ -140,6 +150,12 @@ class PfeJumpLinksNav extends PFElement { this.removeEventListener("click"); } + closeAccordion() { + console.log("hello from click event"); + console.log(this); + this.shadowRoot.querySelector("pfe-accordion").toggle(0); + } + _rebuildNav() { this._buildNav(); } @@ -258,7 +274,8 @@ class PfeJumpLinksNav extends PFElement { _reportHeight() { const cssVarName = `--${this.tag}--Height--actual`; - const height = this.clientHeight + "px"; + const styles = window.getComputedStyle(this); + let height = styles.getPropertyValue("height"); this.panel.style.setProperty(cssVarName, height); } } @@ -316,7 +333,7 @@ class PfeJumpLinksPanel extends PFElement { this._init(); this.sectionMargin = this.getAttribute("pfe-c-offset"); this.customVar = this.cssVariable("--pfe-jump-links-panel--offset") || 200; - if (this.nav && this.nav.hasAttribute("pfe-c-autobuild")) { + if (this.nav && this.nav.hasAttribute("autobuild")) { this.nav._rebuildNav(); } From bc63a69712da95074e9aaeabd75b3d01d0245e38 Mon Sep 17 00:00:00 2001 From: Kyle Buchanan Date: Tue, 4 Aug 2020 17:11:03 -0400 Subject: [PATCH 05/22] close accordion fixes --- .../src/pfe-jump-links-nav.scss | 2 +- elements/pfe-jump-links/src/pfe-jump-links.js | 20 +++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss index 932f12f51b..a6eea1773c 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss @@ -169,7 +169,7 @@ $LOCAL: accordion; $accordion-styles: ( BackgroundColor: transparent, accent: transparent, - BorderLeftWidth: 0, + BorderLeftWidth: 1px, BorderColor: transparent, BorderColor--accent: transparent ); diff --git a/elements/pfe-jump-links/src/pfe-jump-links.js b/elements/pfe-jump-links/src/pfe-jump-links.js index f9888566ae..3c73cac09c 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links.js +++ b/elements/pfe-jump-links/src/pfe-jump-links.js @@ -68,7 +68,6 @@ class PfeJumpLinksNav extends PFElement { this._menuContainer = this.shadowRoot.querySelector("#container"); this._observer = new MutationObserver(this._mutationCallback); this._reportHeight = this._reportHeight.bind(this); - this.panel = document.querySelector(`[pfe-c-scrolltarget=${this.id}]`); this.closeAccordion = this.closeAccordion.bind(this); window.addEventListener("resize", () => {}); @@ -76,6 +75,8 @@ class PfeJumpLinksNav extends PFElement { connectedCallback() { super.connectedCallback(); + this.panel = document.querySelector(`[pfe-c-scrolltarget=${this.id}]`); + //Check that the light DOM is there if (this.hasAttribute("autobuild")) { this._buildNav(); @@ -151,9 +152,13 @@ class PfeJumpLinksNav extends PFElement { } closeAccordion() { - console.log("hello from click event"); - console.log(this); - this.shadowRoot.querySelector("pfe-accordion").toggle(0); + // @TODO + // Create JSON tokens for media query breakpoints + if (window.matchMedia("(min-width: 992px)").matches) { + return; + } + + this.shadowRoot.querySelector("pfe-accordion").collapseAll(); } _rebuildNav() { @@ -235,6 +240,11 @@ class PfeJumpLinksNav extends PFElement { if (!this.hasAttribute("autobuild")) { const menu = this.querySelector("ul"); this._menuContainer.innerHTML = menu.outerHTML; + + this.links = this.shadowRoot.querySelectorAll("a"); + [...this.links].forEach(link => { + link.addEventListener("click", this.closeAccordion); + }); } else if (this.hasAttribute("autobuild")) { this._buildNav(); } @@ -491,9 +501,11 @@ class PfeJumpLinksPanel extends PFElement { // If that section isn't already active, // remove active from the other links and make it active if (current !== this.currentActive) { + this._observer.disconnect(); this._removeAllActive(); this.currentActive = current; this._makeActive(current); + this._observer.observe(this, pfeJumpLinksNavObserverConfig); } } } From 3023ed05f960ea3985c66cd6012e50cddd6d4b5f Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Tue, 4 Aug 2020 17:27:41 -0400 Subject: [PATCH 06/22] added teardown of event listeners in disconnected callback --- elements/pfe-jump-links/src/pfe-jump-links.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/elements/pfe-jump-links/src/pfe-jump-links.js b/elements/pfe-jump-links/src/pfe-jump-links.js index 3c73cac09c..1e1d44db8b 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links.js +++ b/elements/pfe-jump-links/src/pfe-jump-links.js @@ -133,9 +133,6 @@ class PfeJumpLinksNav extends PFElement { this.accordion = this.shadowRoot.querySelector("pfe-accordion"); this.links = this.shadowRoot.querySelectorAll("a"); - // console.log(this.accordion); - // console.log(this.links); - // console.log([...this.links]); [...this.links].forEach(link => { console.log(link); link.addEventListener("click", this.closeAccordion); @@ -149,6 +146,10 @@ class PfeJumpLinksNav extends PFElement { this._buildNav ); this.removeEventListener("click"); + [...this.links].forEach(link => { + console.log(link); + link.removeEventListener("click", this.closeAccordion); + }); } closeAccordion() { From e140bc79fcb64c4e65ac80f696810288de17cb7c Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Wed, 5 Aug 2020 13:45:34 -0400 Subject: [PATCH 07/22] modified attributes to be backwards compatible --- elements/pfe-jump-links/src/pfe-jump-links.js | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/elements/pfe-jump-links/src/pfe-jump-links.js b/elements/pfe-jump-links/src/pfe-jump-links.js index 1e1d44db8b..13e46152eb 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links.js +++ b/elements/pfe-jump-links/src/pfe-jump-links.js @@ -78,7 +78,10 @@ class PfeJumpLinksNav extends PFElement { this.panel = document.querySelector(`[pfe-c-scrolltarget=${this.id}]`); //Check that the light DOM is there - if (this.hasAttribute("autobuild")) { + if ( + this.hasAttribute("autobuild") || + this.hasAttribute("pfe-c-autobuild") + ) { this._buildNav(); } else { //Check that the light DOM is valid @@ -238,7 +241,10 @@ class PfeJumpLinksNav extends PFElement { this._observer.disconnect(); } - if (!this.hasAttribute("autobuild")) { + if ( + !this.hasAttribute("autobuild") || + !this.hasAttribute("pfe-c-autobuild") + ) { const menu = this.querySelector("ul"); this._menuContainer.innerHTML = menu.outerHTML; @@ -246,7 +252,10 @@ class PfeJumpLinksNav extends PFElement { [...this.links].forEach(link => { link.addEventListener("click", this.closeAccordion); }); - } else if (this.hasAttribute("autobuild")) { + } else if ( + this.hasAttribute("autobuild") || + this.hasAttribute("pfe-c-autobuild") + ) { this._buildNav(); } @@ -344,7 +353,11 @@ class PfeJumpLinksPanel extends PFElement { this._init(); this.sectionMargin = this.getAttribute("pfe-c-offset"); this.customVar = this.cssVariable("--pfe-jump-links-panel--offset") || 200; - if (this.nav && this.nav.hasAttribute("autobuild")) { + if ( + this.nav && + (this.nav.hasAttribute("autobuild") || + this.nav.hasAttribute("pfe-c-autobuild")) + ) { this.nav._rebuildNav(); } @@ -463,7 +476,10 @@ class PfeJumpLinksPanel extends PFElement { ); } //If we want the nav to be built automatically, re-init panel and rebuild nav - if (this.nav.hasAttribute("autobuild")) { + if ( + this.hasAttribute("autobuild") || + this.hasAttribute("pfe-c-autobuild") + ) { this._init(); this.emitEvent(PfeJumpLinksPanel.events.change); this.nav._rebuildNav(); From 23441652af8e4a1f59c19292b241564b60d7daf5 Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Wed, 5 Aug 2020 14:26:48 -0400 Subject: [PATCH 08/22] fixed link colors in darkest variant --- elements/pfe-jump-links/src/pfe-jump-links-nav.scss | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss index a6eea1773c..aea774150a 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss @@ -258,14 +258,13 @@ $LOCAL: $temp; } a { - color: pfe-var(ui-accent--focus--on-dark); - + color: pfe-var(ui-accent--hover--on-saturated); &:hover { - color: pfe-var(ui-accent--hover--on-dark); + color: pfe-var(text--on-dark); } &[active] { - color: pfe-var(ui-accent--on-dark); + color: pfe-var(text--on-dark); } &:focus::after { From 5178254ef140db184e9b7ed954cc2483d0ff7937 Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Wed, 5 Aug 2020 14:42:26 -0400 Subject: [PATCH 09/22] updated styling for darkest variant --- elements/pfe-jump-links/src/pfe-jump-links-nav.scss | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss index aea774150a..a276e6c75b 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss @@ -251,14 +251,14 @@ $LOCAL: $temp; } ul { - border-left: pfe-var(surface--border-width) pfe-var(surface--border-style) #{pfe-var(ui-disabled--text)}; + border-left: pfe-var(surface--border-width) pfe-var(surface--border-style) pfe-var(text--muted); li[active] { - border-left: 3px pfe-var(surface--border-style) pfe-var(ui-accent); + border-left: pfe-var(ui--border-width--active) pfe-var(surface--border-style) pfe-var(ui-accent); } a { - color: pfe-var(ui-accent--hover--on-saturated); + color: pfe-var(text--muted--on-dark); &:hover { color: pfe-var(text--on-dark); } @@ -268,7 +268,7 @@ $LOCAL: $temp; } &:focus::after { - border-color: #{pfe-var(link--on-dark)}; + border-color: pfe-var(link--on-dark); // i dont remember what this is used for } } } From 5c38b753708abe177cbc8bd379a2db2cce8160f1 Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Wed, 5 Aug 2020 14:42:58 -0400 Subject: [PATCH 10/22] found closer to spec light blue --- elements/pfe-jump-links/src/pfe-jump-links-nav.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss index a276e6c75b..95d3540388 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss @@ -254,7 +254,7 @@ $LOCAL: $temp; border-left: pfe-var(surface--border-width) pfe-var(surface--border-style) pfe-var(text--muted); li[active] { - border-left: pfe-var(ui--border-width--active) pfe-var(surface--border-style) pfe-var(ui-accent); + border-left: pfe-var(ui--border-width--active) pfe-var(surface--border-style) pfe-var(link--on-dark); } a { From e2a032c8c482137c73d136e03e1fe6c23ac216e6 Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Wed, 5 Aug 2020 15:00:52 -0400 Subject: [PATCH 11/22] updated report height function to report correct height and update on squishy window --- elements/pfe-jump-links/src/pfe-jump-links.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/elements/pfe-jump-links/src/pfe-jump-links.js b/elements/pfe-jump-links/src/pfe-jump-links.js index 13e46152eb..084d46a132 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links.js +++ b/elements/pfe-jump-links/src/pfe-jump-links.js @@ -295,7 +295,11 @@ class PfeJumpLinksNav extends PFElement { _reportHeight() { const cssVarName = `--${this.tag}--Height--actual`; const styles = window.getComputedStyle(this); + let height = styles.getPropertyValue("height"); + if (window.matchMedia("(min-width: 992px)").matches) { + height = "0px"; + } this.panel.style.setProperty(cssVarName, height); } } From eb85fe63399e510f621a0f0e62dd36d00d181095 Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Wed, 12 Aug 2020 13:36:43 -0400 Subject: [PATCH 12/22] WIP got the spacer working --- elements/pfe-jump-links/demo/demo.css | 34 +++++++++++-------- elements/pfe-jump-links/demo/index.html | 4 +-- .../src/pfe-jump-links-nav.scss | 13 +++++++ .../src/pfe-jump-links-panel.scss | 9 +++++ elements/pfe-jump-links/src/pfe-jump-links.js | 26 ++++++++++++-- .../pfe-jump-links/src/pfe-jump-links.scss | 8 +++++ 6 files changed, 75 insertions(+), 19 deletions(-) create mode 100644 elements/pfe-jump-links/src/pfe-jump-links-panel.scss diff --git a/elements/pfe-jump-links/demo/demo.css b/elements/pfe-jump-links/demo/demo.css index 35ce432fae..b8f5ddf7b6 100644 --- a/elements/pfe-jump-links/demo/demo.css +++ b/elements/pfe-jump-links/demo/demo.css @@ -10,12 +10,17 @@ a.pfe-jump-links-nav__item { .sticky { position: sticky; - top: 0; + top: 55px; } +:root{ + --pfe-jump-links-panel__section--spacer: 117px; + --pfe-jump-links-panel--offset: 55px; +} + /* SET OFFSET */ -.special { - --pfe-jump-links-panel--offset: 100px; +/* .special { + --pfe-jump-links-panel--offset: 100; --pfe-jump-links__nav--offset: 100px; } @media(max-width: 992px) { @@ -23,7 +28,7 @@ a.pfe-jump-links-nav__item { --pfe-jump-links-panel--offset: 60px; --pfe-jump-links__nav--offset: 60px; } -} +} */ /* * Fixing the issue where the headers are under the stick nav @@ -31,16 +36,6 @@ a.pfe-jump-links-nav__item { */ -/* Offset panel headers */ -.pfe-jump-links-panel__section::before { - content: ''; - display: block; - position: relative; - width: 0; - height: var(--pfe-jump-links-panel--offset); - margin: calc( var(--pfe-jump-links-panel--offset) * -1) 0 0; -} - /* FAKE NAV BAR */ #navbar { position: fixed; @@ -60,4 +55,15 @@ a.pfe-jump-links-nav__item { text-decoration: none; font-size: 17px; } + +.pfe-jump-links__section--spacer { + content: ''; + display: block; + position: relative; + width: 0; + /* margin-top: -64px; + height: 64px; */ + margin-top: calc( -1 * var(--pfe-jump-links-panel__section--spacer) ); + height: var(--pfe-jump-links-panel__section--spacer); +} \ No newline at end of file diff --git a/elements/pfe-jump-links/demo/index.html b/elements/pfe-jump-links/demo/index.html index bffb5af45e..38563a218b 100644 --- a/elements/pfe-jump-links/demo/index.html +++ b/elements/pfe-jump-links/demo/index.html @@ -21,7 +21,7 @@ - + @@ -76,7 +76,7 @@

    Jump to section

- +

Section 1

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica diff --git a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss index 95d3540388..db15f2440f 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss @@ -22,6 +22,8 @@ $LOCAL-VARIABLES: ( ); :host { + --pfe-jump-links-panel__section--spacer: calc(var(--pfe-jump-links-nav--Height--actual) + var(--pfe-navigation--Height--actual) + var(--jump-links-nav--nudge)); + --pfe-jump-links-panel--offset: pfe-strip-unit(#{var(--pfe-jump-links-panel__section--spacer)}); box-sizing: border-box; font-family: pfe-var(font-family); font-weight: pfe-var(font-weight--normal); @@ -56,6 +58,16 @@ $LOCAL-VARIABLES: ( } } +::slotted(.pfe-jump-links__section--spacer) { + // --pfe-jump-links-panel__section--spacer: calc(#{ var(--pfe-navigation--Height--actual) + var(--pfe-jump-links--nav-height) }); + content: ''; + display: block; + position: relative; + width: 0; + margin-top: calc( -1 * var(--pfe-jump-links-panel__section--spacer) ); + height: var(--pfe-jump-links-panel__section--spacer); +} + nav { visibility: visible; margin: 0; @@ -380,3 +392,4 @@ $LOCAL: $temp; } } } + diff --git a/elements/pfe-jump-links/src/pfe-jump-links-panel.scss b/elements/pfe-jump-links/src/pfe-jump-links-panel.scss new file mode 100644 index 0000000000..c2c3397e80 --- /dev/null +++ b/elements/pfe-jump-links/src/pfe-jump-links-panel.scss @@ -0,0 +1,9 @@ +::slotted(.pfe-jump-links__section--spacer) { + // --pfe-jump-links-panel__section--spacer: calc(#{ var(--pfe-navigation--Height--actual) + var(--pfe-jump-links--nav-height) }); + content: ''; + display: block; + position: relative; + width: 0; + margin-top: calc( -1 * var(--pfe-jump-links-panel__section--spacer) ); + height: var(--pfe-jump-links-panel__section--spacer); +} \ No newline at end of file diff --git a/elements/pfe-jump-links/src/pfe-jump-links.js b/elements/pfe-jump-links/src/pfe-jump-links.js index 084d46a132..15f3595563 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links.js +++ b/elements/pfe-jump-links/src/pfe-jump-links.js @@ -69,6 +69,7 @@ class PfeJumpLinksNav extends PFElement { this._observer = new MutationObserver(this._mutationCallback); this._reportHeight = this._reportHeight.bind(this); this.closeAccordion = this.closeAccordion.bind(this); + this._closeAccordion = this._closeAccordion.bind(this); window.addEventListener("resize", () => {}); } @@ -137,7 +138,6 @@ class PfeJumpLinksNav extends PFElement { this.accordion = this.shadowRoot.querySelector("pfe-accordion"); this.links = this.shadowRoot.querySelectorAll("a"); [...this.links].forEach(link => { - console.log(link); link.addEventListener("click", this.closeAccordion); }); } @@ -150,7 +150,6 @@ class PfeJumpLinksNav extends PFElement { ); this.removeEventListener("click"); [...this.links].forEach(link => { - console.log(link); link.removeEventListener("click", this.closeAccordion); }); } @@ -161,7 +160,10 @@ class PfeJumpLinksNav extends PFElement { if (window.matchMedia("(min-width: 992px)").matches) { return; } + setTimeout(this._closeAccordion, 750); + } + _closeAccordion() { this.shadowRoot.querySelector("pfe-accordion").collapseAll(); } @@ -344,6 +346,7 @@ class PfeJumpLinksPanel extends PFElement { this._scrollCallback = this._scrollCallback.bind(this); this._mutationCallback = this._mutationCallback.bind(this); this._handleResize = this._handleResize.bind(this); + this._makeSpacers = this._makeSpacers.bind(this); this._observer = new MutationObserver(this._mutationCallback); this.currentActive = null; this.currentActive = 0; @@ -353,6 +356,7 @@ class PfeJumpLinksPanel extends PFElement { connectedCallback() { super.connectedCallback(); + // this._makeSpacers(); this.nav = this._getNav(); this._init(); this.sectionMargin = this.getAttribute("pfe-c-offset"); @@ -385,12 +389,27 @@ class PfeJumpLinksPanel extends PFElement { } } + _makeSpacers() { + let sections = this.querySelectorAll(".pfe-jump-links-panel__section"); + if (!sections) { + return; + } + sections.forEach(section => { + let parentDiv = section.parentNode; + let html = document.createElement("div"); + parentDiv.insertBefore(html, section); + let spacer = section.previousElementSibling; + spacer.classList.add("pfe-jump-links__section--spacer"); + spacer.id = section.id; + section.removeAttribute("id"); + }); + } + _init() { window.addEventListener("scroll", this._scrollCallback); this.scrollTarget = this.getAttribute("pfe-c-scrolltarget"); this.JumpLinksNav = document.querySelector(`#${this.scrollTarget}`); this.sections = this.querySelectorAll(".pfe-jump-links-panel__section"); - if (this.JumpLinksNav) { this.menu_links = this.JumpLinksNav.querySelectorAll("a"); } @@ -409,6 +428,7 @@ class PfeJumpLinksPanel extends PFElement { } _makeActive(link) { + console.log("Hello?"); if (this.menu_links[link]) { // Check if this is a subnav or has subsections if (this.menu_links[link].classList.contains("sub-section")) { diff --git a/elements/pfe-jump-links/src/pfe-jump-links.scss b/elements/pfe-jump-links/src/pfe-jump-links.scss index 3b5abbf7bd..db82625fbb 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links.scss @@ -9,3 +9,11 @@ display: none; } +.pfe-jump-links__section--spacer { + // content: ''; + display: block; + position: relative; + width: 0; + margin-top: calc( -1 * var(--pfe-jump-links-panel__section--spacer) ); + height: var(--pfe-jump-links-panel__section--spacer); +} \ No newline at end of file From 2941fa55d0ee11ee0718dff029355a8ce9947b38 Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Wed, 12 Aug 2020 15:59:01 -0400 Subject: [PATCH 13/22] went bug smushing and won --- elements/pfe-jump-links/demo/demo.css | 15 ++++++++------- elements/pfe-jump-links/src/pfe-jump-links.js | 15 ++++++--------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/elements/pfe-jump-links/demo/demo.css b/elements/pfe-jump-links/demo/demo.css index b8f5ddf7b6..006c4021fd 100644 --- a/elements/pfe-jump-links/demo/demo.css +++ b/elements/pfe-jump-links/demo/demo.css @@ -3,6 +3,11 @@ html { scroll-behavior: smooth; } +:root{ + --pfe-jump-links-panel__section--spacer: 117px; + --pfe-jump-links-panel--offset: 55px; +} + a.pfe-jump-links-nav__item { /* Just in here for sanity knowing outside styles can't leak in */ color: orange !important; @@ -12,10 +17,6 @@ a.pfe-jump-links-nav__item { position: sticky; top: 55px; } -:root{ - --pfe-jump-links-panel__section--spacer: 117px; - --pfe-jump-links-panel--offset: 55px; -} /* SET OFFSET */ @@ -61,9 +62,9 @@ a.pfe-jump-links-nav__item { display: block; position: relative; width: 0; - /* margin-top: -64px; - height: 64px; */ + margin-top: -64px; + height: 64px; margin-top: calc( -1 * var(--pfe-jump-links-panel__section--spacer) ); height: var(--pfe-jump-links-panel__section--spacer); } - \ No newline at end of file + diff --git a/elements/pfe-jump-links/src/pfe-jump-links.js b/elements/pfe-jump-links/src/pfe-jump-links.js index 15f3595563..48b8a60cc8 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links.js +++ b/elements/pfe-jump-links/src/pfe-jump-links.js @@ -327,7 +327,7 @@ class PfeJumpLinksPanel extends PFElement { } get offsetValue() { - return this.sectionMargin || this.customVar; + return this.sectionMargin || parseInt(this.customVar, 10); } static get PfeType() { @@ -349,14 +349,12 @@ class PfeJumpLinksPanel extends PFElement { this._makeSpacers = this._makeSpacers.bind(this); this._observer = new MutationObserver(this._mutationCallback); this.currentActive = null; - this.currentActive = 0; - this.current = -1; window.addEventListener("resize", this._handleResize); } connectedCallback() { super.connectedCallback(); - // this._makeSpacers(); + this._makeSpacers(); this.nav = this._getNav(); this._init(); this.sectionMargin = this.getAttribute("pfe-c-offset"); @@ -410,8 +408,9 @@ class PfeJumpLinksPanel extends PFElement { this.scrollTarget = this.getAttribute("pfe-c-scrolltarget"); this.JumpLinksNav = document.querySelector(`#${this.scrollTarget}`); this.sections = this.querySelectorAll(".pfe-jump-links-panel__section"); + this.menu_links; if (this.JumpLinksNav) { - this.menu_links = this.JumpLinksNav.querySelectorAll("a"); + this.menu_links = this.JumpLinksNav.shadowRoot.querySelectorAll("a"); } } @@ -428,7 +427,6 @@ class PfeJumpLinksPanel extends PFElement { } _makeActive(link) { - console.log("Hello?"); if (this.menu_links[link]) { // Check if this is a subnav or has subsections if (this.menu_links[link].classList.contains("sub-section")) { @@ -516,7 +514,7 @@ class PfeJumpLinksPanel extends PFElement { _scrollCallback() { let sections; - let menu_links; + // let menu_links; //Check sections to make sure we have them (if not, get them) if (!this.sections || typeof this.sections === "undefined") { this.sections = this.querySelectorAll(".pfe-jump-links-panel__section"); @@ -524,9 +522,8 @@ class PfeJumpLinksPanel extends PFElement { sections = this.sections; } //Check list of links to make sure we have them (if not, get them) - if (this.menu_links.length < 1 || !this.menu_links) { + if (!this.menu_links) { this.menu_links = this.JumpLinksNav.shadowRoot.querySelectorAll("a"); - menu_links = this.menu_links; } // Make an array from the node list From 5a801b819b61b0df40ce9d3b00663f356cd25a20 Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Wed, 12 Aug 2020 16:13:38 -0400 Subject: [PATCH 14/22] added warning for using css values with units --- elements/pfe-jump-links/src/pfe-jump-links.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/elements/pfe-jump-links/src/pfe-jump-links.js b/elements/pfe-jump-links/src/pfe-jump-links.js index 48b8a60cc8..16d8586ab3 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links.js +++ b/elements/pfe-jump-links/src/pfe-jump-links.js @@ -290,6 +290,11 @@ class PfeJumpLinksNav extends PFElement { return false; } + if (Number.isInteger(Number(this.customVar))) { + console.warn( + "Using an integer with a unit is not supported for custom property --pfe-jump-links-panel--offset. The component strips the unit using parseInt(). For example so 1rem would become 1 and behave as if you had entered 1px. Values with a pixel unit will behave correctly." + ); + } return true; } From b873def79575af72f30dab74924e6886252ba656 Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Mon, 17 Aug 2020 17:01:30 -0400 Subject: [PATCH 15/22] got slotted css working --- elements/pfe-jump-links/demo/demo.css | 8 +++++--- elements/pfe-jump-links/demo/index.html | 13 +++---------- .../pfe-jump-links/src/pfe-jump-links-nav.scss | 10 ---------- .../pfe-jump-links/src/pfe-jump-links-panel.scss | 5 +++-- elements/pfe-jump-links/src/pfe-jump-links.js | 14 ++++++++++++++ examples/index.html | 1 + 6 files changed, 26 insertions(+), 25 deletions(-) diff --git a/elements/pfe-jump-links/demo/demo.css b/elements/pfe-jump-links/demo/demo.css index 006c4021fd..242e25a764 100644 --- a/elements/pfe-jump-links/demo/demo.css +++ b/elements/pfe-jump-links/demo/demo.css @@ -4,6 +4,8 @@ html { } :root{ + --pfe-navigation--Height--actual: 55px; + --pfe-jump-links--nav-height: 62px; --pfe-jump-links-panel__section--spacer: 117px; --pfe-jump-links-panel--offset: 55px; } @@ -44,7 +46,7 @@ a.pfe-jump-links-nav__item { width: 100%; overflow: hidden; background-color: #333; - height: var(--pfe-jump-links-panel--offset); + height: var(--pfe-navigation--Height--actual); } #navbar a { @@ -56,7 +58,7 @@ a.pfe-jump-links-nav__item { text-decoration: none; font-size: 17px; } - +/* .pfe-jump-links__section--spacer { content: ''; display: block; @@ -66,5 +68,5 @@ a.pfe-jump-links-nav__item { height: 64px; margin-top: calc( -1 * var(--pfe-jump-links-panel__section--spacer) ); height: var(--pfe-jump-links-panel__section--spacer); -} +} */ diff --git a/elements/pfe-jump-links/demo/index.html b/elements/pfe-jump-links/demo/index.html index 38563a218b..9ab33284be 100644 --- a/elements/pfe-jump-links/demo/index.html +++ b/elements/pfe-jump-links/demo/index.html @@ -77,7 +77,6 @@

Jump to section

-

Section 1

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan @@ -197,7 +196,6 @@

Section 5

gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth sunt williamsburg butcher woke lorem whatever squid.

-
@@ -223,7 +221,6 @@

Jump to section

-

Section 1

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan @@ -440,7 +437,6 @@

Section 5

gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth sunt williamsburg butcher woke lorem whatever squid.

-
@@ -453,7 +449,6 @@
-

Section 6

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan @@ -670,7 +665,6 @@

Section 10

gentrify brooklyn fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth sunt williamsburg butcher woke lorem whatever squid.

-
@@ -689,7 +683,7 @@

Jump to section

on="dark"> Link -
+

Section 1

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan seitan @@ -860,7 +854,6 @@

Section 5

fingerstache hoodie wolf. DIY veniam elit bushwick pok pok. Esse voluptate cillum, cred skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth sunt williamsburg butcher woke lorem whatever squid.

-
@@ -898,7 +891,7 @@

Jump to section

-
+

Section 1

Lorem ipsum dolor amet umami vaporware actually church-key keytar, hell of roof party unicorn helvetica lomo pop-up fam taxidermy food truck dolore. Crucifix quinoa af eiusmod try-hard velit aesthetic freegan @@ -1115,7 +1108,7 @@

Section 4

skateboard ethical forage aliqua master cleanse 90's cornhole. Id ut raclette swag ad keytar polaroid synth sunt williamsburg butcher woke lorem whatever squid.

-
+
diff --git a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss index db15f2440f..0befd7f503 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links-nav.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links-nav.scss @@ -58,16 +58,6 @@ $LOCAL-VARIABLES: ( } } -::slotted(.pfe-jump-links__section--spacer) { - // --pfe-jump-links-panel__section--spacer: calc(#{ var(--pfe-navigation--Height--actual) + var(--pfe-jump-links--nav-height) }); - content: ''; - display: block; - position: relative; - width: 0; - margin-top: calc( -1 * var(--pfe-jump-links-panel__section--spacer) ); - height: var(--pfe-jump-links-panel__section--spacer); -} - nav { visibility: visible; margin: 0; diff --git a/elements/pfe-jump-links/src/pfe-jump-links-panel.scss b/elements/pfe-jump-links/src/pfe-jump-links-panel.scss index c2c3397e80..275122665a 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links-panel.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links-panel.scss @@ -1,6 +1,7 @@ ::slotted(.pfe-jump-links__section--spacer) { - // --pfe-jump-links-panel__section--spacer: calc(#{ var(--pfe-navigation--Height--actual) + var(--pfe-jump-links--nav-height) }); - content: ''; + --pfe-jump-links-panel__section--spacer: calc(#{ var(--pfe-navigation--Height--actual) + var(--pfe-jump-links--nav-height) }); + height: 100px; + margin-top: -100px; display: block; position: relative; width: 0; diff --git a/elements/pfe-jump-links/src/pfe-jump-links.js b/elements/pfe-jump-links/src/pfe-jump-links.js index 16d8586ab3..87fd24d6c1 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links.js +++ b/elements/pfe-jump-links/src/pfe-jump-links.js @@ -324,6 +324,10 @@ class PfeJumpLinksPanel extends PFElement { return "pfe-jump-links-panel.html"; } + get styleUrl() { + return "pfe-jump-links-panel.scss"; + } + static get events() { return { change: `${this.tag}:change`, @@ -354,12 +358,14 @@ class PfeJumpLinksPanel extends PFElement { this._makeSpacers = this._makeSpacers.bind(this); this._observer = new MutationObserver(this._mutationCallback); this.currentActive = null; + this._isValidMarkup = this._isValidMarkup.bind(this); window.addEventListener("resize", this._handleResize); } connectedCallback() { super.connectedCallback(); this._makeSpacers(); + this._isValidMarkup(); this.nav = this._getNav(); this._init(); this.sectionMargin = this.getAttribute("pfe-c-offset"); @@ -392,6 +398,14 @@ class PfeJumpLinksPanel extends PFElement { } } + _isValidMarkup() { + if (this.childElementCount === 1) { + console.warn( + "pfe-jump-links-panel must contain more than one child element. Having a top-level 'wrapper' will prevent appropriate styles from being applied." + ); + } + } + _makeSpacers() { let sections = this.querySelectorAll(".pfe-jump-links-panel__section"); if (!sections) { diff --git a/examples/index.html b/examples/index.html index a07293639a..0c5f19d7f4 100644 --- a/examples/index.html +++ b/examples/index.html @@ -102,6 +102,7 @@

Demo pages

### TODOs | Filename | line # | TODO |:------|:------:|:------ +| [pfe-jump-links](../elements/pfe-jump-links/src/pfe-jump-links.js#L159) | 159 | | [pfe-markdown](../elements/pfe-markdown/src/pfe-markdown.js#L49) | 49 | when we stop supporting IE11, the need to disconnect and | [pfelement](../elements/pfelement/src/pfelement.js#L82) | 82 | update this to use :defined? | [pfelement](../elements/pfelement/src/pfelement.js#L174) | 174 | maybe we should use just the attribute instead of the class? From 7665ad76dde52cab08e1861ec6f9dd5727b9c78b Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Mon, 17 Aug 2020 17:04:11 -0400 Subject: [PATCH 16/22] removing duped code --- elements/pfe-jump-links/src/pfe-jump-links.scss | 9 --------- 1 file changed, 9 deletions(-) diff --git a/elements/pfe-jump-links/src/pfe-jump-links.scss b/elements/pfe-jump-links/src/pfe-jump-links.scss index db82625fbb..3b3ebad261 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links.scss @@ -7,13 +7,4 @@ :host([hidden]) { display: none; -} - -.pfe-jump-links__section--spacer { - // content: ''; - display: block; - position: relative; - width: 0; - margin-top: calc( -1 * var(--pfe-jump-links-panel__section--spacer) ); - height: var(--pfe-jump-links-panel__section--spacer); } \ No newline at end of file From 7fddb27018cbb9bcdac87390c1946b464ff71ebc Mon Sep 17 00:00:00 2001 From: Kendall Totten Date: Wed, 7 Oct 2020 13:58:47 -0400 Subject: [PATCH 17/22] remove interpolation from variable --- elements/pfe-jump-links/src/pfe-jump-links-panel.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/elements/pfe-jump-links/src/pfe-jump-links-panel.scss b/elements/pfe-jump-links/src/pfe-jump-links-panel.scss index 275122665a..f7d95eef59 100644 --- a/elements/pfe-jump-links/src/pfe-jump-links-panel.scss +++ b/elements/pfe-jump-links/src/pfe-jump-links-panel.scss @@ -1,5 +1,5 @@ ::slotted(.pfe-jump-links__section--spacer) { - --pfe-jump-links-panel__section--spacer: calc(#{ var(--pfe-navigation--Height--actual) + var(--pfe-jump-links--nav-height) }); + --pfe-jump-links-panel__section--spacer: calc( var(--pfe-navigation--Height--actual) + var(--pfe-jump-links--nav-height) ); height: 100px; margin-top: -100px; display: block; @@ -7,4 +7,4 @@ width: 0; margin-top: calc( -1 * var(--pfe-jump-links-panel__section--spacer) ); height: var(--pfe-jump-links-panel__section--spacer); -} \ No newline at end of file +} From 3d17e1ab48b73fce5644da6ae2e37b6737b22911 Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Mon, 19 Oct 2020 13:12:21 -0400 Subject: [PATCH 18/22] silly change for a netlify re-deploy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dedb402749..08813e2eaf 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Many commands have an optional argument of space-separated component name(s), if # Run, watch, and build all components npm run dev + # Run, watch, and build one or more component(s) npm run dev [component-name(s)] ``` From 67ab5ceea17ab68cedb025ca0c1c69e45c35cf46 Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Mon, 19 Oct 2020 14:35:33 -0400 Subject: [PATCH 19/22] edited css offset to match the spacer --- elements/pfe-jump-links/demo/demo.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elements/pfe-jump-links/demo/demo.css b/elements/pfe-jump-links/demo/demo.css index 242e25a764..17807968ca 100644 --- a/elements/pfe-jump-links/demo/demo.css +++ b/elements/pfe-jump-links/demo/demo.css @@ -7,7 +7,7 @@ html { --pfe-navigation--Height--actual: 55px; --pfe-jump-links--nav-height: 62px; --pfe-jump-links-panel__section--spacer: 117px; - --pfe-jump-links-panel--offset: 55px; + --pfe-jump-links-panel--offset: 120px; } a.pfe-jump-links-nav__item { From 9cd6eaec025286eabc470532f12729f19ea5c42c Mon Sep 17 00:00:00 2001 From: Daniel Faucette Date: Tue, 20 Oct 2020 16:38:24 -0400 Subject: [PATCH 20/22] fixing up tests to pass with the new shadowroot --- elements/pfe-jump-links/test/pfe-jump-links_test.html | 2 +- elements/pfe-jump-links/test/pfe-jump-links_test.js | 2 +- elements/pfe-jump-links/test/pfe-jump-links_vue_test.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/elements/pfe-jump-links/test/pfe-jump-links_test.html b/elements/pfe-jump-links/test/pfe-jump-links_test.html index 0d8f009443..f03426b9e0 100644 --- a/elements/pfe-jump-links/test/pfe-jump-links_test.html +++ b/elements/pfe-jump-links/test/pfe-jump-links_test.html @@ -19,7 +19,7 @@

Jump to section