From 2c23c47ac3865f9d304d4879f5c08678b9614223 Mon Sep 17 00:00:00 2001 From: Steve Brush Date: Fri, 1 May 2020 13:01:28 -0400 Subject: [PATCH] [rc] Upgrade dependencies; merge master (#55) * Bump acorn from 6.4.0 to 6.4.1 (#40) Bumps [acorn](https://github.com/acornjs/acorn) from 6.4.0 to 6.4.1. - [Release notes](https://github.com/acornjs/acorn/releases) - [Commits](https://github.com/acornjs/acorn/compare/6.4.0...6.4.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Assorted fixes; unit tests (#42) * Updated changelog/package.json for 3.2.0 release (#43) * Adding license (#47) Added license to address https://github.com/blackbaud/skyux2-docs/issues/894 * Fixed href generator for lowercase type names (#49) * Updated changelog/package.json for 3.2.1 release (#50) * Added theme picker control panel to demo (#52) * Added theme picker control panel to demo * Added tests * Added theme switcher to sample page. * Addressed PR feedback * Fixed import paths * Updated CHANGELOG and package.json for 3.3.0 release (#53) * [rc] Upgrade dependencies * Added restricted view * Added to peers * Remove dev bundle Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Denise Pena Co-authored-by: Paul Crowder --- CHANGELOG.md | 4 + package-lock.json | 755 +++++++++++------- package.json | 46 +- scripts/dev-bundle.js | 10 - skyuxconfig.json | 6 +- src/app/docs/sample/sample.component.html | 4 +- .../demo-control-panel-section.component.html | 3 +- .../demo-control-panel-theme.component.html | 35 + .../demo-control-panel-theme.component.scss | 3 + ...demo-control-panel-theme.component.spec.ts | 158 ++++ .../demo-control-panel-theme.component.ts | 118 +++ .../demo/demo-control-panel.component.html | 13 +- .../demo/demo-control-panel.component.scss | 6 + .../demo/demo-control-panel.component.ts | 14 + .../public/modules/demo/demo-theme.service.ts | 20 + .../public/modules/demo/demo.component.html | 1 + .../modules/demo/demo.component.spec.ts | 73 ++ src/app/public/modules/demo/demo.component.ts | 20 +- src/app/public/modules/demo/demo.module.ts | 22 +- .../fixtures/demo-auth-token-mock-provider.ts | 15 + .../demo/fixtures/demo-fixtures.module.ts | 14 + .../demo/fixtures/demo.component.fixture.html | 3 +- .../demo/fixtures/demo.component.fixture.ts | 2 + 23 files changed, 996 insertions(+), 349 deletions(-) delete mode 100644 scripts/dev-bundle.js create mode 100644 src/app/public/modules/demo/demo-control-panel-theme.component.html create mode 100644 src/app/public/modules/demo/demo-control-panel-theme.component.scss create mode 100644 src/app/public/modules/demo/demo-control-panel-theme.component.spec.ts create mode 100644 src/app/public/modules/demo/demo-control-panel-theme.component.ts create mode 100644 src/app/public/modules/demo/demo-theme.service.ts create mode 100644 src/app/public/modules/demo/fixtures/demo-auth-token-mock-provider.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 9086717e..8d2b8b76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 3.3.0 (2020-04-30) + +- Added a theme switcher control panel to the demo component. [#52](https://github.com/blackbaud/skyux-docs-tools/pull/52) + # 4.0.0-rc.3 (2020-04-28) - Added bug fixes and features from the `master` branch. [#51](https://github.com/blackbaud/skyux-docs-tools/pull/51) diff --git a/package-lock.json b/package-lock.json index 8d880582..2e6fa633 100644 --- a/package-lock.json +++ b/package-lock.json @@ -62,27 +62,27 @@ } }, "@angular/animations": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.3.tgz", - "integrity": "sha512-QTQZSnXxr9SCgrN2SZsTMzS/UldrZ65y6Kuqs9yyghNc694eMbabgiPdeegjvcKlDhVPCN2x9Bjfb1vXPOfdvQ==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.4.tgz", + "integrity": "sha512-gMo/DbCm5BDArladMAeC7/75T2DvhLr4CSUGJt/P/aimTEG2ywoAALs3pzwSSe4qxrHiR0OIksVW3l4km3iXEw==", "dev": true }, "@angular/common": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.3.tgz", - "integrity": "sha512-OGrd/x+WoceskeJWZI3ur+KqVoBHn2kmbg57RyJ8Ng/BkdDVYiXzQ/UvvX1WYGH/YzmiiVdlnVq55xkHkzGaXw==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.4.tgz", + "integrity": "sha512-JvCoCWVbx0tF7l/0WTi24ui/mc2SElyVSNchR4VK/FViARnkvnSBdI/Ef5QWXrsPyKU4PYBtnWWgyxRspH+FBA==", "dev": true }, "@angular/compiler": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.3.tgz", - "integrity": "sha512-NTqGZUwwdm/RIG1rWPIqQwNyyRcPOmNlv+t1KpydFtycpTut0lAh0shiu57h83Cl2LgaFV4veyiAAtNmxFmqXA==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.4.tgz", + "integrity": "sha512-B+f3lviFNEJtL9V9exSKYPSz2Ddb6dxgPzQR7GSjGikDo+fKMtC1PjNwgJooS9gavhQx30uwkEEMIPYQbM6nNA==", "dev": true }, "@angular/compiler-cli": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.3.tgz", - "integrity": "sha512-FqDPmEbJQmzzxqF08CJfqT9XKJFPYdyZuFFStKkJEZ5s1JrjrBlgQSqdF0qp5jWNsjTB87USLHC5zAlzJtMKxQ==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.4.tgz", + "integrity": "sha512-n3PzqNnPD7s/AF9mv5CnarK0sgfoq4txFncHjJWBSltuTQoz6BDZyjuEdqsSLUvgAZPeLsmohemOzEE38HYHZA==", "dev": true, "requires": { "canonical-path": "1.0.0", @@ -100,33 +100,33 @@ } }, "@angular/core": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.3.tgz", - "integrity": "sha512-r+GyeCuBw9SUBzpPWhKxzTOkNYotYp3gANSWndihLC9P6W5T8Hfyg8uYcxKy7L42bpx8eXZOXFq91cioVwZtqA==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.4.tgz", + "integrity": "sha512-ND240vncmVD2KVe/KSQU3d/DxxoRipFg1+jFOFZGt0n0orCBHk/V1fu9iaG1sRyldL0+rCQ+fTI+1N4DTmMnxA==", "dev": true }, "@angular/forms": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.3.tgz", - "integrity": "sha512-t3BexN5EHgCK6q0R04AuyNb6ZUP6sd9fJ+ER98yWws3HXV6FT+J5IB7dVnhelLoU1GTnql4TJSS+LTVradKZ7g==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.4.tgz", + "integrity": "sha512-Njt+pMLfPBchL0/ayIjJqXL6ZfM4Ccvf7KO1wS1HMzh3QlmfNa0JSgc4pfrbRJAMN9g7V/FYLyKejs1bJZkenA==", "dev": true }, "@angular/platform-browser": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.3.tgz", - "integrity": "sha512-ts6b7QBp4+UpuQS0Eb+FOT4MZVPUwWtWH4iIfBILJaG/0Bk4jHZeXuLFcpgeZkwMNCZEt9f0JrhnHfvuLCez5g==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.4.tgz", + "integrity": "sha512-mBCHfTl+5tQfaUiGlDujP7mFBzovFc54Zi2kcCE8DSdSSVQ2TPBo6hXa6y2cL3hJPFZzQ7mC4ORFrsGADhHn/w==", "dev": true }, "@angular/platform-browser-dynamic": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.3.tgz", - "integrity": "sha512-9U8PkBflnQtKIZ4t0AqYUaKLg7Kx1BvJ1D/S8FZo/V5kBJK6NkGVu58XddWVc+dtO3V+vCC/VLG7fb2PMf/V5g==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.4.tgz", + "integrity": "sha512-YtVbnxyS6FU7xNpA6A95tmSfrB8+WC7OH3mbP8M9NaGk0OYz8B/JOe1HByP4JRpEGCvBtXdJ2NSW/MpLIT8SiQ==", "dev": true }, "@angular/router": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.3.tgz", - "integrity": "sha512-NmOazeJ2WVT5eTyNHXYxBRAHic6i6Ku5DgsGWBgjUIR/Qmwb/i/xpagbA9WQQZ2OrGbp4ICEYgGkikeIrlQLPA==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.4.tgz", + "integrity": "sha512-yUyjCgG2P2Jh8MvoyC6yirmAtx1Qe7MKLuLvsa9WOB571QNEcNLTYMfAMHUKsQTcE/+o984QyLlneoibgI9wFA==", "dev": true }, "@babel/code-frame": { @@ -139,12 +139,12 @@ } }, "@babel/compat-data": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.0.tgz", - "integrity": "sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.6.tgz", + "integrity": "sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==", "dev": true, "requires": { - "browserslist": "^4.9.1", + "browserslist": "^4.11.1", "invariant": "^2.2.4", "semver": "^5.5.0" }, @@ -196,12 +196,12 @@ } }, "@babel/generator": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", - "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz", + "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==", "dev": true, "requires": { - "@babel/types": "^7.9.5", + "@babel/types": "^7.9.6", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" @@ -235,13 +235,13 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz", - "integrity": "sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz", + "integrity": "sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==", "dev": true, "requires": { - "@babel/compat-data": "^7.8.6", - "browserslist": "^4.9.1", + "@babel/compat-data": "^7.9.6", + "browserslist": "^4.11.1", "invariant": "^2.2.4", "levenary": "^1.1.1", "semver": "^5.5.0" @@ -387,15 +387,15 @@ } }, "@babel/helper-replace-supers": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", - "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz", + "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==", "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.8.3", "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/traverse": "^7.9.6", + "@babel/types": "^7.9.6" } }, "@babel/helper-simple-access": { @@ -436,14 +436,14 @@ } }, "@babel/helpers": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.2.tgz", - "integrity": "sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz", + "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==", "dev": true, "requires": { "@babel/template": "^7.8.3", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0" + "@babel/traverse": "^7.9.6", + "@babel/types": "^7.9.6" } }, "@babel/highlight": { @@ -458,9 +458,9 @@ } }, "@babel/parser": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", - "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz", + "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { @@ -515,9 +515,9 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.5.tgz", - "integrity": "sha512-VP2oXvAf7KCYTthbUHwBlewbl1Iq059f6seJGsxMizaCdgHIeczOr7FBqELhSqfkIl04Fi8okzWzl63UKbQmmg==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz", + "integrity": "sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3", @@ -776,38 +776,38 @@ } }, "@babel/plugin-transform-modules-amd": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz", - "integrity": "sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz", + "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.9.0", "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz", - "integrity": "sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz", + "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.9.0", "@babel/helper-plugin-utils": "^7.8.3", "@babel/helper-simple-access": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz", - "integrity": "sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz", + "integrity": "sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.8.3", "@babel/helper-module-transforms": "^7.9.0", "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { @@ -1032,9 +1032,9 @@ } }, "@babel/runtime": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", - "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", + "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" @@ -1052,26 +1052,26 @@ } }, "@babel/traverse": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", - "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz", + "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.5", + "@babel/generator": "^7.9.6", "@babel/helper-function-name": "^7.9.5", "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.5", + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" } }, "@babel/types": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", - "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz", + "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.9.5", @@ -1145,6 +1145,12 @@ "integrity": "sha512-4bYwVG02VyU1CSbHSH3tCy7muFaEexNg/aeHtOaLexBGQ0iOw2TxtdHHZ7nX5aP9xWdFmfiMTvI0t1j16TLFBA==", "dev": true }, + "@blackbaud/skyux-lib-restricted-view": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@blackbaud/skyux-lib-restricted-view/-/skyux-lib-restricted-view-2.0.0-rc.0.tgz", + "integrity": "sha512-yKYLcLi+fu5rZ/jZpeNS9krTC1LzkxKicKBL2/zTd83BGjco5bBXitcmU19J+HPQNjzjR0vpnzCkE84XaQ/N/g==", + "dev": true + }, "@blackbaud/skyux-lib-stache": { "version": "4.0.0-rc.2", "resolved": "https://registry.npmjs.org/@blackbaud/skyux-lib-stache/-/skyux-lib-stache-4.0.0-rc.2.tgz", @@ -1362,27 +1368,44 @@ } }, "@skyux-sdk/builder-plugin-skyux": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@skyux-sdk/builder-plugin-skyux/-/builder-plugin-skyux-1.3.3.tgz", - "integrity": "sha512-c+uVLcVV19bGSDGa0GkDhMYpcQ+lSMk438aEDafsuxG3hAXFvTGuLI5yGcD+xUWDvbINdxedW6elrXWkPDaZYg==", + "version": "4.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@skyux-sdk/builder-plugin-skyux/-/builder-plugin-skyux-4.0.0-rc.0.tgz", + "integrity": "sha512-6KSsF4L7qkp2s7lFBfMf7WYbHFLhkpcWLyIYbaLZnSI+cohlQ1j0Z+si2X301JWIbkT7Gyxgz2SOTyXr4eJhIQ==", "dev": true, "requires": { "@blackbaud/skyux-logger": "1.1.2", - "fs-extra": "8.1.0", + "fs-extra": "9.0.0", "glob": "7.1.6", - "typedoc": "0.16.9" + "typedoc": "0.17.6" }, "dependencies": { "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==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", + "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true } } }, @@ -1397,9 +1420,9 @@ } }, "@skyux-sdk/testing": { - "version": "4.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@skyux-sdk/testing/-/testing-4.0.0-rc.1.tgz", - "integrity": "sha512-2oL2GwuKafC60IdAy3AWgOIYVbMjwyliNleiKSH+ytytQJIBAR1XsOa5tv3oLAF+/SlHqz2kZls3mnPzUI6wFg==", + "version": "4.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@skyux-sdk/testing/-/testing-4.0.0-rc.2.tgz", + "integrity": "sha512-FMEh+lfyvlIVZIuGUxlsF+dBFjWPmGkQWnzrtt19en5Zu2u69w7Io+OsQo9c3R1ZVw7yBNXxlRbuQC/00mv+lw==", "dev": true, "requires": { "@types/axe-core": "2.0.7", @@ -1425,9 +1448,9 @@ "dev": true }, "@skyux/avatar": { - "version": "4.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@skyux/avatar/-/avatar-4.0.0-rc.0.tgz", - "integrity": "sha512-e8ElyQcwvHdXI94bdjJ+dj+sFTjj9uHnMIvpeNuJ6qFBob22D+SBrBodfT6WE7Y2ayMKFwDLdu0Ws6jsybtFpw==", + "version": "4.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@skyux/avatar/-/avatar-4.0.0-rc.2.tgz", + "integrity": "sha512-1nqujf4snH+vM3yAXWXNm4+9engBDUwJMJQLeYShAizWwwCETzMHi+tDKs+PtobfFn2mhRb3KAKsGlLtOoD8GQ==", "dev": true }, "@skyux/config": { @@ -1443,9 +1466,9 @@ "dev": true }, "@skyux/errors": { - "version": "4.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@skyux/errors/-/errors-4.0.0-rc.0.tgz", - "integrity": "sha512-m4RWnoM6+VshskCZwI5eDtz0acdZnIxZu1fdtezQueCUWme5KavAF7nSRCXqE5Sfoq28TyDeFfzrZvyOB3+Rog==", + "version": "4.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@skyux/errors/-/errors-4.0.0-rc.1.tgz", + "integrity": "sha512-3sE0WkyZ9lUPNlXtz0r5DFPCjVwenxValSs0k7PiNqbj69tSemomkqTOBfJZGJfnZRU+F8QDmeenNl0zgarD+A==", "dev": true }, "@skyux/forms": { @@ -1471,9 +1494,9 @@ "dev": true }, "@skyux/indicators": { - "version": "4.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@skyux/indicators/-/indicators-4.0.0-rc.4.tgz", - "integrity": "sha512-CkMsa9u634tcdJ2WdVevkWuK4jkB9xJV2PZm0Xstr1myzcrbZIeosWAjK86Ywhk8L0qyspTjpMEwBtQOQq+ItA==", + "version": "4.0.0-rc.5", + "resolved": "https://registry.npmjs.org/@skyux/indicators/-/indicators-4.0.0-rc.5.tgz", + "integrity": "sha512-ZxLnmVtiwMw8ed3C1sNqMuUyQO6ALJh+8H50gg/vyUUv2wQaA/kwa0EWPcU5IGnU7YG8xxm0lD6mgEO21F7iXA==", "dev": true }, "@skyux/inline-form": { @@ -1483,9 +1506,9 @@ "dev": true }, "@skyux/layout": { - "version": "4.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@skyux/layout/-/layout-4.0.0-rc.3.tgz", - "integrity": "sha512-19oZdsGIGwRKFyE/lJbW57zvpLtoQzHltltzqOR+5WeFcfyZsHfud/ZMEUmXN+sAvBGjYwjLE7ZAezHWoN/tcw==", + "version": "4.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@skyux/layout/-/layout-4.0.0-rc.4.tgz", + "integrity": "sha512-NTHYPN7CXwbJQ3hzbREXHHV7dJY5g3cX8iOa2+kXLStlYW9PHW8fKtSkwdXF5/OTJ0aykV7HVlGD8AnY167PvQ==", "dev": true }, "@skyux/lists": { @@ -1499,9 +1522,9 @@ } }, "@skyux/lookup": { - "version": "4.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@skyux/lookup/-/lookup-4.0.0-rc.2.tgz", - "integrity": "sha512-wlstkxn+9twhXWYgJ5WwLEiZFbq//4mgkRM2eXbXe0OrWi0sID1Id6H0MVGq1viG5oV3S+HcjdPtMzfU9JSDpw==", + "version": "4.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@skyux/lookup/-/lookup-4.0.0-rc.3.tgz", + "integrity": "sha512-z1KW4GJp2C5Umnf8dJi6+E5HdJvex7L6YsfNa3MKBLNuI9LKRwVsgIrfjQq4zjlISWRY+Ymhgh+mDC4PMOhOnA==", "dev": true, "requires": { "@types/intl-tel-input": "14.0.1", @@ -1539,9 +1562,9 @@ "dev": true }, "@skyux/tabs": { - "version": "4.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@skyux/tabs/-/tabs-4.0.0-rc.0.tgz", - "integrity": "sha512-gbfQy5nthbHwxC4QuKNC5SghyozdiqUZetEReufP8IZBhxlIeAIPzgIdEal8Vyhu3UQjlcXpgr3SS1WpA25++g==", + "version": "4.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@skyux/tabs/-/tabs-4.0.0-rc.1.tgz", + "integrity": "sha512-I6q3kkmcZyipvjQHKjUMYejEVFEHBd5I6bMvkqJrw1GLzHkLD/mz5qSVMKcY5vfm2TscQyutoW6kSF0PNl+CeQ==", "dev": true }, "@skyux/theme": { @@ -2679,15 +2702,6 @@ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "backbone": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz", - "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==", - "dev": true, - "requires": { - "underscore": ">=1.8.3" - } - }, "backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", @@ -4634,9 +4648,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.421", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.421.tgz", - "integrity": "sha512-ogxgmvHGfDuLA+GtgfK0jkFWlBb4MCZK2U1MM+l98sf4U3Ixtrfw1iC9w4mQqNvo+lHgM4pR62TqoT4QrvKJCw==", + "version": "1.3.426", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.426.tgz", + "integrity": "sha512-sdQ7CXQbFflKY5CU63ra+kIYq9F7d1OqI33856qJZxTrwo0sLASdmoRl9lWpGrQDS9Nk/RFliQWd3PPDrZ+Meg==", "dev": true }, "elliptic": { @@ -5894,9 +5908,9 @@ } }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, "growly": { @@ -6060,13 +6074,22 @@ "dev": true }, "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true + } } }, "hash-file": { @@ -6105,9 +6128,9 @@ "dev": true }, "highlight.js": { - "version": "9.18.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", - "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.0.1.tgz", + "integrity": "sha512-l1HB5S9nmBuvurFIOPbpeJv4psKh2MyKCTOYRK/E6dwRXkbG96PLH7amP/xpGNyZOK8OWqv45DxLS/ZAIb3n9w==", "dev": true }, "hmac-drbg": { @@ -6187,9 +6210,9 @@ "dev": true }, "html-minifier-terser": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.5.tgz", - "integrity": "sha512-cBSFFghQh/uHcfSiL42KxxIRMF7A144+3E44xdlctIjxEmkEfCvouxNyFH2wysXk1fCGBPwtcr3hDWlGTfkDew==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz", + "integrity": "sha512-tiYE76O1zunboByeB/nFGwUEb263Z3nkNv6Lz2oLC1s6M36bLKfTrjQ+7ssVfaucVllE+N7hh/FbpbxvnIA+LQ==", "dev": true, "requires": { "camel-case": "^4.1.1", @@ -7183,12 +7206,6 @@ "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", "dev": true }, - "jquery": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.0.tgz", - "integrity": "sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ==", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -9564,12 +9581,6 @@ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", "dev": true - }, - "underscore": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", - "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", - "dev": true } } }, @@ -12119,9 +12130,9 @@ "dev": true }, "terser": { - "version": "4.6.12", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.12.tgz", - "integrity": "sha512-fnIwuaKjFPANG6MAixC/k1TDtnl1YlPLUlLVIxxGZUn1gfUx2+l3/zGNB72wya+lgsb50QBi2tUV75RiODwnww==", + "version": "4.6.13", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz", + "integrity": "sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -12482,22 +12493,21 @@ } }, "typedoc": { - "version": "0.16.9", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.16.9.tgz", - "integrity": "sha512-UvOGoy76yqwCXwxPgatwgXWfsQ3FczyZ6ZNLjhCPK+TsDir6LiU3YB6N9XZmPv36E+7LA860mnc8a0v6YADKFw==", + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.17.6.tgz", + "integrity": "sha512-pQiYnhG3yJk7939cv2n8uFoTsSgy5Hfiw0dgOQYa9nT9Ya1013dMctQdAXMj8JbNu7KhcauQyq9Zql9D/TziLw==", "dev": true, "requires": { - "@types/minimatch": "3.0.3", "fs-extra": "^8.1.0", - "handlebars": "^4.7.2", - "highlight.js": "^9.17.1", + "handlebars": "^4.7.6", + "highlight.js": "^10.0.0", "lodash": "^4.17.15", - "marked": "^0.8.0", + "lunr": "^2.3.8", + "marked": "1.0.0", "minimatch": "^3.0.0", "progress": "^2.0.3", - "shelljs": "^0.8.3", - "typedoc-default-themes": "^0.7.2", - "typescript": "3.7.x" + "shelljs": "^0.8.4", + "typedoc-default-themes": "^0.10.1" }, "dependencies": { "fs-extra": { @@ -12511,24 +12521,21 @@ "universalify": "^0.1.0" } }, - "typescript": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz", - "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==", + "marked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.0.0.tgz", + "integrity": "sha512-Wo+L1pWTVibfrSr+TTtMuiMfNzmZWiOPeO7rZsQUY5bgsxpHesBEcIWJloWVTFnrMXnf/TL30eTFSGJddmQAng==", "dev": true } } }, "typedoc-default-themes": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.7.2.tgz", - "integrity": "sha512-fiFKlFO6VTqjcno8w6WpTsbCgXmfPHVjnLfYkmByZE7moaz+E2DSpAT+oHtDHv7E0BM5kAhPrHJELP2J2Y2T9A==", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.10.1.tgz", + "integrity": "sha512-SuqAQI0CkwhqSJ2kaVTgl37cWs733uy9UGUqwtcds8pkFK8oRF4rZmCq+FXTGIb9hIUOu40rf5Kojg0Ha6akeg==", "dev": true, "requires": { - "backbone": "^1.4.0", - "jquery": "^3.4.1", - "lunr": "^2.3.8", - "underscore": "^1.9.1" + "lunr": "^2.3.8" } }, "typescript": { @@ -12569,9 +12576,9 @@ "dev": true }, "underscore": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.10.2.tgz", - "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", "dev": true }, "unicode-canonical-property-names-ecmascript": { @@ -13019,25 +13026,29 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "optional": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "optional": true, "requires": { @@ -13047,13 +13058,15 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "optional": true, "requires": { @@ -13063,37 +13076,43 @@ }, "chownr": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, "debug": { "version": "3.2.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "optional": true, "requires": { @@ -13102,25 +13121,29 @@ }, "deep-extend": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "dev": true, "optional": true, "requires": { @@ -13129,13 +13152,15 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, "requires": { @@ -13151,7 +13176,8 @@ }, "glob": { "version": "7.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "optional": true, "requires": { @@ -13165,13 +13191,15 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", - "bundled": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "optional": true, "requires": { @@ -13180,7 +13208,8 @@ }, "ignore-walk": { "version": "3.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", "dev": true, "optional": true, "requires": { @@ -13189,7 +13218,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, "requires": { @@ -13199,19 +13229,22 @@ }, "inherits": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true, "optional": true }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "optional": true, "requires": { @@ -13220,13 +13253,15 @@ }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "optional": true, "requires": { @@ -13235,13 +13270,15 @@ }, "minimist": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true, "optional": true }, "minipass": { "version": "2.9.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "dev": true, "optional": true, "requires": { @@ -13251,7 +13288,8 @@ }, "minizlib": { "version": "1.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "dev": true, "optional": true, "requires": { @@ -13260,7 +13298,8 @@ }, "mkdirp": { "version": "0.5.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "dev": true, "optional": true, "requires": { @@ -13269,13 +13308,15 @@ }, "ms": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, "optional": true }, "needle": { "version": "2.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.3.tgz", + "integrity": "sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==", "dev": true, "optional": true, "requires": { @@ -13286,7 +13327,8 @@ }, "node-pre-gyp": { "version": "0.14.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", "dev": true, "optional": true, "requires": { @@ -13304,7 +13346,8 @@ }, "nopt": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", "dev": true, "optional": true, "requires": { @@ -13314,7 +13357,8 @@ }, "npm-bundled": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", "dev": true, "optional": true, "requires": { @@ -13323,13 +13367,15 @@ }, "npm-normalize-package-bin": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.4.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", "dev": true, "optional": true, "requires": { @@ -13340,7 +13386,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, "requires": { @@ -13352,19 +13399,22 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "optional": true, "requires": { @@ -13373,19 +13423,22 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, "requires": { @@ -13395,19 +13448,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true, "optional": true }, "rc": { "version": "1.2.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "optional": true, "requires": { @@ -13419,7 +13475,8 @@ }, "readable-stream": { "version": "2.3.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "optional": true, "requires": { @@ -13434,7 +13491,8 @@ }, "rimraf": { "version": "2.7.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "optional": true, "requires": { @@ -13443,43 +13501,50 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.7.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "optional": true, "requires": { @@ -13490,7 +13555,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { @@ -13499,7 +13565,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "optional": true, "requires": { @@ -13508,13 +13575,15 @@ }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.13", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "dev": true, "optional": true, "requires": { @@ -13529,13 +13598,15 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "optional": true, "requires": { @@ -13544,13 +13615,15 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true, "optional": true }, "yallist": { "version": "3.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, "optional": true } @@ -14338,25 +14411,29 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "optional": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "optional": true, "requires": { @@ -14366,13 +14443,15 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "optional": true, "requires": { @@ -14382,37 +14461,43 @@ }, "chownr": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, "debug": { "version": "3.2.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "optional": true, "requires": { @@ -14421,25 +14506,29 @@ }, "deep-extend": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "dev": true, "optional": true, "requires": { @@ -14448,13 +14537,15 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, "requires": { @@ -14470,7 +14561,8 @@ }, "glob": { "version": "7.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "optional": true, "requires": { @@ -14484,13 +14576,15 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", - "bundled": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "optional": true, "requires": { @@ -14499,7 +14593,8 @@ }, "ignore-walk": { "version": "3.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", "dev": true, "optional": true, "requires": { @@ -14508,7 +14603,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, "requires": { @@ -14518,19 +14614,22 @@ }, "inherits": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true, "optional": true }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "optional": true, "requires": { @@ -14539,13 +14638,15 @@ }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "optional": true, "requires": { @@ -14554,13 +14655,15 @@ }, "minimist": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true, "optional": true }, "minipass": { "version": "2.9.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "dev": true, "optional": true, "requires": { @@ -14570,7 +14673,8 @@ }, "minizlib": { "version": "1.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "dev": true, "optional": true, "requires": { @@ -14579,7 +14683,8 @@ }, "mkdirp": { "version": "0.5.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "dev": true, "optional": true, "requires": { @@ -14588,13 +14693,15 @@ }, "ms": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, "optional": true }, "needle": { "version": "2.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.3.tgz", + "integrity": "sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==", "dev": true, "optional": true, "requires": { @@ -14605,7 +14712,8 @@ }, "node-pre-gyp": { "version": "0.14.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", "dev": true, "optional": true, "requires": { @@ -14623,7 +14731,8 @@ }, "nopt": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", "dev": true, "optional": true, "requires": { @@ -14633,7 +14742,8 @@ }, "npm-bundled": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", "dev": true, "optional": true, "requires": { @@ -14642,13 +14752,15 @@ }, "npm-normalize-package-bin": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.4.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", "dev": true, "optional": true, "requires": { @@ -14659,7 +14771,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, "requires": { @@ -14671,19 +14784,22 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "optional": true, "requires": { @@ -14692,19 +14808,22 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, "requires": { @@ -14714,19 +14833,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true, "optional": true }, "rc": { "version": "1.2.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "optional": true, "requires": { @@ -14738,7 +14860,8 @@ }, "readable-stream": { "version": "2.3.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "optional": true, "requires": { @@ -14753,7 +14876,8 @@ }, "rimraf": { "version": "2.7.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "optional": true, "requires": { @@ -14762,43 +14886,50 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.7.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "optional": true, "requires": { @@ -14809,7 +14940,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { @@ -14818,7 +14950,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "optional": true, "requires": { @@ -14827,13 +14960,15 @@ }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.13", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "dev": true, "optional": true, "requires": { @@ -14848,13 +14983,15 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "optional": true, "requires": { @@ -14863,13 +15000,15 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true, "optional": true }, "yallist": { "version": "3.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, "optional": true } diff --git a/package.json b/package.json index 726f58df..a17efc66 100644 --- a/package.json +++ b/package.json @@ -5,11 +5,11 @@ "scripts": { "build": "skyux build-public-library && node ./scripts/prepare-package.js", "build:ci": "npm run build", - "build:dev-bundle": "npm run build && node ./scripts/dev-bundle.js", - "start": "npm run build:dev-bundle && skyux serve", - "test": "npm run build:dev-bundle && skyux test --coverage library --logFormat none", - "test:ci": "npm run build:dev-bundle && skyux test --platform travis --coverage library --logFormat none && skyux e2e --platform travis --logFormat none", - "visual": "npm run build:dev-bundle && skyux e2e" + "test": "skyux test --coverage library", + "test:watch": "skyux watch --coverage library", + "start": "skyux serve", + "e2e": "skyux e2e", + "lint": "skyux lint" }, "keywords": [], "author": "Blackbaud", @@ -26,6 +26,7 @@ "@blackbaud/skyux-lib-code-block": "^2.0.0-rc.3", "@blackbaud/skyux-lib-clipboard": "^2.0.0-rc.0", "@blackbaud/skyux-lib-media": "^2.0.0-rc.0", + "@blackbaud/skyux-lib-restricted-view": "^2.0.0-rc.0", "@blackbaud/skyux-lib-stache": "^4.0.0-rc.2", "@skyux/forms": "^4.0.0-rc.0", "@skyux/i18n": "^4.0.0-rc.5", @@ -41,45 +42,46 @@ "marked": "0.8.2" }, "devDependencies": { - "@angular/animations": "9.1.3", - "@angular/common": "9.1.3", - "@angular/compiler": "9.1.3", - "@angular/compiler-cli": "9.1.3", - "@angular/core": "9.1.3", - "@angular/forms": "9.1.3", - "@angular/platform-browser": "9.1.3", - "@angular/platform-browser-dynamic": "9.1.3", - "@angular/router": "9.1.3", + "@angular/animations": "9.1.4", + "@angular/common": "9.1.4", + "@angular/compiler": "9.1.4", + "@angular/compiler-cli": "9.1.4", + "@angular/core": "9.1.4", + "@angular/forms": "9.1.4", + "@angular/platform-browser": "9.1.4", + "@angular/platform-browser-dynamic": "9.1.4", + "@angular/router": "9.1.4", "@blackbaud/auth-client": "2.24.0", "@blackbaud/skyux-builder-plugin-code-block": "1.1.0", "@blackbaud/skyux-lib-clipboard": "2.0.0-rc.0", "@blackbaud/skyux-lib-code-block": "2.0.0-rc.3", "@blackbaud/skyux-lib-media": "2.0.0-rc.0", + "@blackbaud/skyux-lib-restricted-view": "2.0.0-rc.0", "@blackbaud/skyux-lib-stache": "4.0.0-rc.2", "@skyux-sdk/builder": "4.0.0-rc.7", - "@skyux-sdk/builder-plugin-skyux": "1.3.3", + "@skyux-sdk/builder-plugin-skyux": "4.0.0-rc.0", "@skyux-sdk/e2e": "4.0.0-rc.0", - "@skyux-sdk/testing": "4.0.0-rc.1", + "@skyux-sdk/testing": "4.0.0-rc.2", "@skyux/animations": "4.0.0-rc.0", "@skyux/assets": "4.0.0-rc.1", - "@skyux/avatar": "4.0.0-rc.0", + "@skyux/avatar": "4.0.0-rc.2", "@skyux/config": "4.0.0-rc.3", "@skyux/core": "4.0.0-rc.4", - "@skyux/errors": "4.0.0-rc.0", + "@skyux/errors": "4.0.0-rc.1", "@skyux/forms": "4.0.0-rc.0", "@skyux/http": "4.0.0-rc.3", "@skyux/i18n": "4.0.0-rc.5", - "@skyux/indicators": "4.0.0-rc.4", + "@skyux/indicators": "4.0.0-rc.5", "@skyux/inline-form": "4.0.0-rc.0", - "@skyux/layout": "4.0.0-rc.3", + "@skyux/layout": "4.0.0-rc.4", "@skyux/lists": "4.0.0-rc.2", - "@skyux/lookup": "4.0.0-rc.2", + "@skyux/lookup": "4.0.0-rc.3", "@skyux/modals": "4.0.0-rc.4", "@skyux/navbar": "4.0.0-rc.0", "@skyux/omnibar-interop": "4.0.0-rc.0", "@skyux/popovers": "4.0.0-rc.3", "@skyux/router": "4.0.0-rc.0", - "@skyux/tabs": "4.0.0-rc.0", + "@skyux/tabs": "4.0.0-rc.1", "@skyux/theme": "4.0.0-rc.5", "codelyzer": "5.2.2", "node-sass-tilde-importer": "1.0.2", diff --git a/scripts/dev-bundle.js b/scripts/dev-bundle.js deleted file mode 100644 index 2b531b7a..00000000 --- a/scripts/dev-bundle.js +++ /dev/null @@ -1,10 +0,0 @@ -const fs = require('fs-extra'); -const rimraf = require('rimraf'); - -const json = fs.readJsonSync('./package.json'); -const dest = `./node_modules/${json.name}`; - -rimraf.sync(dest); - -fs.ensureDirSync(dest); -fs.copySync('./dist', dest); diff --git a/skyuxconfig.json b/skyuxconfig.json index 7e526321..02e20841 100644 --- a/skyuxconfig.json +++ b/skyuxconfig.json @@ -10,7 +10,11 @@ "app": { "styles": [ "src/app/public/styles/docs-tools.scss" - ] + ], + "theming": { + "supportedThemes": ["default", "modern"], + "theme": "default" + } }, "librarySettings": { "whitelistedNonPeerDependencies": [ diff --git a/src/app/docs/sample/sample.component.html b/src/app/docs/sample/sample.component.html index 0d78c729..36b53ff4 100644 --- a/src/app/docs/sample/sample.component.html +++ b/src/app/docs/sample/sample.component.html @@ -7,7 +7,9 @@ Sample descriptionn. - + - \ No newline at end of file + + diff --git a/src/app/public/modules/demo/demo-control-panel-theme.component.html b/src/app/public/modules/demo/demo-control-panel-theme.component.html new file mode 100644 index 00000000..86f97776 --- /dev/null +++ b/src/app/public/modules/demo/demo-control-panel-theme.component.html @@ -0,0 +1,35 @@ +Theme + +
    +
  • + + {{ themeOption.label }} + +
  • +
+
+ +Mode + +
    +
  • + + {{ modeOption.label }} + +
  • +
+
diff --git a/src/app/public/modules/demo/demo-control-panel-theme.component.scss b/src/app/public/modules/demo/demo-control-panel-theme.component.scss new file mode 100644 index 00000000..633f78de --- /dev/null +++ b/src/app/public/modules/demo/demo-control-panel-theme.component.scss @@ -0,0 +1,3 @@ +ul { + margin: 0; +} diff --git a/src/app/public/modules/demo/demo-control-panel-theme.component.spec.ts b/src/app/public/modules/demo/demo-control-panel-theme.component.spec.ts new file mode 100644 index 00000000..53febba6 --- /dev/null +++ b/src/app/public/modules/demo/demo-control-panel-theme.component.spec.ts @@ -0,0 +1,158 @@ +import { + DebugElement +} from '@angular/core'; + +import { + ComponentFixture, + TestBed +} from '@angular/core/testing'; + +import { + By +} from '@angular/platform-browser'; + +import { + SkyTheme, + SkyThemeMode, + SkyThemeSettings +} from '@skyux/theme'; + +import { + expect +} from '@skyux-sdk/testing'; + +import { + SkyDocsDemoModule +} from './demo.module'; + +import { + SkyDocsDemoControlPanelThemeComponent +} from './demo-control-panel-theme.component'; + +describe('Demo control panel theme', () => { + + function getRadioEls( + fixture: ComponentFixture, + name: string + ): DebugElement[] { + return fixture.debugElement.queryAll(By.css(`sky-radio-group[name="${name}"] sky-radio`)); + } + + function getRadioLabelEl(radioEl: DebugElement): DebugElement { + return radioEl.query(By.css('.sky-switch-label')); + } + + function getRadioInputEl(radioEl: DebugElement): DebugElement { + return radioEl.query(By.css('input[type="radio"]')); + } + + function validateRadioItem( + radioEl: DebugElement, + expectedLabel: string, + expectedValue: string + ): void { + const labelEl = getRadioLabelEl(radioEl); + const inputEl = getRadioInputEl(radioEl); + + expect(labelEl.nativeElement).toHaveText(expectedLabel); + expect(inputEl.nativeElement.value).toBe(expectedValue); + } + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ + SkyDocsDemoModule + ] + }); + }); + + it('should render the expected radio buttons', () => { + const fixture = TestBed.createComponent(SkyDocsDemoControlPanelThemeComponent); + + fixture.detectChanges(); + + const themeRadioEls = getRadioEls(fixture, 'theme'); + + validateRadioItem( + themeRadioEls[0], + 'Default', + 'default' + ); + + validateRadioItem( + themeRadioEls[1], + 'Modern', + 'modern' + ); + + const modeRadioEls = getRadioEls(fixture, 'mode'); + + expect(modeRadioEls.length).toBe(1); + + validateRadioItem( + modeRadioEls[0], + 'Light', + 'light' + ); + }); + + it('should update the mode options based on the selected theme\'s supported modes', () => { + const fixture = TestBed.createComponent(SkyDocsDemoControlPanelThemeComponent); + + fixture.detectChanges(); + + const themeRadioEls = getRadioEls(fixture, 'theme'); + + getRadioInputEl(themeRadioEls[1]).nativeElement.click(); + + fixture.detectChanges(); + + const modeRadioEls = getRadioEls(fixture, 'mode'); + + expect(modeRadioEls.length).toBe(2); + + validateRadioItem( + modeRadioEls[0], + 'Light', + 'light' + ); + + validateRadioItem( + modeRadioEls[1], + 'Dark', + 'dark' + ); + }); + + it('should fire the settings change event when a theme or mode is selected', () => { + const fixture = TestBed.createComponent(SkyDocsDemoControlPanelThemeComponent); + + const themeSettingsChangeEmitSpy = spyOn(fixture.componentInstance.themeSettingsChange, 'emit').and.callThrough(); + + fixture.detectChanges(); + + const themeRadioEls = getRadioEls(fixture, 'theme'); + + getRadioInputEl(themeRadioEls[1]).nativeElement.click(); + + fixture.detectChanges(); + + expect(themeSettingsChangeEmitSpy).toHaveBeenCalledWith( + new SkyThemeSettings( + SkyTheme.presets.modern, + SkyThemeMode.presets.light + ) + ); + + const modeRadioEls = getRadioEls(fixture, 'mode'); + + getRadioInputEl(modeRadioEls[1]).nativeElement.click(); + + expect(themeSettingsChangeEmitSpy).toHaveBeenCalledWith( + new SkyThemeSettings( + SkyTheme.presets.modern, + SkyThemeMode.presets.dark + ) + ); + }); +}); diff --git a/src/app/public/modules/demo/demo-control-panel-theme.component.ts b/src/app/public/modules/demo/demo-control-panel-theme.component.ts new file mode 100644 index 00000000..530c9d76 --- /dev/null +++ b/src/app/public/modules/demo/demo-control-panel-theme.component.ts @@ -0,0 +1,118 @@ +import { + ChangeDetectionStrategy, + Component, + EventEmitter, + OnInit, + Output +} from '@angular/core'; + +import { + SkyTheme, + SkyThemeMode, + SkyThemeSettings +} from '@skyux/theme'; + +@Component({ + selector: 'sky-docs-demo-control-panel-theme', + templateUrl: './demo-control-panel-theme.component.html', + styleUrls: ['./demo-control-panel-theme.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class SkyDocsDemoControlPanelThemeComponent implements OnInit { + + @Output() + public themeSettingsChange = new EventEmitter(); + + public get mode(): string { + return this._mode; + } + + public set mode(value: string) { + this._mode = value; + this.updateTheme(); + } + + public get theme(): string { + return this._theme; + } + + public set theme(value: string) { + this._theme = value; + this.updateModesForTheme(); + this.updateTheme(); + } + + public themeOptions: { + label: string, + value: string + }[]; + + public modeOptions: { + label: string, + value: string + }[]; + + private _mode = 'light'; + + private _theme = 'default'; + + public ngOnInit(): void { + this.themeOptions = Object.keys(SkyTheme.presets).map( + key => this.createRadioItem(key) + ); + + this.updateModesForTheme(); + this.updateTheme(); + } + + private updateModesForTheme(): void { + let selectedTheme = this.getThemeByName(this.theme); + + this.modeOptions = selectedTheme.supportedModes + .map( + supportedMode => this.createRadioItem(supportedMode.name) + ); + + if (!this.modeOptions.some((item) => item.value === this.mode)) { + this.mode = this.modeOptions[0].value; + } + } + + private createRadioItem(name: string): { label: string, value: string } { + return { + label: this.capitalize(name), + value: name + }; + } + + private capitalize(name: string): string { + return name.charAt(0).toUpperCase() + name.substr(1); + } + + private getThemeSettings(): SkyThemeSettings { + return new SkyThemeSettings( + this.getThemeByName(this.theme), + this.getModeByName(this.mode) + ); + } + + private getThemeByName(name: string): SkyTheme { + const themePresets = SkyTheme.presets as { + [key: string]: SkyTheme + }; + + return themePresets[name]; + } + + private getModeByName(name: string): SkyThemeMode { + const modePresets = SkyThemeMode.presets as { + [key: string]: SkyThemeMode + }; + + return modePresets[name]; + } + + private updateTheme(): void { + this.themeSettingsChange.emit(this.getThemeSettings()); + } +} diff --git a/src/app/public/modules/demo/demo-control-panel.component.html b/src/app/public/modules/demo/demo-control-panel.component.html index 89a34c93..5fe30314 100644 --- a/src/app/public/modules/demo/demo-control-panel.component.html +++ b/src/app/public/modules/demo/demo-control-panel.component.html @@ -14,5 +14,16 @@ {{ 'sky-docs-demo-control-panel-reset-button-label' | skyLibResources }} + + +
+ +
+
+
- \ No newline at end of file + diff --git a/src/app/public/modules/demo/demo-control-panel.component.scss b/src/app/public/modules/demo/demo-control-panel.component.scss index a7d4a64b..e17418f8 100644 --- a/src/app/public/modules/demo/demo-control-panel.component.scss +++ b/src/app/public/modules/demo/demo-control-panel.component.scss @@ -32,3 +32,9 @@ border: 0; } } + +.sky-docs-demo-control-panel-theme-column { + @include sky-border(dark, left); + height: 100%; + padding-left: $sky-padding-double; +} diff --git a/src/app/public/modules/demo/demo-control-panel.component.ts b/src/app/public/modules/demo/demo-control-panel.component.ts index e0939c02..6dc1311d 100644 --- a/src/app/public/modules/demo/demo-control-panel.component.ts +++ b/src/app/public/modules/demo/demo-control-panel.component.ts @@ -19,6 +19,10 @@ import { takeUntil } from 'rxjs/operators'; +import { + SkyThemeSettings +} from '@skyux/theme'; + import { SkyDocsDemoControlPanelCheckboxComponent } from './demo-control-panel-checkbox.component'; @@ -31,6 +35,10 @@ import { SkyDocsDemoControlPanelChange } from './demo-control-panel-change'; +import { + SkyDocsDemoThemeService +} from './demo-theme.service'; + /** * Handles the appearance and configuration of the behavior demo control panel. * @example @@ -71,6 +79,8 @@ export class SkyDocsDemoControlPanelComponent implements OnDestroy, AfterContent private eventListeners: Subscription; private ngUnsubscribe = new Subject(); + constructor(public demoThemeSvc: SkyDocsDemoThemeService) { } + public ngAfterContentInit(): void { this.addEventListeners(); @@ -105,6 +115,10 @@ export class SkyDocsDemoControlPanelComponent implements OnDestroy, AfterContent this.reset.emit(); } + public onThemeSettingsChange(themeSettings: SkyThemeSettings): void { + this.demoThemeSvc.themeSettings.next(themeSettings); + } + private addEventListeners(): void { if (this.eventListeners) { this.eventListeners.unsubscribe(); diff --git a/src/app/public/modules/demo/demo-theme.service.ts b/src/app/public/modules/demo/demo-theme.service.ts new file mode 100644 index 00000000..74770ba5 --- /dev/null +++ b/src/app/public/modules/demo/demo-theme.service.ts @@ -0,0 +1,20 @@ +import { + Injectable +} from '@angular/core'; + +import { + BehaviorSubject +} from 'rxjs'; + +import { + SkyThemeSettings +} from '@skyux/theme'; + +@Injectable() +export class SkyDocsDemoThemeService { + + public readonly supportsTheming = new BehaviorSubject(false); + + public readonly themeSettings = new BehaviorSubject(undefined); + +} diff --git a/src/app/public/modules/demo/demo.component.html b/src/app/public/modules/demo/demo.component.html index 92874b7d..0be2560b 100644 --- a/src/app/public/modules/demo/demo.component.html +++ b/src/app/public/modules/demo/demo.component.html @@ -50,6 +50,7 @@
diff --git a/src/app/public/modules/demo/demo.component.spec.ts b/src/app/public/modules/demo/demo.component.spec.ts index a79f9ac5..9889c314 100644 --- a/src/app/public/modules/demo/demo.component.spec.ts +++ b/src/app/public/modules/demo/demo.component.spec.ts @@ -1,3 +1,7 @@ +import { + DebugElement +} from '@angular/core'; + import { ComponentFixture, fakeAsync, @@ -5,6 +9,14 @@ import { tick } from '@angular/core/testing'; +import { + By +} from '@angular/platform-browser'; + +import { + SkyAuthTokenProvider +} from '@skyux/http'; + import { expect } from '@skyux-sdk/testing'; @@ -17,6 +29,10 @@ import { DemoFixtureComponent } from './fixtures/demo.component.fixture'; +import { + DemoAuthTokenMockProvider +} from './fixtures/demo-auth-token-mock-provider'; + describe('Demo component', () => { let fixture: ComponentFixture; @@ -154,5 +170,62 @@ describe('Demo component', () => { [{ user: { name: 'John' } }] ]); })); + + it('should hide the theme control panel when theming is disabled or a Blackbaud employee is not signed in', () => { + function getThemeEl(): DebugElement { + return fixture.debugElement.query( + By.css('sky-docs-demo-control-panel-theme') + ); + } + + fixture.detectChanges(); + + showControlPanel(); + + fixture.detectChanges(); + + expect(getThemeEl()).not.toExist(); + + // The mock auth token provider should return a JWT that indicates the user is not a Blackbaud employee, so the + // picker should still not be rendered. + fixture.componentInstance.supportsTheming = true; + + fixture.detectChanges(); + + expect(getThemeEl()).not.toExist(); + }); + + it('should show the theme control panel when theming is enabled and a Blackbaud employee is signed in', fakeAsync(() => { + function getThemeEl(): DebugElement { + return fixture.debugElement.query( + By.css('sky-docs-demo-control-panel-theme') + ); + } + + const mockAuthProvider = TestBed.get(SkyAuthTokenProvider) as DemoAuthTokenMockProvider; + + mockAuthProvider.testToken = { + '1bb.perms': [1] + }; + + fixture.detectChanges(); + + showControlPanel(); + + fixture.detectChanges(); + + expect(getThemeEl()).not.toExist(); + + fixture.componentInstance.supportsTheming = true; + + fixture.detectChanges(); + + // Need to call tick() and detectChanges() to flush the auth token mock's Promise and apply the result + // to the view. + tick(); + fixture.detectChanges(); + + expect(getThemeEl()).toExist(); + })); }); }); diff --git a/src/app/public/modules/demo/demo.component.ts b/src/app/public/modules/demo/demo.component.ts index 4f37b5ac..fa7713e7 100644 --- a/src/app/public/modules/demo/demo.component.ts +++ b/src/app/public/modules/demo/demo.component.ts @@ -7,6 +7,10 @@ import { QueryList } from '@angular/core'; +import { + SkyThemeSettings +} from '@skyux/theme'; + import { SkyDocsDemoContentAlignment } from './demo-content-alignment'; @@ -15,6 +19,10 @@ import { SkyDocsDemoControlPanelComponent } from './demo-control-panel.component'; +import { + SkyDocsDemoThemeService +} from './demo-theme.service'; + /** * Wraps all behavior demo components and handles the configuration and appearance of the behavior demo. * @example @@ -28,6 +36,7 @@ import { selector: 'sky-docs-demo', templateUrl: './demo.component.html', styleUrls: ['./demo.component.scss'], + providers: [SkyDocsDemoThemeService], changeDetection: ChangeDetectionStrategy.OnPush }) export class SkyDocsDemoComponent { @@ -51,8 +60,15 @@ export class SkyDocsDemoComponent { @Input() public heading: string; + @Input() + public set supportsTheming(value: boolean) { + this.demoThemeSvc.supportsTheming.next(value); + } + + public themeSettings: SkyThemeSettings; + public get hasOptions(): boolean { - return this.controlPanels && this.controlPanels.length > 0; + return this.supportsTheming || (this.controlPanels && this.controlPanels.length > 0); } @ContentChildren(SkyDocsDemoControlPanelComponent, { read: ElementRef }) @@ -66,6 +82,8 @@ export class SkyDocsDemoComponent { private _alignContents: SkyDocsDemoContentAlignment; + constructor(public demoThemeSvc: SkyDocsDemoThemeService) { } + public onToggleOptionsButtonClick(): void { this.areOptionsVisible = !this.areOptionsVisible; } diff --git a/src/app/public/modules/demo/demo.module.ts b/src/app/public/modules/demo/demo.module.ts index 96ae2f98..b405d18a 100644 --- a/src/app/public/modules/demo/demo.module.ts +++ b/src/app/public/modules/demo/demo.module.ts @@ -19,6 +19,14 @@ import { SkyIconModule } from '@skyux/indicators'; +import { + SkyThemeModule +} from '@skyux/theme'; + +import { + SkyRestrictedViewModule +} from '@blackbaud/skyux-lib-restricted-view'; + import { SkyDocsToolsResourcesModule } from '../shared/docs-tools-resources.module'; @@ -43,6 +51,10 @@ import { SkyDocsDemoControlPanelSectionComponent } from './demo-control-panel-section.component'; +import { + SkyDocsDemoControlPanelThemeComponent +} from './demo-control-panel-theme.component'; + @NgModule({ imports: [ CommonModule, @@ -50,21 +62,25 @@ import { SkyCheckboxModule, SkyDocsToolsResourcesModule, SkyIconModule, - SkyRadioModule + SkyRadioModule, + SkyRestrictedViewModule, + SkyThemeModule ], declarations: [ SkyDocsDemoComponent, SkyDocsDemoControlPanelCheckboxComponent, SkyDocsDemoControlPanelComponent, SkyDocsDemoControlPanelRadioGroupComponent, - SkyDocsDemoControlPanelSectionComponent + SkyDocsDemoControlPanelSectionComponent, + SkyDocsDemoControlPanelThemeComponent ], exports: [ SkyDocsDemoComponent, SkyDocsDemoControlPanelCheckboxComponent, SkyDocsDemoControlPanelComponent, SkyDocsDemoControlPanelRadioGroupComponent, - SkyDocsDemoControlPanelSectionComponent + SkyDocsDemoControlPanelSectionComponent, + SkyDocsDemoControlPanelThemeComponent ] }) export class SkyDocsDemoModule { } diff --git a/src/app/public/modules/demo/fixtures/demo-auth-token-mock-provider.ts b/src/app/public/modules/demo/fixtures/demo-auth-token-mock-provider.ts new file mode 100644 index 00000000..1a26d58c --- /dev/null +++ b/src/app/public/modules/demo/fixtures/demo-auth-token-mock-provider.ts @@ -0,0 +1,15 @@ +import { + SkyAuthToken +} from '@skyux/http'; + +export class DemoAuthTokenMockProvider { + + public testToken: SkyAuthToken = { + '1bb.perms': [] + }; + + public getDecodedToken(): Promise { + return Promise.resolve(this.testToken); + } + +} diff --git a/src/app/public/modules/demo/fixtures/demo-fixtures.module.ts b/src/app/public/modules/demo/fixtures/demo-fixtures.module.ts index efbbda3b..001249b2 100644 --- a/src/app/public/modules/demo/fixtures/demo-fixtures.module.ts +++ b/src/app/public/modules/demo/fixtures/demo-fixtures.module.ts @@ -6,6 +6,10 @@ import { NgModule } from '@angular/core'; +import { + SkyAuthTokenProvider +} from '@skyux/http'; + import { SkyDocsDemoModule } from '../demo.module'; @@ -14,6 +18,10 @@ import { DemoFixtureComponent } from './demo.component.fixture'; +import { + DemoAuthTokenMockProvider +} from './demo-auth-token-mock-provider'; + @NgModule({ imports: [ CommonModule, @@ -24,6 +32,12 @@ import { ], declarations: [ DemoFixtureComponent + ], + providers: [ + { + provide: SkyAuthTokenProvider, + useClass: DemoAuthTokenMockProvider + } ] }) export class DemoFixturesModule { } diff --git a/src/app/public/modules/demo/fixtures/demo.component.fixture.html b/src/app/public/modules/demo/fixtures/demo.component.fixture.html index 94cd4415..d8a6efec 100644 --- a/src/app/public/modules/demo/fixtures/demo.component.fixture.html +++ b/src/app/public/modules/demo/fixtures/demo.component.fixture.html @@ -1,6 +1,7 @@ Sample button - \ No newline at end of file + diff --git a/src/app/public/modules/demo/fixtures/demo.component.fixture.ts b/src/app/public/modules/demo/fixtures/demo.component.fixture.ts index e0db5568..f2053a99 100644 --- a/src/app/public/modules/demo/fixtures/demo.component.fixture.ts +++ b/src/app/public/modules/demo/fixtures/demo.component.fixture.ts @@ -47,6 +47,8 @@ export class DemoFixtureComponent { public showRadios: boolean = true; + public supportsTheming: boolean; + @ViewChild(SkyDocsDemoComponent) public demoComponentRef: SkyDocsDemoComponent;