diff --git a/angular.json b/angular.json index 1955cca0..863052a0 100644 --- a/angular.json +++ b/angular.json @@ -29,7 +29,8 @@ "styles": [ "src/styles.scss" ], - "scripts": [] + "scripts": [], + "showCircularDependencies": false }, "configurations": { "production": { diff --git a/package-lock.json b/package-lock.json index a801516a..d9f6e47e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "fuse", - "version": "6.2.4", + "version": "6.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -10,46 +10,44 @@ "integrity": "sha512-nsyergarmMB4JCw7KGujj86ulgRYhEk8zXKRiJZdnju/irLvazQ/9Anlfsf1Rc5yph8sZrmQDwqLGZ6AqHhnzA==" }, "@angular-devkit/architect": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.6.8.tgz", - "integrity": "sha512-ZKTm/zC61iY9IBHOEAKoMSzZpvhkmv+1O/HHzpHEuR551jCzu6vSyCmMY9Z7GBcccscCV+hjeSMwgFrFRcqlkw==", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.7.5.tgz", + "integrity": "sha512-zwCpGdx3JDE+Y+LiWh9ErRX+fpFPTRHtEd2PDJmfQsdlIWfjxSR5U9vi3+bSRW2n6IFiH2GCYMS31R64rfMwbg==", "dev": true, "requires": { - "@angular-devkit/core": "0.6.8", + "@angular-devkit/core": "0.7.5", "rxjs": "^6.0.0" } }, "@angular-devkit/build-angular": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.6.8.tgz", - "integrity": "sha512-VGqYAk8jpISraz2UHfsDre270NOUmV0CTSZw2p9sm5g/XIr5m+IHetFZz3gpoAr9+If2aFTs8Rt3sGdCRzwBqA==", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.7.5.tgz", + "integrity": "sha512-FYd2RigCbvm1i0aM1p+jO2145qm56iPgcW2TK3LBxllWFoz5v+wb086/aDzATG+2ETDZO1uENiVTWu5RSkYcSw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.6.8", - "@angular-devkit/build-optimizer": "0.6.8", - "@angular-devkit/core": "0.6.8", - "@ngtools/webpack": "6.0.8", + "@angular-devkit/architect": "0.7.5", + "@angular-devkit/build-optimizer": "0.7.5", + "@angular-devkit/build-webpack": "0.7.5", + "@angular-devkit/core": "0.7.5", + "@ngtools/webpack": "6.1.5", "ajv": "~6.4.0", "autoprefixer": "^8.4.1", - "cache-loader": "^1.2.2", - "chalk": "~2.2.2", "circular-dependency-plugin": "^5.0.2", "clean-css": "^4.1.11", - "copy-webpack-plugin": "^4.5.1", + "copy-webpack-plugin": "^4.5.2", "file-loader": "^1.1.11", "glob": "^7.0.3", "html-webpack-plugin": "^3.0.6", "istanbul": "^0.4.5", "istanbul-instrumenter-loader": "^3.0.1", "karma-source-map-support": "^1.2.0", - "less": "^3.0.4", + "less": "^3.7.1", "less-loader": "^4.1.0", "license-webpack-plugin": "^1.3.1", - "lodash": "^4.17.4", - "memory-fs": "^0.4.1", + "loader-utils": "^1.1.0", "mini-css-extract-plugin": "~0.4.0", "minimatch": "^3.0.4", - "node-sass": "^4.9.0", + "node-sass": "^4.9.3", "opn": "^5.1.0", "parse5": "^4.0.0", "portfinder": "^1.0.13", @@ -58,10 +56,10 @@ "postcss-loader": "^2.1.5", "postcss-url": "^7.3.2", "raw-loader": "^0.5.1", - "resolve": "^1.5.0", "rxjs": "^6.0.0", - "sass-loader": "^7.0.1", - "silent-error": "^1.1.0", + "sass-loader": "~6.0.7", + "semver": "^5.5.0", + "source-map-loader": "^0.2.3", "source-map-support": "^0.5.0", "stats-webpack-plugin": "^0.6.2", "style-loader": "^0.21.0", @@ -70,7 +68,7 @@ "tree-kill": "^1.2.0", "uglifyjs-webpack-plugin": "^1.2.5", "url-loader": "^1.0.1", - "webpack": "~4.8.1", + "webpack": "~4.9.2", "webpack-dev-middleware": "^3.1.3", "webpack-dev-server": "^3.1.4", "webpack-merge": "^4.1.2", @@ -87,9 +85,9 @@ } }, "@angular-devkit/build-optimizer": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.8.tgz", - "integrity": "sha512-of5syQbv3uNPp4AQkfRecfnp8AE8kvffbfYi+FFPZ6OGr7e59T1fGwk6+Zgb2qQFQg8HO2tzWI/uygtLIqmbmw==", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.5.tgz", + "integrity": "sha512-iZYUjNax6epTA4JjnDxhs6MQUtmwM04ZkJkTE3tVc01e80+wJ/f3+ja22BBVul2MsqchOsTUSQIJY3HxbV5aWw==", "dev": true, "requires": { "loader-utils": "^1.1.0", @@ -106,10 +104,21 @@ } } }, + "@angular-devkit/build-webpack": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.7.5.tgz", + "integrity": "sha512-PSkhBwJBLRMiBUGlK15CaVwbU4RzfCdF/GFS/CZSCsA3plLDJy+vXAPrUiuGvqYt/sVKBRavsNaEBCbK1t+1ig==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.7.5", + "@angular-devkit/core": "0.7.5", + "rxjs": "^6.0.0" + } + }, "@angular-devkit/core": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.6.8.tgz", - "integrity": "sha512-rkIa1OSVWTt4g9leLSK/PsqOj3HZbDKHbZjqlslyfVa3AyCeiumFoOgViOVXlYgPX3HHDbE5uH24nyUWSD8uww==", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.7.5.tgz", + "integrity": "sha512-r99BZvvuNAqSRm05jXfx0sb3Ip0zvHPtAM6NReXzWPoqaVFpjVUdj/CKA+9HWG/Zt9meG9pEQt/HKK8UXaZDVA==", "dev": true, "requires": { "ajv": "~6.4.0", @@ -119,47 +128,45 @@ } }, "@angular-devkit/schematics": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.6.8.tgz", - "integrity": "sha512-R4YqAUdo62wtrhX/5HSRGSKXNTWqfQb66ZE6m8jj6GEJNFKdNXMdxOchxr07LCiKTxfh1w6G3nGzxIsu/+D4KA==", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.7.5.tgz", + "integrity": "sha512-E7HkQeJawUskf2gPnogMc+cTdjJ2Iv3QEZOgprh/ExEmBYByWkGDRX5fQOuy8wME8VZqUBvQACZaVkEredn5EA==", "dev": true, "requires": { - "@angular-devkit/core": "0.6.8", + "@angular-devkit/core": "0.7.5", "rxjs": "^6.0.0" } }, "@angular/animations": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.0.9.tgz", - "integrity": "sha512-UJTHlxVGZLefCDxTS7T0qZxrAIaQ8gGghHwDI7F3QXpXZTsAk4nHiGSt2EvneW5o6io83i6Hpr/9Fde+YvzWNg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.1.4.tgz", + "integrity": "sha512-R+akCyIneyqJ5wAf9VaymvxbxM4Iw3YsUdylO9rrr9wAUhzmzWhCSGK9bncwL4+d5rbd0n1u+8A8Gm0dZe1P1A==", "requires": { "tslib": "^1.9.0" } }, "@angular/cdk": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-6.3.3.tgz", - "integrity": "sha512-cfUwvnGGByZy/poA75/vsELBq68eDUYJe3qi0WvSbtFzbQlsxeqaBiaxVYqmHJkPlSF5nsUhg5KvDowED3a4sA==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-6.4.6.tgz", + "integrity": "sha512-XKSoeSP4htpOq2UIyF9KDhIJtEQ3wyhZRjDxyRSNmJ9OsuRZxJAGCAzOX5RpMszOyFZgUNVycOi+1lHDe0JrZg==", "requires": { "tslib": "^1.7.1" } }, "@angular/cli": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-6.0.8.tgz", - "integrity": "sha512-DhH1Zq5Yonthw6zh6W07fhf+9XrAZbD1fcQ0MrmbxlieCfLlTAdBqyK2LavFCKwSZkUMLF6UHM3+jiNRVZSSIg==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-6.1.5.tgz", + "integrity": "sha512-QNVUSC8mPdiaxubneqNZISy+wec3gwbKoXjcaQ9/45baOnp662j2iJXwiMh6Atn0YUM4u1iUsz1uHyARMtgZmw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.6.8", - "@angular-devkit/core": "0.6.8", - "@angular-devkit/schematics": "0.6.8", - "@schematics/angular": "0.6.8", - "@schematics/update": "0.6.8", - "opn": "~5.3.0", - "resolve": "^1.1.7", + "@angular-devkit/architect": "0.7.5", + "@angular-devkit/core": "0.7.5", + "@angular-devkit/schematics": "0.7.5", + "@schematics/angular": "0.7.5", + "@schematics/update": "0.7.5", + "opn": "^5.3.0", "rxjs": "^6.0.0", "semver": "^5.1.0", - "silent-error": "^1.0.0", "symbol-observable": "^1.2.0", "yargs-parser": "^10.0.0" }, @@ -182,31 +189,31 @@ } }, "@angular/common": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.0.9.tgz", - "integrity": "sha512-zjJ9WDW9787sTRiNeUvQaCvGZJu1dI8A3fYtSL8BKrGhxLsf24cSa3ljbrSmtIsCGImNxTToHzPFXo4sx2dvYg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.1.4.tgz", + "integrity": "sha512-vpedSD5Rbuj9kLq9W/aeQBVugplimTJPPeuW/zUXHWVOOOk4Y7KBw5g4JdYw2ocSoY3z+dRl/6fR0JTi9+muaA==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.0.9.tgz", - "integrity": "sha512-/A6U/W0settfkh3tmX9p3t7+OyZ0c2sIJMlQjhfF36do0ylnIl4wuqJtHF0BWr/wmmbQzg+qAsQyWrx8vp+2Iw==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.1.4.tgz", + "integrity": "sha512-HjSK9Jjx6f1jpXy2TALKp2ByAXycZKKD39M9K2g+feTTrpUtd3iDEDLG4S/yok9qs4e1k3L8fxr/qBngQuv23A==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler-cli": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.0.9.tgz", - "integrity": "sha512-v3C5RyJLKoDcQocDt/U195t9v8UpBH+mwVaBkEM+nLkZAGC1Uvg9nPuUXisOwljuMm9VtOWG3A8hKQ5ZYieNBg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.1.4.tgz", + "integrity": "sha512-ueTe5THcPIKjXOb1+LvqEqh35QPihEGObvJIpudMTqkJHguOr2WXKbbgxzF8QWuIBhOHR9fjtaSgNY5Kk2mfTg==", "dev": true, "requires": { "chokidar": "^1.4.2", "minimist": "^1.2.0", "reflect-metadata": "^0.1.2", - "tsickle": "^0.29.0" + "tsickle": "^0.32.1" }, "dependencies": { "anymatch": { @@ -343,9 +350,9 @@ } }, "@angular/core": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.0.9.tgz", - "integrity": "sha512-NeEUgymsR/tLvWeEAA4mGEX/S4hHbIo/2uwPGGAQAvzlk+pL7xqPoFSMKeqQahdTnWSmYa/2+X33OdJgXKKXyg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.1.4.tgz", + "integrity": "sha512-8r2LpD4MR0hAYjWkElD/I6iXcugMK/HrpdtopDlRcxW2f6XuMN4mu8eS3g2fu72PwdGhtMcqDDFlbeJ8k599lw==", "requires": { "tslib": "^1.9.0" } @@ -359,64 +366,64 @@ } }, "@angular/forms": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.0.9.tgz", - "integrity": "sha512-hZxzoO/QAd9EetNUdGpb5Wiw4Lb7R+iOCjdV8sh+C8q6Ow5G35/dfiAlNanGXVqSi8e6Qqm1aO/r4cTUWFm6vw==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.1.4.tgz", + "integrity": "sha512-O/rYF36zM15fbXPv4Tj7NlYiCazko6+Eb4o9Ls0nJXMOxt8pRwdYjgGMaOtYprtbH89YlnmJU/gav5Z58JG7sw==", "requires": { "tslib": "^1.9.0" } }, "@angular/http": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.0.9.tgz", - "integrity": "sha512-JaYvBQQ+hJ7SKqZ+zw4C20lc7b6U5kK50nSkams10tzhITke6L/+wK8g3kiNu4XcqE5nqcIN8S95UkMGPMsa7Q==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.1.4.tgz", + "integrity": "sha512-HD3+ouMAqsgA6hFUS8AQDVlZTbkuNuyomGY1I85IpqXmO7GneszN6y5xIf8XO5ke4UYgvk5UhRrKJ9UG9VtUOw==", "requires": { "tslib": "^1.9.0" } }, "@angular/language-service": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-6.0.9.tgz", - "integrity": "sha512-a9/Ee1DfRlj4duhDW17xl+52mO6zKlBLm3JOIyANrmJqoHCf/Nfvw3OmEhjMJ1A8O6xLCXyPF/Fq0WD9BfVSrg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-6.1.4.tgz", + "integrity": "sha512-kvnAphJ7VrKJpm1gN3sFjGp/5gQxu/FAw03yD1f1z+C+aHrNKoxaS9pp9NdOIT/DWlxR/BcEDF4gzMNMTJ9/wA==", "dev": true }, "@angular/material": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-6.3.3.tgz", - "integrity": "sha512-3qTZ8+pjc8P1D+TLr9ETGfFyMYO+BAQlFiVs3oV8rw5y0Wzkz6G1JHfKQ2oOd8/npXP6rJQldssUM4IBbSOxIQ==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-6.4.6.tgz", + "integrity": "sha512-SUSg9MhLv4IZj6Nh8qoCLDImZugCQ+Jvvt+/cDIaTn6TrT6ZenDHc6jOhbGFesU6FuBDBFIXMiuBPD9kBr7vaA==", "requires": { "parse5": "^5.0.0", "tslib": "^1.7.1" } }, "@angular/material-moment-adapter": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-6.3.3.tgz", - "integrity": "sha512-YFi1iED8gcHhCwkWGMkyJtHX/tWAsQWnRNrh1AwbWl4JW1739vPAM/OimdIijeGAZ5dVVZX4A4EscCBb74b4dA==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-6.4.6.tgz", + "integrity": "sha512-Bvj/zwtEjF1bqOF1z/M0VcWYOwlRjmCBjvPVmNZ1Bxf7HE8yyRf8B+AAv46sn/EhhAv/eMNU9bzFcxrR/vEHAg==", "requires": { "tslib": "^1.7.1" } }, "@angular/platform-browser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.0.9.tgz", - "integrity": "sha512-q/1UGlbWBwZ6c63p8SDmBsgjYgMQUxyByY9GGt0hd5XhOfVFzvBSzybKSRc3FBhmxQJMCtVhEbI0kIzqrDxcWg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.1.4.tgz", + "integrity": "sha512-46UPtC360+3E4eeOQk45qp+r+d0Qnsujyot+XtVKQmTSHTInDlwfIGA9TBTw8GyAs3O65i80LRkDHFz9BM2pmw==", "requires": { "tslib": "^1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.0.9.tgz", - "integrity": "sha512-HsmLafy0hpMIZlwHz1XRicXczZWCKb0H6oCY+TepFV4u3SLZgJEO7/HZrhO0kEviipXuXrgZSpafV3IYP6eWPQ==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.1.4.tgz", + "integrity": "sha512-a/WVCsAa0qdtLNuK6h8q+nwtXmJqOlc+dJrBK3vz1umhc80nFZeaUPMTnkRwphk6WVE8xHvjb41PZsI8jF9CBQ==", "requires": { "tslib": "^1.9.0" } }, "@angular/router": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.0.9.tgz", - "integrity": "sha512-kS489FFpGWD4GEDDozfVb+eD5qf1E9cLYgsE7RO914uNMh/sJuRZt9PVu0bcX12fOOO7mTcOiWtlkefzUAJbkA==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.1.4.tgz", + "integrity": "sha512-ANdJmpPkr4BMW3/ixJ/qSbsQk4CwR3BPDJp3Iua/xLy7i+9h0bcs11Lpdyo5U3esPYpcpc6TE3ofptyD6xpyGg==", "requires": { "tslib": "^1.9.0" } @@ -428,32 +435,33 @@ "dev": true }, "@ngrx/effects": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@ngrx/effects/-/effects-6.0.1.tgz", - "integrity": "sha512-YS68D7E1qKbbOIzV6Iyfv6BY3CrTNi8nBgGJ6whTi6f7Y0apXySvNj9aOQyzuJsePWziu6h0uJhy2ZFT/iELyg==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@ngrx/effects/-/effects-6.1.0.tgz", + "integrity": "sha512-euR/VHn0cEOkdZ3SqCzUvYHT0P5FcTBm4/xSE8gH85ORP0//owD3L6o8X3etfWLRS+BAELk1JcXkFeAVG9CXiQ==" }, "@ngrx/router-store": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@ngrx/router-store/-/router-store-6.0.1.tgz", - "integrity": "sha512-Nz6HI6cGcWZtRP8Z1eWH0jhkmukQYSpH5AptCcXMjOP2MorHv23Ddw1O+0W6hF8SYX1JvGdaQ2BUJS00MaKfKw==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@ngrx/router-store/-/router-store-6.1.0.tgz", + "integrity": "sha512-uMC0TykeVi0fPuX+iwanCAX5mBrb+LHgJGtI4CL+sEjviXe9C/84UDmApoG9Goe0xuCtALqOqGDP0UoNSxVA3g==" }, "@ngrx/store": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@ngrx/store/-/store-6.0.1.tgz", - "integrity": "sha512-cSgfT8CgpOr6BOQac9M3DH6QQC5gxCVjdEcZH//Zn/kwdse86X73iK7KWv6B6AiIEdyVbFfggXNZwd/HiyLGOA==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@ngrx/store/-/store-6.1.0.tgz", + "integrity": "sha512-H5BGym1WtAX84/R4pTQ2MrrP87qYfXc6CoPghCZCK9LYxCodsI7KeQfpyNCg5qapxdH2EDqlHXTBJfMTLRiRGg==" }, "@ngrx/store-devtools": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@ngrx/store-devtools/-/store-devtools-6.0.1.tgz", - "integrity": "sha512-eZyguQvIltJuhCVgPPR1IyMAztykRuvGalwCH1G2ODWKGZPNrWlJbxVMqzUeSJTBS268RIFIkMTwEDKi/xCQoQ==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@ngrx/store-devtools/-/store-devtools-6.1.0.tgz", + "integrity": "sha512-Uc0g/NCbJIbzvIMuCy3skiZVD5hoIrOAAvaninXkVHt7bXpbsSAdvJlmnozuGQqTbC0UQhYRwAR7InRSrzIbMQ==" }, "@ngtools/webpack": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-6.0.8.tgz", - "integrity": "sha512-jorGpTd82ILbyUwg4JQekovHFaYwSMlZan4f7x+sd3+2WgyL3Z1+ZbVSGKvXZWKS/mAVx7eLkRikzJkuC4FgHw==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-6.1.5.tgz", + "integrity": "sha512-vrvFFvUqo4hlrLRBTG7a3gsAneitd0/tj2zHsiN97RmefxHSS+3m0pkVw8G3BMAagp2L42AiVfNV4wvYDe+TXA==", "dev": true, "requires": { - "@angular-devkit/core": "0.6.8", + "@angular-devkit/core": "0.7.5", + "rxjs": "^6.0.0", "tree-kill": "^1.0.0", "webpack-sources": "^1.1.0" } @@ -467,34 +475,43 @@ } }, "@schematics/angular": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.6.8.tgz", - "integrity": "sha512-9kRphqTYG5Df/I8fvnT1zMsw0YNDPO9tl18tQZXj4am4raT7l9UCr+WkwJdlBoA5pwG6baWE9sL0iGWV/bzF/g==", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.7.5.tgz", + "integrity": "sha512-NrtvFwHCoWon8KInsvA1jdPu4pVJGa8GAWM/jqnE7HpwPwM7hMML08lV0P8r3NX5t2/i0CKvfp4AAEr5MXorEQ==", "dev": true, "requires": { - "@angular-devkit/core": "0.6.8", - "@angular-devkit/schematics": "0.6.8", - "typescript": ">=2.6.2 <2.8" + "@angular-devkit/core": "0.7.5", + "@angular-devkit/schematics": "0.7.5", + "typescript": ">=2.6.2 <2.10" } }, "@schematics/update": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.6.8.tgz", - "integrity": "sha512-1Uq7LYnwL2wBwGVCgNz76QAR13ghAk+2vDDHOi+VX5+usHManxydrpoMGeX66OBPd+y5D3D2MFb+8mYHE7mygg==", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.7.5.tgz", + "integrity": "sha512-pwNkXGtlzyCV6tsTPe8AgUuMCkmubcz94zgL6pSMdEe122yXBcKnr/PKqG9QzD/gGwmOcHUE9EWcuRtU5kdFpA==", "dev": true, "requires": { - "@angular-devkit/core": "0.6.8", - "@angular-devkit/schematics": "0.6.8", + "@angular-devkit/core": "0.7.5", + "@angular-devkit/schematics": "0.7.5", "npm-registry-client": "^8.5.1", "rxjs": "^6.0.0", "semver": "^5.3.0", "semver-intersect": "^1.1.2" } }, + "@swimlane/dragula": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@swimlane/dragula/-/dragula-3.7.3.tgz", + "integrity": "sha512-S5hhbgEX/pEg6bM1RhBOLSQQj7DV7TKe5XF40N9g2zBu1Gw1Bh4sf9tl+YCBeospC33R/PjyvBKt47K7XEuvjg==", + "requires": { + "contra": "1.9.4", + "crossvent": "1.5.4" + } + }, "@swimlane/ngx-charts": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@swimlane/ngx-charts/-/ngx-charts-8.1.0.tgz", - "integrity": "sha512-jjcIwt5uQXoBaQwCgHPqpzSoNJj68PiKItMYg6RVyqLua67vZ90ZdxzuYPsYpRtDIXJiV5/gXuDtD3ZrjtdQCA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@swimlane/ngx-charts/-/ngx-charts-9.0.0.tgz", + "integrity": "sha512-XmiEclr09p5EiZyXPqPyGD//Ai4GUpJbMYw90A24UJdFwvh8BQDDeZ1QUNIuTWkpN5XMZ8TzQ4P4qjaTypsZPw==", "requires": { "d3-array": "^1.2.1", "d3-brush": "^1.0.4", @@ -510,26 +527,18 @@ } }, "@swimlane/ngx-datatable": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/@swimlane/ngx-datatable/-/ngx-datatable-13.0.1.tgz", - "integrity": "sha512-jjMEzQhXcdD+jfKNp+7U61lWx9ZzSGDn9QbpY6pJOJwz+E2CKeek6OouT5Qcc4MY4oFL9g/SZoPjLf90cbNIRw==" + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@swimlane/ngx-datatable/-/ngx-datatable-13.1.0.tgz", + "integrity": "sha512-UJRXbRkLDq9oweY/ZlmU5X7MtnD3+7/nuCBx2cvsbkDKj6cECy+m1O/EfAGEh5++zZ55QWmX4rj7nM4G9pst/w==" }, "@swimlane/ngx-dnd": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@swimlane/ngx-dnd/-/ngx-dnd-4.0.0.tgz", - "integrity": "sha512-OTfGHKNFe+0FOHIhnR8oGgrTUVkWPPkTIyD5+DqMDOYXSBUpoivs7W64cqU+m5sL2N5ULBUtXJTvMD2MpNjxNg==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@swimlane/ngx-dnd/-/ngx-dnd-5.0.6.tgz", + "integrity": "sha512-bNr+uRb/UjeYo1105cX8ujbtUYOdU8XVrwD5dTXyoPHDUGqb34m/l7whZFU/YHO0qU6nWlbLXw5mNCq+lgS0cQ==", "requires": { - "@types/dragula": "^2.1.32", - "dragula": "github:swimlane/dragula#0ddf66546a483691b98f3420abc576a2e5c0cc58", - "install": "^0.11.0", - "npm": "^5.8.0" + "tslib": "^1.9.0" } }, - "@types/dragula": { - "version": "2.1.33", - "resolved": "https://registry.npmjs.org/@types/dragula/-/dragula-2.1.33.tgz", - "integrity": "sha512-cb5BNoOXPZ4Bohe+TC7/bbNxbFOL9T+32xjlU2h7gJfCg+9qV/5uX1mVm7dfyFutVdxAQDjZemGz2m9Dav8rMA==" - }, "@types/jasmine": { "version": "2.8.8", "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.8.tgz", @@ -546,9 +555,9 @@ } }, "@types/lodash": { - "version": "4.14.111", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.111.tgz", - "integrity": "sha512-t2FwnkdqdZNYPJHTEF+Zf//j5d2I7UbM2Ng+vqqmUCE2RuiVVINJi9RlVdpKvqPqVItsJa0X+ra/tvmwLzlcgg==", + "version": "4.14.116", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.116.tgz", + "integrity": "sha512-lRnAtKnxMXcYYXqOiotTmJd74uawNWuPnsnPrrO7HiFuE3npE2iQhfABatbYDyxTNqZNuXzcKGhw37R7RjBFLg==", "dev": true }, "@types/node": { @@ -787,48 +796,6 @@ "long": "^3.2.0" } }, - "@webpack-contrib/schema-utils": { - "version": "1.0.0-beta.0", - "resolved": "https://registry.npmjs.org/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz", - "integrity": "sha512-LonryJP+FxQQHsjGBi6W786TQB1Oym+agTpY0c+Kj8alnIw+DLUJb6SI8Y1GHGhLCH1yPRrucjObUmxNICQ1pg==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chalk": "^2.3.2", - "strip-ansi": "^4.0.0", - "text-table": "^0.2.0", - "webpack-log": "^1.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "abbrev": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", @@ -893,6 +860,12 @@ "uri-js": "^3.0.2" } }, + "ajv-errors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", + "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", + "dev": true + }, "ajv-keywords": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", @@ -949,18 +922,24 @@ } }, "angular-in-memory-web-api": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/angular-in-memory-web-api/-/angular-in-memory-web-api-0.6.0.tgz", - "integrity": "sha512-+i2bH9T/S4gTQdJLt264H4JMKXNpik33pMatSOvPSqFQ0vImnTBVbvijfmy75OgwKPJ8OZw0R76CrLjp2EYX2A==" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/angular-in-memory-web-api/-/angular-in-memory-web-api-0.6.1.tgz", + "integrity": "sha512-6Fls8XE3UC8NoydpcC82hY3KSRU4dXbGFjs3w+XLReL+Ry8zLeBHb/CZ9F+Kbg1yBH+eKamzd0vLr0+df+yC5g==" }, "angular-resizable-element": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/angular-resizable-element/-/angular-resizable-element-3.1.0.tgz", - "integrity": "sha512-moVRSGnCgwCKofswHlNGSQWMz9OCC2JRxz4duJ6wC3g3WBMen2NpFSnoueEIMWoo/DJZjCuF3k/kFoTC4Ett3A==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/angular-resizable-element/-/angular-resizable-element-3.2.0.tgz", + "integrity": "sha512-JxRRuqSsC7h2zidbC8cnY3elWJkS2tYFd6+GCetw2s9i2UwwkhOJSGROimotNzuf2GA76VG2vvh+YMkKWmMABw==", "requires": { "tslib": "^1.9.0" } }, + "ansi-colors": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.0.5.tgz", + "integrity": "sha512-VVjWpkfaphxUBFarydrQ3n26zX5nIK7hcbT3/ielrvwDDyBBjuh2vuSw1P9zkPq0cfqvdw7lkYHnu+OLSfIBsg==", + "dev": true + }, "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", @@ -1079,16 +1058,6 @@ "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", "dev": true }, - "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" - } - }, "array-slice": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", @@ -1227,9 +1196,9 @@ "integrity": "sha1-DMDpGkgOc4+SPrwQNnZHF3mzSkk=" }, "atob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, "autoprefixer": { @@ -1609,15 +1578,6 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.x.x" - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1835,18 +1795,6 @@ "unset-value": "^1.0.0" } }, - "cache-loader": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-1.2.2.tgz", - "integrity": "sha512-rsGh4SIYyB9glU+d0OcHwiXHXBoUgDhHZaQ1KAbiXqfz1CDPxtTboh1gPbJ0q2qdO8a9lfcjgC5CJ2Ms32y5bw==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "mkdirp": "^0.5.1", - "neo-async": "^2.5.0", - "schema-utils": "^0.4.2" - } - }, "calendar-utils": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/calendar-utils/-/calendar-utils-0.1.2.tgz", @@ -1894,9 +1842,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000865", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000865.tgz", - "integrity": "sha512-vs79o1mOSKRGv/1pSkp4EXgl4ZviWeYReXw60XfacPU64uQWZwJT6vZNmxRF9O+6zu71sJwMxLK5JXxbzuVrLw==", + "version": "1.0.30000878", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000878.tgz", + "integrity": "sha512-/dCGTdLCnjVJno1mFRn7Y6eit3AYaeFzSrMQHCoK0LEQaWl5snuLex1Ky4b8/Qu2ig5NgTX4cJx65hH9546puA==", "dev": true }, "caseless": { @@ -1917,31 +1865,14 @@ } }, "chalk": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz", - "integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", + "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" - }, - "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "^2.0.0" - } - } + "supports-color": "^5.3.0" } }, "chart.js": { @@ -2054,12 +1985,20 @@ "integrity": "sha1-HXCEL3Ai8I2awIbOaeWyUPLFd4k=" }, "clean-css": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", - "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", "dev": true, "requires": { - "source-map": "0.5.x" + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "clipboard": { @@ -2095,9 +2034,9 @@ } }, "clone": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", - "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", "dev": true }, "clone-deep": { @@ -2224,37 +2163,21 @@ "dev": true, "requires": { "mime-db": ">= 1.34.0 < 2" - }, - "dependencies": { - "mime-db": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz", - "integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o=", - "dev": true - } } }, "compression": { - "version": "1.7.2", - "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz", - "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", "dev": true, "requires": { - "accepts": "~1.3.4", + "accepts": "~1.3.5", "bytes": "3.0.0", - "compressible": "~2.0.13", + "compressible": "~2.0.14", "debug": "2.6.9", "on-headers": "~1.0.1", - "safe-buffer": "5.1.1", + "safe-buffer": "5.1.2", "vary": "~1.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - } } }, "concat-map": { @@ -2503,16 +2426,6 @@ "custom-event": "1.0.0" } }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "optional": true, - "requires": { - "boom": "2.x.x" - } - }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -2608,19 +2521,10 @@ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, - "requires": { - "es5-ext": "^0.10.9" - } - }, "d3": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-5.5.0.tgz", - "integrity": "sha512-HRDSYvT3n7kMvJH7Avp7iR0Xsz97bkCFka9aOg04EdyXyiAP8yQzUpLH3712y9R7ffVo1g94t1OYFHBB0yI9vQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-5.7.0.tgz", + "integrity": "sha512-8KEIfx+dFm8PlbJN9PI0suazrZ41QcaAufsKE9PRcqYPWLngHIyWJZX96n6IQKePGgeSu0l7rtlueSSNq8Zc3g==", "requires": { "d3-array": "1", "d3-axis": "1", @@ -2656,9 +2560,9 @@ }, "dependencies": { "d3-scale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.1.0.tgz", - "integrity": "sha512-Bb2N3ZgzPdKVEoWGkt8lPV6R7YdpSBWI70Xf26NQHOVjs77a6gLUmBOOPt9d9nB8JiQhwXY1RHCa+eSyWCJZIQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.1.2.tgz", + "integrity": "sha512-bESpd64ylaKzCDzvULcmHKZTlzA/6DGSVwx7QSDj/EnX9cpSevsdiwdHFYI9ouo9tNBbV3v5xztHS2uFeOzh8Q==", "requires": { "d3-array": "^1.2.0", "d3-collection": "1", @@ -2676,9 +2580,9 @@ "integrity": "sha512-CyINJQ0SOUHojDdFDH4JEM0552vCR1utGyLHegJHyYH0JyCpSeTPxi4OBqHMA2jJZq4NH782LtaJWBImqI/HBw==" }, "d3-axis": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.8.tgz", - "integrity": "sha1-MacFoLU15ldZ3hQXOjGTMTfxjvo=" + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz", + "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==" }, "d3-brush": { "version": "1.0.4", @@ -2693,9 +2597,9 @@ } }, "d3-chord": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.4.tgz", - "integrity": "sha1-fexPC6iG9xP+ERxF92NBT290yiw=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", + "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", "requires": { "d3-array": "1", "d3-path": "1" @@ -2712,9 +2616,9 @@ "integrity": "sha512-dmL9Zr/v39aSSMnLOTd58in2RbregCg4UtGyUArvEKTTN6S3HKEy+ziBWVYo9PTzRyVW+pUBHUtRKz0HYX+SQg==" }, "d3-contour": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.0.tgz", - "integrity": "sha512-6zccxidQRtcydx0lWqHawdW1UcBzKZTxv0cW90Dlx98pY/L7GjQJmftH1tWopYFDaLCoXU0ECg9x/z2EuFT8tg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", + "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", "requires": { "d3-array": "^1.1.1" } @@ -2734,9 +2638,9 @@ } }, "d3-dsv": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.8.tgz", - "integrity": "sha512-IVCJpQ+YGe3qu6odkPQI0KPqfxkhbP/oM1XhhE/DFiYmcXKfCRub4KXyiuehV1d4drjWVXHUWx4gHqhdZb6n/A==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.10.tgz", + "integrity": "sha512-vqklfpxmtO2ZER3fq/B33R/BIz3A1PV0FaZRuFM8w6jLo7sUX1BZDh73fPlr0s327rzq4H6EN1q9U+eCBCSN8g==", "requires": { "commander": "2", "iconv-lite": "0.4", @@ -2749,9 +2653,9 @@ "integrity": "sha1-aL+8NJM4o4DETYrMT7wzBKotjA4=" }, "d3-fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.1.0.tgz", - "integrity": "sha512-j+V4vtT6dceQbcKYLtpTueB8Zvc+wb9I93WaFtEQIYNADXl0c1ZJMN3qQo0CssiTsAqK8pePwc7f4qiW+b0WOg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.1.2.tgz", + "integrity": "sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA==", "requires": { "d3-dsv": "1" } @@ -2773,9 +2677,9 @@ "integrity": "sha512-ycfLEIzHVZC3rOvuBOKVyQXSiUyCDjeAPIj9n/wugrr+s5AcTQC2Bz6aKkubG7rQaQF0SGW/OV4UEJB9nfioFg==" }, "d3-geo": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.10.0.tgz", - "integrity": "sha512-VK/buVGgexthTTqGRNXQ/LSo3EbOFu4p2Pjud5drSIaEnOaF2moc8A3P7WEljEO1JEBEwbpAJjFWMuJiUtoBcw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.1.tgz", + "integrity": "sha512-GsG7x9G9sykseLviOVSJ3h5yjw0ItLopOtuDQKUt1TRklEegCw5WAmnIpYYiCkSH/QgUMleAeE2xZK38Qb+1+Q==", "requires": { "d3-array": "1" } @@ -2799,9 +2703,9 @@ "integrity": "sha1-JB6xhJvZ6egCHA0KeZ+KDo5EF2Q=" }, "d3-polygon": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.3.tgz", - "integrity": "sha1-FoiOkCZGCTPysXllKtN4Ik04LGI=" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz", + "integrity": "sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w==" }, "d3-quadtree": { "version": "1.0.3", @@ -2809,9 +2713,9 @@ "integrity": "sha1-rHmH4+I/6AWpkPKOG1DTj8uCJDg=" }, "d3-random": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.0.tgz", - "integrity": "sha1-ZkLlBsb6OmSFldKyRpeIqNElKdM=" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz", + "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==" }, "d3-scale": { "version": "1.0.7", @@ -2828,9 +2732,9 @@ } }, "d3-scale-chromatic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.3.0.tgz", - "integrity": "sha512-YwMbiaW2bStWvQFByK8hA6hk7ToWflspIo2TRukCqERd8isiafEMBXmwfh8c7/0Z94mVvIzIveRLVC6RAjhgeA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.3.3.tgz", + "integrity": "sha512-BWTipif1CimXcYfT02LKjAyItX5gKiwxuPRgr4xM58JwlLocWbjPLI7aMEjkcoOQXMkYsmNsvv3d2yl/OKuHHw==", "requires": { "d3-color": "1", "d3-interpolate": "1" @@ -2881,14 +2785,14 @@ } }, "d3-voronoi": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.2.tgz", - "integrity": "sha1-Fodmfo8TotFYyAwUgMWinLDYlzw=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==" }, "d3-zoom": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.7.1.tgz", - "integrity": "sha512-sZHQ55DGq5BZBFGnRshUT8tm2sfhPHFnOlmPbbwTkAoPeVdRTkB4Xsf9GCY0TSHrTD8PeJPZGmP/TpGicwJDJQ==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.7.3.tgz", + "integrity": "sha512-xEBSwFx5Z9T3/VrwDkMt+mr0HCzv7XjpGURJ8lWmIC8wxe32L39eWHIasEe/e7Ox8MPU4p1hvH8PKN2olLzIBg==", "requires": { "d3-dispatch": "1", "d3-drag": "1", @@ -2973,13 +2877,12 @@ } }, "define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", - "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "object-keys": "^1.0.12" } }, "define-property": { @@ -3251,14 +3154,6 @@ "domelementtype": "1" } }, - "dragula": { - "version": "github:swimlane/dragula#0ddf66546a483691b98f3420abc576a2e5c0cc58", - "from": "github:swimlane/dragula#fix-drag-issue", - "requires": { - "contra": "1.9.4", - "crossvent": "1.5.4" - } - }, "duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", @@ -3300,15 +3195,15 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.52", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.52.tgz", - "integrity": "sha1-0tnxJwuko7lnuDHEDvcftNmrXOA=", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.61.tgz", + "integrity": "sha512-XjTdsm6x71Y48lF9EEvGciwXD70b20g0t+3YbrE+0fPFutqV08DSNrZXkoXAp3QuzX7TpL/OW+/VsNoR9GkuNg==", "dev": true }, "elliptic": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -3498,28 +3393,6 @@ "is-symbol": "^1.0.1" } }, - "es5-ext": { - "version": "0.10.45", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", - "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", - "dev": true, - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, "es6-promise": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", @@ -3535,16 +3408,6 @@ "es6-promise": "^4.0.3" } }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -3901,9 +3764,9 @@ } }, "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "extend-shallow": { @@ -4166,12 +4029,6 @@ "for-in": "^1.0.1" } }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -4260,24 +4117,28 @@ "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 }, "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.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "optional": true, "requires": { @@ -4287,12 +4148,14 @@ }, "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 }, "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, "requires": { "balanced-match": "^1.0.0", @@ -4301,34 +4164,40 @@ }, "chownr": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "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 }, "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 }, "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 }, "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": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "requires": { @@ -4337,25 +4206,29 @@ }, "deep-extend": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "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.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "optional": true, "requires": { @@ -4364,13 +4237,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": { @@ -4386,7 +4261,8 @@ }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "optional": true, "requires": { @@ -4400,13 +4276,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.21", - "bundled": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "dev": true, "optional": true, "requires": { @@ -4415,7 +4293,8 @@ }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "optional": true, "requires": { @@ -4424,7 +4303,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": { @@ -4434,18 +4314,21 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": 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, "requires": { "number-is-nan": "^1.0.0" @@ -4453,13 +4336,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, "requires": { "brace-expansion": "^1.1.7" @@ -4467,12 +4352,14 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "minipass": { "version": "2.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", + "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "dev": true, "requires": { "safe-buffer": "^5.1.1", @@ -4481,7 +4368,8 @@ }, "minizlib": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", + "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "dev": true, "optional": true, "requires": { @@ -4490,7 +4378,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -4498,13 +4387,15 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "needle": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", + "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "dev": true, "optional": true, "requires": { @@ -4515,7 +4406,8 @@ }, "node-pre-gyp": { "version": "0.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", + "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "dev": true, "optional": true, "requires": { @@ -4533,7 +4425,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "optional": true, "requires": { @@ -4543,13 +4436,15 @@ }, "npm-bundled": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", + "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.1.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", + "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "dev": true, "optional": true, "requires": { @@ -4559,7 +4454,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": { @@ -4571,18 +4467,21 @@ }, "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 }, "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, "requires": { "wrappy": "1" @@ -4590,19 +4489,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": { @@ -4612,19 +4514,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.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true }, "rc": { "version": "1.2.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "optional": true, "requires": { @@ -4636,7 +4541,8 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true } @@ -4644,7 +4550,8 @@ }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, "requires": { @@ -4659,7 +4566,8 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "optional": true, "requires": { @@ -4668,42 +4576,49 @@ }, "safe-buffer": { "version": "5.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": 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.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "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, "requires": { "code-point-at": "^1.0.0", @@ -4713,7 +4628,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": { @@ -4722,7 +4638,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, "requires": { "ansi-regex": "^2.0.0" @@ -4730,13 +4647,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.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", + "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "dev": true, "optional": true, "requires": { @@ -4751,13 +4670,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.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "optional": true, "requires": { @@ -4766,12 +4687,14 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "yallist": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", "dev": true } } @@ -5113,12 +5036,6 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -5177,19 +5094,6 @@ "minimalistic-assert": "^1.0.1" } }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "optional": true, - "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" - } - }, "he": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", @@ -5207,12 +5111,6 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, "hosted-git-info": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", @@ -5238,18 +5136,26 @@ "dev": true }, "html-minifier": { - "version": "3.5.18", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.18.tgz", - "integrity": "sha512-sczoq/9zeXiKZMj8tsQzHJE7EyjrpMHvblTLuh9o8h5923a6Ts5uQ/3YdY+xIqJYRjzHQPlrHjfjh0BtwPJG0g==", + "version": "3.5.20", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.20.tgz", + "integrity": "sha512-ZmgNLaTp54+HFKkONyLFEfs5dd/ZOtlquKaTnqIWFmx3Av5zG6ZPcV2d0o9XM2fXOTxxIf6eDcwzFFotke/5zA==", "dev": true, "requires": { "camel-case": "3.0.x", - "clean-css": "4.1.x", - "commander": "2.16.x", + "clean-css": "4.2.x", + "commander": "2.17.x", "he": "1.1.x", "param-case": "2.1.x", "relateurl": "0.2.x", "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + } } }, "html-webpack-plugin": { @@ -5414,9 +5320,9 @@ } }, "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -5530,11 +5436,6 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, - "install": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/install/-/install-0.11.2.tgz", - "integrity": "sha512-vm3WeuqkmCK/jD56s7pWLKl4QoHMdcIwLlsMAFYV3XAbrz+RdyOJvtIQn/A1LiaNz2djUdwec01/90KLSIaUGg==" - }, "internal-ip": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", @@ -5913,12 +5814,6 @@ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -6113,6 +6008,15 @@ "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=", "dev": true }, + "jasmine-diff": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/jasmine-diff/-/jasmine-diff-0.1.3.tgz", + "integrity": "sha1-k8zC3MQQKMXd1GBlWAdIOfLe6qg=", + "dev": true, + "requires": { + "diff": "^3.2.0" + } + }, "jasmine-spec-reporter": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz", @@ -6129,9 +6033,9 @@ "dev": true }, "js-base64": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.6.tgz", - "integrity": "sha512-O9SR2NVICx6rCqh1qsU91QZ5IoNa+2T1ROJ0OQlfvATKGmnjsAvg3r0E5ufPZ4a95jdKTPXhFWiE/sOZ7a5Rtg==", + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.8.tgz", + "integrity": "sha512-hm2nYpDrwoO/OzBhdcqs/XGT6XjSuSSCVEpia+Kl2J6x4CYt5hISlVL/AYU1khoDXv0AQVgxtdJySb9gjAn56Q==", "dev": true, "optional": true }, @@ -6190,16 +6094,6 @@ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", "dev": true }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "optional": true, - "requires": { - "jsonify": "~0.0.0" - } - }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -6218,13 +6112,6 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true, - "optional": true - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -6537,11 +6424,12 @@ "dev": true }, "less": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/less/-/less-3.7.1.tgz", - "integrity": "sha512-Cmf5XJlzNklkBC8eAa+Ef16AHUBAkApHNAw3x9Vmn84h2BvGrri5Id7kf6H1n6SN74Fc0WdHIRPlFMxsl0eJkA==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/less/-/less-3.8.1.tgz", + "integrity": "sha512-8HFGuWmL3FhQR0aH89escFNBQH/nEiYPP2ltDFdQw2chE28Yx2E3lhAIq9Y2saYwLSwa699s4dBVEfCY8Drf7Q==", "dev": true, "requires": { + "clone": "^2.1.2", "errno": "^0.1.1", "graceful-fs": "^4.1.2", "image-size": "~0.5.0", @@ -6583,9 +6471,9 @@ } }, "license-webpack-plugin": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.3.1.tgz", - "integrity": "sha512-NqAFodJdpBUuf1iD+Ij8hQvF0rCFKlO2KaieoQzAPhFgzLCtJnC7Z7x5gQbGNjoe++wOKAtAmwVEIBLqq2Yp1A==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.4.0.tgz", + "integrity": "sha512-iwuNFMWbXS76WiQXJBTs8/7Tby4NQnY8AIkBMuJG5El79UT8zWrJQMfpW+KRXt4Y2Bs5uk+Myg/MO7ROSF8jzA==", "dev": true, "requires": { "ejs": "^2.5.7" @@ -6685,15 +6573,6 @@ "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", "dev": true }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "requires": { - "chalk": "^2.0.1" - } - }, "log4js": { "version": "0.6.38", "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", @@ -6742,16 +6621,6 @@ "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", "dev": true }, - "loglevelnext": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", - "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", - "dev": true, - "requires": { - "es6-symbol": "^3.1.1", - "object.assign": "^4.1.0" - } - }, "long": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", @@ -6952,18 +6821,18 @@ "dev": true }, "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", "dev": true }, "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "dev": true, "requires": { - "mime-db": "~1.33.0" + "mime-db": "~1.35.0" } }, "mimic-fn": { @@ -6973,14 +6842,27 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.1.tgz", - "integrity": "sha512-XWuB3G61Rtasq/gLe7cp5cuozehE6hN+E4sxCamRR/WDiHTg+f7ZIAS024r8UJQffY+e2gGELXQZgQoFDfNDCg==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.2.tgz", + "integrity": "sha512-ots7URQH4wccfJq9Ssrzu2+qupbncAce4TmTzunI9CIwlQMp2XI+WNUw6xWF6MMAGAm1cbUVINrSjATaVMyKXg==", "dev": true, "requires": { - "@webpack-contrib/schema-utils": "^1.0.0-beta.0", "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0", "webpack-sources": "^1.1.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } } }, "minimalistic-assert": { @@ -7150,15 +7032,9 @@ "dev": true }, "neo-async": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", - "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", - "dev": true - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz", + "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==", "dev": true }, "ng2-charts": { @@ -7178,9 +7054,9 @@ } }, "ngx-color-picker": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/ngx-color-picker/-/ngx-color-picker-6.5.0.tgz", - "integrity": "sha512-FPzIcJLiwJ0dvH7Eu/SoNofAQcUeoR5K6gOFO68sk4Z26G5IGpvKg3ydi1WuPuXpb2FCClY2iE6aE8B/b3ZYRg==" + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/ngx-color-picker/-/ngx-color-picker-6.6.0.tgz", + "integrity": "sha512-tKLBwYXtQAbEiW2obmSJczIH6ZzrH/c0BNdZNJx+ciFZTdPrDa+psdmskuyNjuRmyGoIRYuksmLdrpXTQABwEg==" }, "ngx-cookie-service": { "version": "1.0.10", @@ -7203,9 +7079,9 @@ "dev": true }, "node-gyp": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.7.0.tgz", - "integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", "dev": true, "optional": true, "requires": { @@ -7216,125 +7092,13 @@ "nopt": "2 || 3", "npmlog": "0 || 1 || 2 || 3 || 4", "osenv": "0", - "request": ">=2.9.0 <2.82.0", + "request": "^2.87.0", "rimraf": "2", "semver": "~5.3.0", "tar": "^2.0.0", "which": "1" }, "dependencies": { - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "optional": true, - "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "optional": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" - } - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "optional": true, - "requires": { - "ajv": "^4.9.1", - "har-schema": "^1.0.5" - } - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "dev": true, - "optional": true - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~4.2.1", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "performance-now": "^0.2.0", - "qs": "~6.4.0", - "safe-buffer": "^5.0.1", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.0.0" - } - }, "semver": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", @@ -7384,9 +7148,9 @@ } }, "node-sass": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.2.tgz", - "integrity": "sha512-LdxoJLZutx0aQXHtWIYwJKMj+9pTjneTcLWJgzf2XbGu0q5pRNqW5QvFCEdm3mc5rJOdru/mzln5d0EZLacf6g==", + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.3.tgz", + "integrity": "sha512-XzXyGjO+84wxyH7fV6IwBOTrEBe2f0a6SBze9QWWYR/cL74AcQUks2AsqcCZenl/Fp/JVbuEaLpgrLtocwBUww==", "dev": true, "optional": true, "requires": { @@ -7403,7 +7167,7 @@ "meow": "^3.7.0", "mkdirp": "^0.5.1", "nan": "^2.10.0", - "node-gyp": "^3.3.1", + "node-gyp": "^3.8.0", "npmlog": "^4.0.0", "request": "2.87.0", "sass-graph": "^2.2.4", @@ -7477,4163 +7241,6 @@ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, - "npm": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-5.10.0.tgz", - "integrity": "sha512-lvjvjgR5wG2RJ2uqak1xtZcVAWMwVOzN5HkUlUj/n8rU1f3A0fNn+7HwOzH9Lyf0Ppyu9ApgsEpHczOSnx1cwA==", - "requires": { - "JSONStream": "^1.3.2", - "abbrev": "~1.1.1", - "ansi-regex": "~3.0.0", - "ansicolors": "~0.3.2", - "ansistyles": "~0.1.3", - "aproba": "~1.2.0", - "archy": "~1.0.0", - "bin-links": "^1.1.0", - "bluebird": "~3.5.1", - "byte-size": "^4.0.2", - "cacache": "^10.0.4", - "call-limit": "~1.1.0", - "chownr": "~1.0.1", - "cli-columns": "^3.1.2", - "cli-table2": "~0.2.0", - "cmd-shim": "~2.0.2", - "columnify": "~1.5.4", - "config-chain": "~1.1.11", - "debuglog": "*", - "detect-indent": "~5.0.0", - "detect-newline": "^2.1.0", - "dezalgo": "~1.0.3", - "editor": "~1.0.0", - "find-npm-prefix": "^1.0.2", - "fs-vacuum": "~1.2.10", - "fs-write-stream-atomic": "~1.0.10", - "gentle-fs": "^2.0.1", - "glob": "~7.1.2", - "graceful-fs": "~4.1.11", - "has-unicode": "~2.0.1", - "hosted-git-info": "^2.6.0", - "iferr": "~0.1.5", - "imurmurhash": "*", - "inflight": "~1.0.6", - "inherits": "~2.0.3", - "ini": "^1.3.5", - "init-package-json": "^1.10.3", - "is-cidr": "~1.0.0", - "json-parse-better-errors": "^1.0.2", - "lazy-property": "~1.0.0", - "libcipm": "^1.6.2", - "libnpx": "^10.2.0", - "lock-verify": "^2.0.2", - "lockfile": "^1.0.4", - "lodash._baseindexof": "*", - "lodash._baseuniq": "~4.6.0", - "lodash._bindcallback": "*", - "lodash._cacheindexof": "*", - "lodash._createcache": "*", - "lodash._getnative": "*", - "lodash.clonedeep": "~4.5.0", - "lodash.restparam": "*", - "lodash.union": "~4.6.0", - "lodash.uniq": "~4.5.0", - "lodash.without": "~4.4.0", - "lru-cache": "^4.1.2", - "meant": "~1.0.1", - "mississippi": "^3.0.0", - "mkdirp": "~0.5.1", - "move-concurrently": "^1.0.1", - "node-gyp": "^3.6.2", - "nopt": "~4.0.1", - "normalize-package-data": "~2.4.0", - "npm-audit-report": "^1.0.9", - "npm-cache-filename": "~1.0.2", - "npm-install-checks": "~3.0.0", - "npm-lifecycle": "^2.0.1", - "npm-package-arg": "^6.1.0", - "npm-packlist": "~1.1.10", - "npm-profile": "^3.0.1", - "npm-registry-client": "^8.5.1", - "npm-registry-fetch": "^1.1.0", - "npm-user-validate": "~1.0.0", - "npmlog": "~4.1.2", - "once": "~1.4.0", - "opener": "~1.4.3", - "osenv": "^0.1.5", - "pacote": "^7.6.1", - "path-is-inside": "~1.0.2", - "promise-inflight": "~1.0.1", - "qrcode-terminal": "^0.12.0", - "query-string": "^6.1.0", - "qw": "~1.0.1", - "read": "~1.0.7", - "read-cmd-shim": "~1.0.1", - "read-installed": "~4.0.3", - "read-package-json": "^2.0.13", - "read-package-tree": "^5.2.1", - "readable-stream": "^2.3.6", - "readdir-scoped-modules": "*", - "request": "^2.85.0", - "retry": "^0.12.0", - "rimraf": "~2.6.2", - "safe-buffer": "^5.1.2", - "semver": "^5.5.0", - "sha": "~2.0.1", - "slide": "~1.1.6", - "sorted-object": "~2.0.1", - "sorted-union-stream": "~2.1.3", - "ssri": "^5.3.0", - "strip-ansi": "~4.0.0", - "tar": "^4.4.2", - "text-table": "~0.2.0", - "tiny-relative-date": "^1.3.0", - "uid-number": "0.0.6", - "umask": "~1.1.0", - "unique-filename": "~1.1.0", - "unpipe": "~1.0.0", - "update-notifier": "^2.5.0", - "uuid": "^3.2.1", - "validate-npm-package-license": "^3.0.3", - "validate-npm-package-name": "~3.0.0", - "which": "~1.3.0", - "worker-farm": "^1.6.0", - "wrappy": "~1.0.2", - "write-file-atomic": "^2.3.0" - }, - "dependencies": { - "JSONStream": { - "version": "1.3.2", - "bundled": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "dependencies": { - "jsonparse": { - "version": "1.3.1", - "bundled": true - }, - "through": { - "version": "2.3.8", - "bundled": true - } - } - }, - "abbrev": { - "version": "1.1.1", - "bundled": true - }, - "ansi-regex": { - "version": "3.0.0", - "bundled": true - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true - }, - "archy": { - "version": "1.0.0", - "bundled": true - }, - "bin-links": { - "version": "1.1.0", - "bundled": true, - "requires": { - "bluebird": "^3.5.0", - "cmd-shim": "^2.0.2", - "fs-write-stream-atomic": "^1.0.10", - "gentle-fs": "^2.0.0", - "graceful-fs": "^4.1.11", - "slide": "^1.1.6" - } - }, - "bluebird": { - "version": "3.5.1", - "bundled": true - }, - "byte-size": { - "version": "4.0.2", - "bundled": true - }, - "cacache": { - "version": "10.0.4", - "bundled": true, - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" - }, - "dependencies": { - "mississippi": { - "version": "2.0.0", - "bundled": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.1", - "bundled": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true - } - } - }, - "duplexify": { - "version": "3.5.4", - "bundled": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true - } - } - }, - "end-of-stream": { - "version": "1.4.1", - "bundled": true, - "requires": { - "once": "^1.4.0" - } - }, - "flush-write-stream": { - "version": "1.0.2", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - } - }, - "from2": { - "version": "2.3.0", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "parallel-transform": { - "version": "1.1.0", - "bundled": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "cyclist": { - "version": "0.2.2", - "bundled": true - } - } - }, - "pump": { - "version": "2.0.1", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.4.0", - "bundled": true, - "requires": { - "duplexify": "^3.5.3", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "stream-each": { - "version": "1.2.2", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true - } - } - }, - "through2": { - "version": "2.0.3", - "bundled": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "bundled": true - } - } - } - } - }, - "y18n": { - "version": "4.0.0", - "bundled": true - } - } - }, - "call-limit": { - "version": "1.1.0", - "bundled": true - }, - "chownr": { - "version": "1.0.1", - "bundled": true - }, - "cli-columns": { - "version": "3.1.2", - "bundled": true, - "requires": { - "string-width": "^2.0.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "2.1.1", - "bundled": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true - } - } - } - } - }, - "cli-table2": { - "version": "0.2.0", - "bundled": true, - "requires": { - "colors": "^1.1.2", - "lodash": "^3.10.1", - "string-width": "^1.0.1" - }, - "dependencies": { - "colors": { - "version": "1.1.2", - "bundled": true, - "optional": true - }, - "lodash": { - "version": "3.10.1", - "bundled": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "^1.0.0" - }, - "dependencies": { - "number-is-nan": { - "version": "1.0.1", - "bundled": true - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true - } - } - } - } - } - } - }, - "cmd-shim": { - "version": "2.0.2", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2", - "mkdirp": "~0.5.0" - } - }, - "columnify": { - "version": "1.5.4", - "bundled": true, - "requires": { - "strip-ansi": "^3.0.0", - "wcwidth": "^1.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true - } - } - }, - "wcwidth": { - "version": "1.0.1", - "bundled": true, - "requires": { - "defaults": "^1.0.3" - }, - "dependencies": { - "defaults": { - "version": "1.0.3", - "bundled": true, - "requires": { - "clone": "^1.0.2" - }, - "dependencies": { - "clone": { - "version": "1.0.2", - "bundled": true - } - } - } - } - } - } - }, - "config-chain": { - "version": "1.1.11", - "bundled": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - }, - "dependencies": { - "proto-list": { - "version": "1.2.4", - "bundled": true - } - } - }, - "debuglog": { - "version": "1.0.1", - "bundled": true - }, - "detect-indent": { - "version": "5.0.0", - "bundled": true - }, - "detect-newline": { - "version": "2.1.0", - "bundled": true - }, - "dezalgo": { - "version": "1.0.3", - "bundled": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - }, - "dependencies": { - "asap": { - "version": "2.0.5", - "bundled": true - } - } - }, - "editor": { - "version": "1.0.0", - "bundled": true - }, - "find-npm-prefix": { - "version": "1.0.2", - "bundled": true - }, - "fs-vacuum": { - "version": "1.2.10", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2", - "path-is-inside": "^1.0.1", - "rimraf": "^2.5.2" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "gentle-fs": { - "version": "2.0.1", - "bundled": true, - "requires": { - "aproba": "^1.1.2", - "fs-vacuum": "^1.2.10", - "graceful-fs": "^4.1.11", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "path-is-inside": "^1.0.2", - "read-cmd-shim": "^1.0.1", - "slide": "^1.1.6" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - } - } - } - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - } - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true - }, - "hosted-git-info": { - "version": "2.6.0", - "bundled": true - }, - "iferr": { - "version": "0.1.5", - "bundled": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.5", - "bundled": true - }, - "init-package-json": { - "version": "1.10.3", - "bundled": true, - "requires": { - "glob": "^7.1.1", - "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", - "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "1 || 2", - "semver": "2.x || 3.x || 4 || 5", - "validate-npm-package-license": "^3.0.1", - "validate-npm-package-name": "^3.0.0" - }, - "dependencies": { - "promzard": { - "version": "0.3.0", - "bundled": true, - "requires": { - "read": "1" - } - } - } - }, - "is-cidr": { - "version": "1.0.0", - "bundled": true, - "requires": { - "cidr-regex": "1.0.6" - }, - "dependencies": { - "cidr-regex": { - "version": "1.0.6", - "bundled": true - } - } - }, - "json-parse-better-errors": { - "version": "1.0.2", - "bundled": true - }, - "lazy-property": { - "version": "1.0.0", - "bundled": true - }, - "libcipm": { - "version": "1.6.2", - "bundled": true, - "requires": { - "bin-links": "^1.1.0", - "bluebird": "^3.5.1", - "find-npm-prefix": "^1.0.2", - "graceful-fs": "^4.1.11", - "lock-verify": "^2.0.0", - "npm-lifecycle": "^2.0.0", - "npm-logical-tree": "^1.2.1", - "npm-package-arg": "^6.0.0", - "pacote": "^7.5.1", - "protoduck": "^5.0.0", - "read-package-json": "^2.0.12", - "rimraf": "^2.6.2", - "worker-farm": "^1.5.4" - }, - "dependencies": { - "lock-verify": { - "version": "2.0.1", - "bundled": true, - "requires": { - "npm-package-arg": "^5.1.2", - "semver": "^5.4.1" - }, - "dependencies": { - "npm-package-arg": { - "version": "5.1.2", - "bundled": true, - "requires": { - "hosted-git-info": "^2.4.2", - "osenv": "^0.1.4", - "semver": "^5.1.0", - "validate-npm-package-name": "^3.0.0" - } - } - } - }, - "npm-logical-tree": { - "version": "1.2.1", - "bundled": true - }, - "protoduck": { - "version": "5.0.0", - "bundled": true, - "requires": { - "genfun": "^4.0.1" - }, - "dependencies": { - "genfun": { - "version": "4.0.1", - "bundled": true - } - } - } - } - }, - "libnpx": { - "version": "10.2.0", - "bundled": true, - "requires": { - "dotenv": "^5.0.1", - "npm-package-arg": "^6.0.0", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.0", - "update-notifier": "^2.3.0", - "which": "^1.3.0", - "y18n": "^4.0.0", - "yargs": "^11.0.0" - }, - "dependencies": { - "dotenv": { - "version": "5.0.1", - "bundled": true - }, - "y18n": { - "version": "4.0.0", - "bundled": true - }, - "yargs": { - "version": "11.0.0", - "bundled": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" - }, - "dependencies": { - "cliui": { - "version": "4.1.0", - "bundled": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "wrap-ansi": { - "version": "2.1.0", - "bundled": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "^1.0.0" - }, - "dependencies": { - "number-is-nan": { - "version": "1.0.1", - "bundled": true - } - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true - } - } - } - } - } - } - }, - "decamelize": { - "version": "1.2.0", - "bundled": true - }, - "find-up": { - "version": "2.1.0", - "bundled": true, - "requires": { - "locate-path": "^2.0.0" - }, - "dependencies": { - "locate-path": { - "version": "2.0.0", - "bundled": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "dependencies": { - "p-locate": { - "version": "2.0.0", - "bundled": true, - "requires": { - "p-limit": "^1.1.0" - }, - "dependencies": { - "p-limit": { - "version": "1.2.0", - "bundled": true, - "requires": { - "p-try": "^1.0.0" - }, - "dependencies": { - "p-try": { - "version": "1.0.0", - "bundled": true - } - } - } - } - }, - "path-exists": { - "version": "3.0.0", - "bundled": true - } - } - } - } - }, - "get-caller-file": { - "version": "1.0.2", - "bundled": true - }, - "os-locale": { - "version": "2.1.0", - "bundled": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - }, - "dependencies": { - "execa": { - "version": "0.7.0", - "bundled": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "bundled": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "requires": { - "shebang-regex": "^1.0.0" - }, - "dependencies": { - "shebang-regex": { - "version": "1.0.0", - "bundled": true - } - } - } - } - }, - "get-stream": { - "version": "3.0.0", - "bundled": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "requires": { - "path-key": "^2.0.0" - }, - "dependencies": { - "path-key": { - "version": "2.0.1", - "bundled": true - } - } - }, - "p-finally": { - "version": "1.0.0", - "bundled": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true - } - } - }, - "lcid": { - "version": "1.0.0", - "bundled": true, - "requires": { - "invert-kv": "^1.0.0" - }, - "dependencies": { - "invert-kv": { - "version": "1.0.0", - "bundled": true - } - } - }, - "mem": { - "version": "1.1.0", - "bundled": true, - "requires": { - "mimic-fn": "^1.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "bundled": true - } - } - } - } - }, - "require-directory": { - "version": "2.1.1", - "bundled": true - }, - "require-main-filename": { - "version": "1.0.1", - "bundled": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true - }, - "string-width": { - "version": "2.1.1", - "bundled": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true - } - } - }, - "which-module": { - "version": "2.0.0", - "bundled": true - }, - "y18n": { - "version": "3.2.1", - "bundled": true - }, - "yargs-parser": { - "version": "9.0.2", - "bundled": true, - "requires": { - "camelcase": "^4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "bundled": true - } - } - } - } - } - } - }, - "lock-verify": { - "version": "2.0.2", - "bundled": true, - "requires": { - "npm-package-arg": "^5.1.2 || 6", - "semver": "^5.4.1" - } - }, - "lockfile": { - "version": "1.0.4", - "bundled": true, - "requires": { - "signal-exit": "^3.0.2" - }, - "dependencies": { - "signal-exit": { - "version": "3.0.2", - "bundled": true - } - } - }, - "lodash._baseindexof": { - "version": "3.1.0", - "bundled": true - }, - "lodash._baseuniq": { - "version": "4.6.0", - "bundled": true, - "requires": { - "lodash._createset": "~4.0.0", - "lodash._root": "~3.0.0" - }, - "dependencies": { - "lodash._createset": { - "version": "4.0.3", - "bundled": true - }, - "lodash._root": { - "version": "3.0.1", - "bundled": true - } - } - }, - "lodash._bindcallback": { - "version": "3.0.1", - "bundled": true - }, - "lodash._cacheindexof": { - "version": "3.0.2", - "bundled": true - }, - "lodash._createcache": { - "version": "3.1.2", - "bundled": true, - "requires": { - "lodash._getnative": "^3.0.0" - } - }, - "lodash._getnative": { - "version": "3.9.1", - "bundled": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "bundled": true - }, - "lodash.restparam": { - "version": "3.6.1", - "bundled": true - }, - "lodash.union": { - "version": "4.6.0", - "bundled": true - }, - "lodash.uniq": { - "version": "4.5.0", - "bundled": true - }, - "lodash.without": { - "version": "4.4.0", - "bundled": true - }, - "lru-cache": { - "version": "4.1.2", - "bundled": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - }, - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "bundled": true - }, - "yallist": { - "version": "2.1.2", - "bundled": true - } - } - }, - "meant": { - "version": "1.0.1", - "bundled": true - }, - "mississippi": { - "version": "3.0.0", - "bundled": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.1", - "bundled": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true - } - } - }, - "duplexify": { - "version": "3.5.4", - "bundled": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true - } - } - }, - "end-of-stream": { - "version": "1.4.1", - "bundled": true, - "requires": { - "once": "^1.4.0" - } - }, - "flush-write-stream": { - "version": "1.0.2", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - } - }, - "from2": { - "version": "2.3.0", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "parallel-transform": { - "version": "1.1.0", - "bundled": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "cyclist": { - "version": "0.2.2", - "bundled": true - } - } - }, - "pump": { - "version": "3.0.0", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.4.0", - "bundled": true, - "requires": { - "duplexify": "^3.5.3", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "stream-each": { - "version": "1.2.2", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true - } - } - }, - "through2": { - "version": "2.0.3", - "bundled": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "bundled": true - } - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true - } - } - }, - "move-concurrently": { - "version": "1.0.1", - "bundled": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "copy-concurrently": { - "version": "1.0.5", - "bundled": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "run-queue": { - "version": "1.0.3", - "bundled": true, - "requires": { - "aproba": "^1.1.1" - } - } - } - }, - "node-gyp": { - "version": "3.6.2", - "bundled": true, - "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "2", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "fstream": { - "version": "1.0.11", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - } - } - } - } - }, - "nopt": { - "version": "3.0.6", - "bundled": true, - "requires": { - "abbrev": "1" - } - }, - "semver": { - "version": "5.3.0", - "bundled": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - }, - "dependencies": { - "block-stream": { - "version": "0.0.9", - "bundled": true, - "requires": { - "inherits": "~2.0.0" - } - } - } - } - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "bundled": true, - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "requires": { - "builtin-modules": "^1.0.0" - }, - "dependencies": { - "builtin-modules": { - "version": "1.1.1", - "bundled": true - } - } - } - } - }, - "npm-audit-report": { - "version": "1.0.9", - "bundled": true, - "requires": { - "cli-table2": "^0.2.0", - "console-control-strings": "^1.1.0" - }, - "dependencies": { - "console-control-strings": { - "version": "1.1.0", - "bundled": true - } - } - }, - "npm-cache-filename": { - "version": "1.0.2", - "bundled": true - }, - "npm-install-checks": { - "version": "3.0.0", - "bundled": true, - "requires": { - "semver": "^2.3.0 || 3.x || 4 || 5" - } - }, - "npm-lifecycle": { - "version": "2.0.1", - "bundled": true, - "requires": { - "byline": "^5.0.0", - "graceful-fs": "^4.1.11", - "node-gyp": "^3.6.2", - "resolve-from": "^4.0.0", - "slide": "^1.1.6", - "uid-number": "0.0.6", - "umask": "^1.1.0", - "which": "^1.3.0" - }, - "dependencies": { - "byline": { - "version": "5.0.0", - "bundled": true - }, - "resolve-from": { - "version": "4.0.0", - "bundled": true - } - } - }, - "npm-package-arg": { - "version": "6.1.0", - "bundled": true, - "requires": { - "hosted-git-info": "^2.6.0", - "osenv": "^0.1.5", - "semver": "^5.5.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - }, - "dependencies": { - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "requires": { - "minimatch": "^3.0.4" - }, - "dependencies": { - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - } - } - } - } - } - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true - } - } - }, - "npm-profile": { - "version": "3.0.1", - "bundled": true, - "requires": { - "aproba": "^1.1.2", - "make-fetch-happen": "^2.5.0" - }, - "dependencies": { - "make-fetch-happen": { - "version": "2.6.0", - "bundled": true, - "requires": { - "agentkeepalive": "^3.3.0", - "cacache": "^10.0.0", - "http-cache-semantics": "^3.8.0", - "http-proxy-agent": "^2.0.0", - "https-proxy-agent": "^2.1.0", - "lru-cache": "^4.1.1", - "mississippi": "^1.2.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^3.0.1", - "ssri": "^5.0.0" - }, - "dependencies": { - "agentkeepalive": { - "version": "3.3.0", - "bundled": true, - "requires": { - "humanize-ms": "^1.2.1" - }, - "dependencies": { - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "requires": { - "ms": "^2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "bundled": true - } - } - } - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "bundled": true - }, - "http-proxy-agent": { - "version": "2.0.0", - "bundled": true, - "requires": { - "agent-base": "4", - "debug": "2" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true - } - } - } - } - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true - } - } - } - } - }, - "https-proxy-agent": { - "version": "2.1.1", - "bundled": true, - "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true - } - } - } - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true - } - } - } - } - }, - "mississippi": { - "version": "1.3.1", - "bundled": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^1.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.0", - "bundled": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true - } - } - }, - "duplexify": { - "version": "3.5.3", - "bundled": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true - } - } - }, - "end-of-stream": { - "version": "1.4.1", - "bundled": true, - "requires": { - "once": "^1.4.0" - } - }, - "flush-write-stream": { - "version": "1.0.2", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - } - }, - "from2": { - "version": "2.3.0", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "parallel-transform": { - "version": "1.1.0", - "bundled": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "cyclist": { - "version": "0.2.2", - "bundled": true - } - } - }, - "pump": { - "version": "1.0.3", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.4.0", - "bundled": true, - "requires": { - "duplexify": "^3.5.3", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "stream-each": { - "version": "1.2.2", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true - } - } - }, - "through2": { - "version": "2.0.3", - "bundled": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "bundled": true - } - } - } - } - }, - "node-fetch-npm": { - "version": "2.0.2", - "bundled": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "encoding": { - "version": "0.1.12", - "bundled": true, - "requires": { - "iconv-lite": "~0.4.13" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.19", - "bundled": true - } - } - }, - "json-parse-better-errors": { - "version": "1.0.1", - "bundled": true - } - } - }, - "promise-retry": { - "version": "1.1.1", - "bundled": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "bundled": true - }, - "retry": { - "version": "0.10.1", - "bundled": true - } - } - }, - "socks-proxy-agent": { - "version": "3.0.1", - "bundled": true, - "requires": { - "agent-base": "^4.1.0", - "socks": "^1.1.10" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true - } - } - } - } - }, - "socks": { - "version": "1.1.10", - "bundled": true, - "requires": { - "ip": "^1.1.4", - "smart-buffer": "^1.0.13" - }, - "dependencies": { - "ip": { - "version": "1.1.5", - "bundled": true - }, - "smart-buffer": { - "version": "1.1.15", - "bundled": true - } - } - } - } - } - } - } - } - }, - "npm-registry-client": { - "version": "8.5.1", - "bundled": true, - "requires": { - "concat-stream": "^1.5.2", - "graceful-fs": "^4.1.6", - "normalize-package-data": "~1.0.1 || ^2.0.0", - "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", - "npmlog": "2 || ^3.1.0 || ^4.0.0", - "once": "^1.3.3", - "request": "^2.74.0", - "retry": "^0.10.0", - "safe-buffer": "^5.1.1", - "semver": "2 >=2.2.1 || 3.x || 4 || 5", - "slide": "^1.1.3", - "ssri": "^5.2.4" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.1", - "bundled": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true - } - } - }, - "retry": { - "version": "0.10.1", - "bundled": true - } - } - }, - "npm-registry-fetch": { - "version": "1.1.0", - "bundled": true, - "requires": { - "bluebird": "^3.5.1", - "figgy-pudding": "^2.0.1", - "lru-cache": "^4.1.2", - "make-fetch-happen": "^3.0.0", - "npm-package-arg": "^6.0.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "figgy-pudding": { - "version": "2.0.1", - "bundled": true - }, - "make-fetch-happen": { - "version": "3.0.0", - "bundled": true, - "requires": { - "agentkeepalive": "^3.4.1", - "cacache": "^10.0.4", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.0", - "lru-cache": "^4.1.2", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^3.0.1", - "ssri": "^5.2.4" - }, - "dependencies": { - "agentkeepalive": { - "version": "3.4.1", - "bundled": true, - "requires": { - "humanize-ms": "^1.2.1" - }, - "dependencies": { - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "requires": { - "ms": "^2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "bundled": true - } - } - } - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "bundled": true - }, - "http-proxy-agent": { - "version": "2.1.0", - "bundled": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true - } - } - } - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true - } - } - } - } - }, - "https-proxy-agent": { - "version": "2.2.1", - "bundled": true, - "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true - } - } - } - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true - } - } - } - } - }, - "node-fetch-npm": { - "version": "2.0.2", - "bundled": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "encoding": { - "version": "0.1.12", - "bundled": true, - "requires": { - "iconv-lite": "~0.4.13" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "requires": { - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "safer-buffer": { - "version": "2.1.2", - "bundled": true - } - } - } - } - } - } - }, - "promise-retry": { - "version": "1.1.1", - "bundled": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "bundled": true - }, - "retry": { - "version": "0.10.1", - "bundled": true - } - } - }, - "socks-proxy-agent": { - "version": "3.0.1", - "bundled": true, - "requires": { - "agent-base": "^4.1.0", - "socks": "^1.1.10" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true - } - } - } - } - }, - "socks": { - "version": "1.1.10", - "bundled": true, - "requires": { - "ip": "^1.1.4", - "smart-buffer": "^1.0.13" - }, - "dependencies": { - "ip": { - "version": "1.1.5", - "bundled": true - }, - "smart-buffer": { - "version": "1.1.15", - "bundled": true - } - } - } - } - } - } - } - } - }, - "npm-user-validate": { - "version": "1.0.0", - "bundled": true - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - }, - "dependencies": { - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "delegates": { - "version": "1.0.0", - "bundled": true - } - } - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "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" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "bundled": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "^1.0.0" - }, - "dependencies": { - "number-is-nan": { - "version": "1.0.1", - "bundled": true - } - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true - } - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "requires": { - "string-width": "^1.0.2" - } - } - } - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true - } - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1" - } - }, - "opener": { - "version": "1.4.3", - "bundled": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - }, - "dependencies": { - "os-homedir": { - "version": "1.0.2", - "bundled": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true - } - } - }, - "pacote": { - "version": "7.6.1", - "bundled": true, - "requires": { - "bluebird": "^3.5.1", - "cacache": "^10.0.4", - "get-stream": "^3.0.0", - "glob": "^7.1.2", - "lru-cache": "^4.1.1", - "make-fetch-happen": "^2.6.0", - "minimatch": "^3.0.4", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.4.0", - "npm-package-arg": "^6.0.0", - "npm-packlist": "^1.1.10", - "npm-pick-manifest": "^2.1.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.0", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.1", - "semver": "^5.5.0", - "ssri": "^5.2.4", - "tar": "^4.4.0", - "unique-filename": "^1.1.0", - "which": "^1.3.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "bundled": true - }, - "make-fetch-happen": { - "version": "2.6.0", - "bundled": true, - "requires": { - "agentkeepalive": "^3.3.0", - "cacache": "^10.0.0", - "http-cache-semantics": "^3.8.0", - "http-proxy-agent": "^2.0.0", - "https-proxy-agent": "^2.1.0", - "lru-cache": "^4.1.1", - "mississippi": "^1.2.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^3.0.1", - "ssri": "^5.0.0" - }, - "dependencies": { - "agentkeepalive": { - "version": "3.4.0", - "bundled": true, - "requires": { - "humanize-ms": "^1.2.1" - }, - "dependencies": { - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "requires": { - "ms": "^2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "bundled": true - } - } - } - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "bundled": true - }, - "http-proxy-agent": { - "version": "2.1.0", - "bundled": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true - } - } - } - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true - } - } - } - } - }, - "https-proxy-agent": { - "version": "2.2.0", - "bundled": true, - "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true - } - } - } - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true - } - } - } - } - }, - "mississippi": { - "version": "1.3.1", - "bundled": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^1.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.1", - "bundled": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true - } - } - }, - "duplexify": { - "version": "3.5.4", - "bundled": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true - } - } - }, - "end-of-stream": { - "version": "1.4.1", - "bundled": true, - "requires": { - "once": "^1.4.0" - } - }, - "flush-write-stream": { - "version": "1.0.2", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - } - }, - "from2": { - "version": "2.3.0", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "parallel-transform": { - "version": "1.1.0", - "bundled": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "cyclist": { - "version": "0.2.2", - "bundled": true - } - } - }, - "pump": { - "version": "1.0.3", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.4.0", - "bundled": true, - "requires": { - "duplexify": "^3.5.3", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "stream-each": { - "version": "1.2.2", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true - } - } - }, - "through2": { - "version": "2.0.3", - "bundled": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "bundled": true - } - } - } - } - }, - "node-fetch-npm": { - "version": "2.0.2", - "bundled": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "encoding": { - "version": "0.1.12", - "bundled": true, - "requires": { - "iconv-lite": "~0.4.13" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.19", - "bundled": true - } - } - }, - "json-parse-better-errors": { - "version": "1.0.1", - "bundled": true - } - } - }, - "socks-proxy-agent": { - "version": "3.0.1", - "bundled": true, - "requires": { - "agent-base": "^4.1.0", - "socks": "^1.1.10" - }, - "dependencies": { - "agent-base": { - "version": "4.2.0", - "bundled": true, - "requires": { - "es6-promisify": "^5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "requires": { - "es6-promise": "^4.0.3" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "bundled": true - } - } - } - } - }, - "socks": { - "version": "1.1.10", - "bundled": true, - "requires": { - "ip": "^1.1.4", - "smart-buffer": "^1.0.13" - }, - "dependencies": { - "ip": { - "version": "1.1.5", - "bundled": true - }, - "smart-buffer": { - "version": "1.1.15", - "bundled": true - } - } - } - } - } - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - } - } - } - } - }, - "npm-pick-manifest": { - "version": "2.1.0", - "bundled": true, - "requires": { - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" - } - }, - "promise-retry": { - "version": "1.1.1", - "bundled": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "bundled": true - }, - "retry": { - "version": "0.10.1", - "bundled": true - } - } - }, - "protoduck": { - "version": "5.0.0", - "bundled": true, - "requires": { - "genfun": "^4.0.1" - }, - "dependencies": { - "genfun": { - "version": "4.0.1", - "bundled": true - } - } - } - } - }, - "path-is-inside": { - "version": "1.0.2", - "bundled": true - }, - "promise-inflight": { - "version": "1.0.1", - "bundled": true - }, - "qrcode-terminal": { - "version": "0.12.0", - "bundled": true - }, - "query-string": { - "version": "6.1.0", - "bundled": true, - "requires": { - "decode-uri-component": "^0.2.0", - "strict-uri-encode": "^2.0.0" - }, - "dependencies": { - "decode-uri-component": { - "version": "0.2.0", - "bundled": true - }, - "strict-uri-encode": { - "version": "2.0.0", - "bundled": true - } - } - }, - "qw": { - "version": "1.0.1", - "bundled": true - }, - "read": { - "version": "1.0.7", - "bundled": true, - "requires": { - "mute-stream": "~0.0.4" - }, - "dependencies": { - "mute-stream": { - "version": "0.0.7", - "bundled": true - } - } - }, - "read-cmd-shim": { - "version": "1.0.1", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2" - } - }, - "read-installed": { - "version": "4.0.3", - "bundled": true, - "requires": { - "debuglog": "^1.0.1", - "graceful-fs": "^4.1.2", - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "slide": "~1.1.3", - "util-extend": "^1.0.1" - }, - "dependencies": { - "util-extend": { - "version": "1.0.3", - "bundled": true - } - } - }, - "read-package-json": { - "version": "2.0.13", - "bundled": true, - "requires": { - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "json-parse-better-errors": "^1.0.1", - "normalize-package-data": "^2.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "json-parse-better-errors": { - "version": "1.0.1", - "bundled": true - }, - "slash": { - "version": "1.0.0", - "bundled": true - } - } - }, - "read-package-tree": { - "version": "5.2.1", - "bundled": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "once": "^1.3.0", - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0" - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "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" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - } - } - }, - "readdir-scoped-modules": { - "version": "1.0.2", - "bundled": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, - "request": { - "version": "2.85.0", - "bundled": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "hawk": "~6.0.2", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "stringstream": "~0.0.5", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" - }, - "dependencies": { - "aws-sign2": { - "version": "0.7.0", - "bundled": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true - }, - "combined-stream": { - "version": "1.0.6", - "bundled": true, - "requires": { - "delayed-stream": "~1.0.0" - }, - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "bundled": true - } - } - }, - "extend": { - "version": "3.0.1", - "bundled": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true - }, - "form-data": { - "version": "2.3.2", - "bundled": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "1.0.6", - "mime-types": "^2.1.12" - }, - "dependencies": { - "asynckit": { - "version": "0.4.0", - "bundled": true - } - } - }, - "har-validator": { - "version": "5.0.3", - "bundled": true, - "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "bundled": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - }, - "dependencies": { - "co": { - "version": "4.6.0", - "bundled": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "bundled": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "bundled": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "bundled": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "bundled": true - } - } - }, - "hawk": { - "version": "6.0.2", - "bundled": true, - "requires": { - "boom": "4.x.x", - "cryptiles": "3.x.x", - "hoek": "4.x.x", - "sntp": "2.x.x" - }, - "dependencies": { - "boom": { - "version": "4.3.1", - "bundled": true, - "requires": { - "hoek": "4.x.x" - } - }, - "cryptiles": { - "version": "3.1.2", - "bundled": true, - "requires": { - "boom": "5.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "bundled": true, - "requires": { - "hoek": "4.x.x" - } - } - } - }, - "hoek": { - "version": "4.2.1", - "bundled": true - }, - "sntp": { - "version": "2.1.0", - "bundled": true, - "requires": { - "hoek": "4.x.x" - } - } - } - }, - "http-signature": { - "version": "1.2.0", - "bundled": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true - }, - "jsprim": { - "version": "1.4.1", - "bundled": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, - "dependencies": { - "extsprintf": { - "version": "1.3.0", - "bundled": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true - }, - "verror": { - "version": "1.10.0", - "bundled": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true - } - } - } - } - }, - "sshpk": { - "version": "1.14.1", - "bundled": true, - "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", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "asn1": { - "version": "0.2.3", - "bundled": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "optional": true - } - } - } - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true - }, - "mime-types": { - "version": "2.1.18", - "bundled": true, - "requires": { - "mime-db": "~1.33.0" - }, - "dependencies": { - "mime-db": { - "version": "1.33.0", - "bundled": true - } - } - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true - }, - "performance-now": { - "version": "2.1.0", - "bundled": true - }, - "qs": { - "version": "6.5.1", - "bundled": true - }, - "stringstream": { - "version": "0.0.5", - "bundled": true - }, - "tough-cookie": { - "version": "2.3.4", - "bundled": true, - "requires": { - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "bundled": true - } - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "requires": { - "safe-buffer": "^5.0.1" - } - } - } - }, - "retry": { - "version": "0.12.0", - "bundled": true - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true - }, - "semver": { - "version": "5.5.0", - "bundled": true - }, - "sha": { - "version": "2.0.1", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2", - "readable-stream": "^2.0.2" - } - }, - "slide": { - "version": "1.1.6", - "bundled": true - }, - "sorted-object": { - "version": "2.0.1", - "bundled": true - }, - "sorted-union-stream": { - "version": "2.1.3", - "bundled": true, - "requires": { - "from2": "^1.3.0", - "stream-iterate": "^1.1.0" - }, - "dependencies": { - "from2": { - "version": "1.3.0", - "bundled": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~1.1.10" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "bundled": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "isarray": { - "version": "0.0.1", - "bundled": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true - } - } - } - } - }, - "stream-iterate": { - "version": "1.2.0", - "bundled": true, - "requires": { - "readable-stream": "^2.1.5", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true - } - } - } - } - }, - "ssri": { - "version": "5.3.0", - "bundled": true, - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "requires": { - "ansi-regex": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true - } - } - }, - "tar": { - "version": "4.4.2", - "bundled": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - }, - "dependencies": { - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true - } - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true - }, - "tiny-relative-date": { - "version": "1.3.0", - "bundled": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true - }, - "umask": { - "version": "1.1.0", - "bundled": true - }, - "unique-filename": { - "version": "1.1.0", - "bundled": true, - "requires": { - "unique-slug": "^2.0.0" - }, - "dependencies": { - "unique-slug": { - "version": "2.0.0", - "bundled": true, - "requires": { - "imurmurhash": "^0.1.4" - } - } - } - }, - "unpipe": { - "version": "1.0.0", - "bundled": true - }, - "update-notifier": { - "version": "2.5.0", - "bundled": true, - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "boxen": { - "version": "1.3.0", - "bundled": true, - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - }, - "dependencies": { - "ansi-align": { - "version": "2.0.0", - "bundled": true, - "requires": { - "string-width": "^2.0.0" - } - }, - "camelcase": { - "version": "4.1.0", - "bundled": true - }, - "cli-boxes": { - "version": "1.0.0", - "bundled": true - }, - "string-width": { - "version": "2.1.1", - "bundled": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true - } - } - }, - "term-size": { - "version": "1.2.0", - "bundled": true, - "requires": { - "execa": "^0.7.0" - }, - "dependencies": { - "execa": { - "version": "0.7.0", - "bundled": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "bundled": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "requires": { - "shebang-regex": "^1.0.0" - }, - "dependencies": { - "shebang-regex": { - "version": "1.0.0", - "bundled": true - } - } - } - } - }, - "get-stream": { - "version": "3.0.0", - "bundled": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "requires": { - "path-key": "^2.0.0" - }, - "dependencies": { - "path-key": { - "version": "2.0.1", - "bundled": true - } - } - }, - "p-finally": { - "version": "1.0.0", - "bundled": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true - } - } - } - } - }, - "widest-line": { - "version": "2.0.0", - "bundled": true, - "requires": { - "string-width": "^2.1.1" - } - } - } - }, - "chalk": { - "version": "2.4.1", - "bundled": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "bundled": true, - "requires": { - "color-convert": "^1.9.0" - }, - "dependencies": { - "color-convert": { - "version": "1.9.1", - "bundled": true, - "requires": { - "color-name": "^1.1.1" - }, - "dependencies": { - "color-name": { - "version": "1.1.3", - "bundled": true - } - } - } - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true - }, - "supports-color": { - "version": "5.4.0", - "bundled": true, - "requires": { - "has-flag": "^3.0.0" - }, - "dependencies": { - "has-flag": { - "version": "3.0.0", - "bundled": true - } - } - } - } - }, - "configstore": { - "version": "3.1.2", - "bundled": true, - "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "dot-prop": { - "version": "4.2.0", - "bundled": true, - "requires": { - "is-obj": "^1.0.0" - }, - "dependencies": { - "is-obj": { - "version": "1.0.1", - "bundled": true - } - } - }, - "make-dir": { - "version": "1.2.0", - "bundled": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "bundled": true - } - } - }, - "unique-string": { - "version": "1.0.0", - "bundled": true, - "requires": { - "crypto-random-string": "^1.0.0" - }, - "dependencies": { - "crypto-random-string": { - "version": "1.0.0", - "bundled": true - } - } - } - } - }, - "import-lazy": { - "version": "2.1.0", - "bundled": true - }, - "is-ci": { - "version": "1.1.0", - "bundled": true, - "requires": { - "ci-info": "^1.0.0" - }, - "dependencies": { - "ci-info": { - "version": "1.1.3", - "bundled": true - } - } - }, - "is-installed-globally": { - "version": "0.1.0", - "bundled": true, - "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" - }, - "dependencies": { - "global-dirs": { - "version": "0.1.1", - "bundled": true, - "requires": { - "ini": "^1.3.4" - } - }, - "is-path-inside": { - "version": "1.0.1", - "bundled": true, - "requires": { - "path-is-inside": "^1.0.1" - } - } - } - }, - "is-npm": { - "version": "1.0.0", - "bundled": true - }, - "latest-version": { - "version": "3.1.0", - "bundled": true, - "requires": { - "package-json": "^4.0.0" - }, - "dependencies": { - "package-json": { - "version": "4.0.1", - "bundled": true, - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" - }, - "dependencies": { - "got": { - "version": "6.7.1", - "bundled": true, - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - }, - "dependencies": { - "create-error-class": { - "version": "3.0.2", - "bundled": true, - "requires": { - "capture-stack-trace": "^1.0.0" - }, - "dependencies": { - "capture-stack-trace": { - "version": "1.0.0", - "bundled": true - } - } - }, - "duplexer3": { - "version": "0.1.4", - "bundled": true - }, - "get-stream": { - "version": "3.0.0", - "bundled": true - }, - "is-redirect": { - "version": "1.0.0", - "bundled": true - }, - "is-retry-allowed": { - "version": "1.1.0", - "bundled": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true - }, - "lowercase-keys": { - "version": "1.0.1", - "bundled": true - }, - "timed-out": { - "version": "4.0.1", - "bundled": true - }, - "unzip-response": { - "version": "2.0.1", - "bundled": true - }, - "url-parse-lax": { - "version": "1.0.0", - "bundled": true, - "requires": { - "prepend-http": "^1.0.1" - }, - "dependencies": { - "prepend-http": { - "version": "1.0.4", - "bundled": true - } - } - } - } - }, - "registry-auth-token": { - "version": "3.3.2", - "bundled": true, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - }, - "dependencies": { - "rc": { - "version": "1.2.7", - "bundled": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "deep-extend": { - "version": "0.5.1", - "bundled": true - }, - "minimist": { - "version": "1.2.0", - "bundled": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true - } - } - } - } - }, - "registry-url": { - "version": "3.1.0", - "bundled": true, - "requires": { - "rc": "^1.0.1" - }, - "dependencies": { - "rc": { - "version": "1.2.7", - "bundled": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "deep-extend": { - "version": "0.5.1", - "bundled": true - }, - "minimist": { - "version": "1.2.0", - "bundled": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true - } - } - } - } - } - } - } - } - }, - "semver-diff": { - "version": "2.1.0", - "bundled": true, - "requires": { - "semver": "^5.0.3" - } - }, - "xdg-basedir": { - "version": "3.0.0", - "bundled": true - } - } - }, - "uuid": { - "version": "3.2.1", - "bundled": true - }, - "validate-npm-package-license": { - "version": "3.0.3", - "bundled": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - }, - "dependencies": { - "spdx-correct": { - "version": "3.0.0", - "bundled": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - }, - "dependencies": { - "spdx-license-ids": { - "version": "3.0.0", - "bundled": true - } - } - }, - "spdx-expression-parse": { - "version": "3.0.0", - "bundled": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - }, - "dependencies": { - "spdx-exceptions": { - "version": "2.1.0", - "bundled": true - }, - "spdx-license-ids": { - "version": "3.0.0", - "bundled": true - } - } - } - } - }, - "validate-npm-package-name": { - "version": "3.0.0", - "bundled": true, - "requires": { - "builtins": "^1.0.3" - }, - "dependencies": { - "builtins": { - "version": "1.0.3", - "bundled": true - } - } - }, - "which": { - "version": "1.3.0", - "bundled": true, - "requires": { - "isexe": "^2.0.0" - }, - "dependencies": { - "isexe": { - "version": "2.0.0", - "bundled": true - } - } - }, - "worker-farm": { - "version": "1.6.0", - "bundled": true, - "requires": { - "errno": "~0.1.7" - }, - "dependencies": { - "errno": { - "version": "0.1.7", - "bundled": true, - "requires": { - "prr": "~1.0.1" - }, - "dependencies": { - "prr": { - "version": "1.0.1", - "bundled": true - } - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "write-file-atomic": { - "version": "2.3.0", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "signal-exit": { - "version": "3.0.2", - "bundled": true - } - } - } - } - }, "npm-package-arg": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", @@ -11778,18 +7385,6 @@ "isobject": "^3.0.0" } }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, "object.getownpropertydescriptors": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", @@ -11914,12 +7509,12 @@ "dev": true }, "original": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.1.tgz", - "integrity": "sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", "dev": true, "requires": { - "url-parse": "~1.4.0" + "url-parse": "^1.4.3" } }, "os-browserify": { @@ -12074,9 +7669,9 @@ } }, "parse5": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.0.0.tgz", - "integrity": "sha512-0ywuiUOnpWWeil5grH2rxjyTJoeQVwyBuO2si6QIU9dWtj2npjuyK1HaY1RbLnVfDhEbhyAPNUBKRK0Xj2xE0w==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", "optional": true }, "parsejson": { @@ -12230,9 +7825,9 @@ } }, "portfinder": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", - "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.17.tgz", + "integrity": "sha512-syFcRIRzVI1BoEFOCaAiizwDolh1S1YXSodsVhncbhjzjZQulhczNRbqnUl9N31Q4dKGOXsNDqxC2BWBgSMqeQ==", "dev": true, "requires": { "async": "^1.5.2", @@ -12262,17 +7857,6 @@ "supports-color": "^5.4.0" }, "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -13008,13 +8592,10 @@ "dev": true }, "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dev": true, - "requires": { - "path-parse": "^1.0.5" - } + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true }, "resolve-cwd": { "version": "2.0.0", @@ -13093,17 +8674,17 @@ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, "rxjs": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.1.tgz", - "integrity": "sha512-OwMxHxmnmHTUpgO+V7dZChf3Tixf4ih95cmXjzzadULziVl/FKhHScGLj4goEw9weePVOH2Q0+GcCBUhKCZc/g==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", + "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", "requires": { "tslib": "^1.9.0" } }, "rxjs-compat": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.2.1.tgz", - "integrity": "sha512-Pst0lkAwVodBbBOIZic9aM1vY9asJ2u8GfKN115+goIH83PAlizJDyvixuxPAuQ1UtkmBuro7+0PqKQ3PSkhEg==" + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.2.2.tgz", + "integrity": "sha512-h113JzEXnqBd6JQ8TYg33oDuM3baZ9WKS49rtbMX0gBW2Kz0z4wDZ0/pCA0T9sRJM1HkZT6mt45gpYOJ2MqWYQ==" }, "safe-buffer": { "version": "5.1.2", @@ -13189,9 +8770,9 @@ } }, "sass-loader": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.0.3.tgz", - "integrity": "sha512-iaSFtQcGo4SSgDw5Aes5p4VTrA5jCGSA7sGmhPIcOloBlgI1VktM2MUrk2IHHjbNagckXlPz+HWq1vAAPrcYxA==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.7.tgz", + "integrity": "sha512-JoiyD00Yo1o61OJsoP2s2kb19L1/Y2p3QFcCdWdF6oomBGKVYuZyqHWemRBfQ2uGYsk+CH3eCguXNfpjzlcpaA==", "dev": true, "requires": { "clone-deep": "^2.0.1", @@ -13217,9 +8798,9 @@ "dev": true }, "schema-utils": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", - "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", "dev": true, "requires": { "ajv": "^6.1.0", @@ -13309,9 +8890,9 @@ } }, "semver-intersect": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.3.1.tgz", - "integrity": "sha1-j6hKnhAovSOeRTDRo+GB5pjYhLo=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", + "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", "dev": true, "requires": { "semver": "^5.0.0" @@ -13476,15 +9057,6 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, - "silent-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/silent-error/-/silent-error-1.1.0.tgz", - "integrity": "sha1-IglwbxyFCp8dENDYQJGLRvJuG8k=", - "dev": true, - "requires": { - "debug": "^2.2.0" - } - }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -13604,16 +9176,6 @@ } } }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "optional": true, - "requires": { - "hoek": "2.x.x" - } - }, "socket.io": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz", @@ -13767,9 +9329,9 @@ } }, "sockjs-client": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", - "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", "dev": true, "requires": { "debug": "^2.6.6", @@ -13803,6 +9365,27 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, + "source-map-loader": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz", + "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==", + "dev": true, + "requires": { + "async": "^2.5.0", + "loader-utils": "^1.1.0" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + } + } + }, "source-map-resolve": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", @@ -13979,9 +9562,9 @@ "dev": true }, "stdout-stream": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", - "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", "dev": true, "optional": true, "requires": { @@ -13999,9 +9582,9 @@ } }, "stream-each": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", - "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -14047,13 +9630,6 @@ "safe-buffer": "~5.1.0" } }, - "stringstream": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", - "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", - "dev": true, - "optional": true - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -14180,12 +9756,6 @@ "inherits": "2" } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -14386,17 +9956,6 @@ "yn": "^2.0.0" }, "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", @@ -14406,11 +9965,12 @@ } }, "tsickle": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.29.0.tgz", - "integrity": "sha512-JpID0Lv8/irRtPmqJJxb5fCwfZhjZeKmav9Zna7UjqVuJoSbI49Wue/c2PPybX1SbRrjl7bbI/JsCl0dSUJygA==", + "version": "0.32.1", + "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.32.1.tgz", + "integrity": "sha512-JW9j+W0SaMSZGejIFZBk0AiPfnhljK3oLx5SaqxrJhjlvzFyPml5zqG1/PuScUj6yTe1muEqwk5CnDK0cOZmKw==", "dev": true, "requires": { + "jasmine-diff": "^0.1.3", "minimist": "^1.2.0", "mkdirp": "^0.5.1", "source-map": "^0.6.0", @@ -14456,23 +10016,21 @@ "tsutils": "^2.12.1" }, "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "path-parse": "^1.0.5" } } } }, "tsutils": { - "version": "2.27.2", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.27.2.tgz", - "integrity": "sha512-qf6rmT84TFMuxAKez2pIfR8UCai49iQsfB7YWVjV1bKpy/d0PWT5rEOSM6La9PiHZ0k1RRZQiwVdVJfQ3BPHgg==", + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -14532,15 +10090,21 @@ "dev": true }, "uglify-js": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.4.tgz", - "integrity": "sha512-RiB1kNcC9RMyqwRrjXC+EjgLoXULoDnCaOnEDzUCHkBN0bHwmtF5rzDMiDWU29gu0kXCRRWwtcTAVFWRECmU2Q==", + "version": "3.4.8", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.8.tgz", + "integrity": "sha512-WatYTD84gP/867bELqI2F/2xC9PQBETn/L+7RGq9MQOA/7yFBNvY1UwXqvtILeE6n0ITwBXxp34M0/o70dzj6A==", "dev": true, "requires": { - "commander": "~2.16.0", + "commander": "~2.17.1", "source-map": "~0.6.1" }, "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -14557,9 +10121,9 @@ "optional": true }, "uglifyjs-webpack-plugin": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz", - "integrity": "sha512-1VicfKhCYHLS8m1DCApqBhoulnASsEoJ/BvpUpP4zoNAPpKzdH+ghk0olGJMmwX2/jprK2j3hAHdUbczBSy2FA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", "dev": true, "requires": { "cacache": "^10.0.4", @@ -14753,14 +10317,14 @@ "dev": true }, "url-loader": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.0.1.tgz", - "integrity": "sha512-rAonpHy7231fmweBKUFe0bYnlGDty77E+fm53NZdij7j/YOpyGzc7ttqG1nAXl3aRs0k41o0PC3TvGXQiw2Zvw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.1.tgz", + "integrity": "sha512-vugEeXjyYFBCUOpX+ZuaunbK3QXMKaQ3zUnRfIpRBlGkY7QizCnzyyn2ASfcxsvyU3ef+CJppVywnl3Kgf13Gg==", "dev": true, "requires": { "loader-utils": "^1.1.0", "mime": "^2.0.3", - "schema-utils": "^0.4.3" + "schema-utils": "^1.0.0" }, "dependencies": { "mime": { @@ -14768,13 +10332,24 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } } } }, "url-parse": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.1.tgz", - "integrity": "sha512-x95Td74QcvICAA0+qERaVkRpTGKyBHHYdwL2LXZm5t/gBtCB9KQSO/0zQgSTYEV1p0WcvSg79TLNPSvd5IDJMQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", + "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", "dev": true, "requires": { "querystringify": "^2.0.0", @@ -14841,9 +10416,9 @@ "dev": true }, "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "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==", "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -14977,9 +10552,9 @@ } }, "webpack": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.8.3.tgz", - "integrity": "sha512-/hfAjBISycdK597lxONjKEFX7dSIU1PsYwC3XlXUXoykWBlv9QV5HnO+ql3HvrrgfBJ7WXdnjO9iGPR2aAc5sw==", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.9.2.tgz", + "integrity": "sha512-jlWrCrJDU3sdWFprel6jHH8esN2C++Q8ehedRo74u7MWLTUJn9SD7RSgsCTEZCSRpVpMascDylAqPoldauOMfA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.4.3", @@ -14992,6 +10567,7 @@ "chrome-trace-event": "^0.1.1", "enhanced-resolve": "^4.0.0", "eslint-scope": "^3.7.1", + "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.3.0", "loader-utils": "^1.1.0", "memory-fs": "~0.4.1", @@ -15026,17 +10602,6 @@ "ws": "^4.0.0" }, "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, "ws": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", @@ -15077,18 +10642,18 @@ } }, "webpack-dev-middleware": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", - "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.2.0.tgz", + "integrity": "sha512-YJLMF/96TpKXaEQwaLEo+Z4NDK8aV133ROF6xp9pe3gQoS7sxfpXh4Rv9eC+8vCvWfmDjRQaMSlRPbO+9G6jgA==", "dev": true, "requires": { "loud-rejection": "^1.6.0", "memory-fs": "~0.4.1", - "mime": "^2.1.0", + "mime": "^2.3.1", "path-is-absolute": "^1.0.0", "range-parser": "^1.0.3", "url-join": "^4.0.0", - "webpack-log": "^1.0.1" + "webpack-log": "^2.0.0" }, "dependencies": { "mime": { @@ -15100,13 +10665,12 @@ } }, "webpack-dev-server": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.4.tgz", - "integrity": "sha512-itcIUDFkHuj1/QQxzUFOEXXmxOj5bku2ScLEsOFPapnq2JRTm58gPdtnBphBJOKL2+M3p6+xygL64bI+3eyzzw==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.6.tgz", + "integrity": "sha512-uc6YP0DzzW4870TDKoK73uONytLgu27h+x6XfgSvERRChkpd5Ils7US6d5k22LBoh0sDkmPZ6ERHSsrkwtkFFQ==", "dev": true, "requires": { "ansi-html": "0.0.7", - "array-includes": "^3.0.3", "bonjour": "^3.5.0", "chokidar": "^2.0.0", "compression": "^1.5.2", @@ -15126,13 +10690,13 @@ "selfsigned": "^1.9.1", "serve-index": "^1.7.2", "sockjs": "0.3.19", - "sockjs-client": "1.1.4", + "sockjs-client": "1.1.5", "spdy": "^3.4.1", "strip-ansi": "^3.0.0", "supports-color": "^5.1.0", - "webpack-dev-middleware": "3.1.3", - "webpack-log": "^1.1.2", - "yargs": "11.0.0" + "webpack-dev-middleware": "3.2.0", + "webpack-log": "^2.0.0", + "yargs": "12.0.1" }, "dependencies": { "ansi-regex": { @@ -15178,12 +10742,40 @@ "ms": "2.0.0" } }, + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "requires": { + "xregexp": "4.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "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=", "dev": true }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", @@ -15195,6 +10787,30 @@ "mem": "^1.1.0" } }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "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==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -15222,21 +10838,15 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, "yargs": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", - "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", + "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", "dev": true, "requires": { "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", "get-caller-file": "^1.0.1", "os-locale": "^2.0.0", "require-directory": "^2.1.1", @@ -15244,14 +10854,14 @@ "set-blocking": "^2.0.0", "string-width": "^2.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" } }, "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "dev": true, "requires": { "camelcase": "^4.1.0" @@ -15260,21 +10870,19 @@ } }, "webpack-log": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", - "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", "dev": true, "requires": { - "chalk": "^2.1.0", - "log-symbols": "^2.1.0", - "loglevelnext": "^1.0.1", - "uuid": "^3.1.0" + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" } }, "webpack-merge": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.3.tgz", - "integrity": "sha512-zxwAIGK7nKdu5CIZL0BjTQoq3elV0t0MfB7rUC1zj668geid52abs6hN/ACwZdK6LeMS8dC9B6WmtF978zH5mg==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.4.tgz", + "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==", "dev": true, "requires": { "lodash": "^4.17.5" @@ -15438,6 +11046,12 @@ "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=", "dev": true }, + "xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", + "dev": true + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", diff --git a/package.json b/package.json index bd61a20a..216971af 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fuse", - "version": "6.2.4", + "version": "6.3.0", "license": "https://themeforest.net/licenses/terms/regular", "scripts": { "ng": "ng", @@ -19,57 +19,58 @@ "private": true, "dependencies": { "@agm/core": "1.0.0-beta.3", - "@angular/animations": "6.0.9", - "@angular/cdk": "6.3.3", - "@angular/common": "6.0.9", - "@angular/compiler": "6.0.9", - "@angular/core": "6.0.9", + "@angular/animations": "6.1.4", + "@angular/cdk": "6.4.6", + "@angular/common": "6.1.4", + "@angular/compiler": "6.1.4", + "@angular/core": "6.1.4", "@angular/flex-layout": "6.0.0-beta.16", - "@angular/forms": "6.0.9", - "@angular/http": "6.0.9", - "@angular/material": "6.3.3", - "@angular/material-moment-adapter": "6.3.3", - "@angular/platform-browser": "6.0.9", - "@angular/platform-browser-dynamic": "6.0.9", - "@angular/router": "6.0.9", - "@ngrx/effects": "6.0.1", - "@ngrx/router-store": "6.0.1", - "@ngrx/store": "6.0.1", - "@ngrx/store-devtools": "6.0.1", + "@angular/forms": "6.1.4", + "@angular/http": "6.1.4", + "@angular/material": "6.4.6", + "@angular/material-moment-adapter": "6.4.6", + "@angular/platform-browser": "6.1.4", + "@angular/platform-browser-dynamic": "6.1.4", + "@angular/router": "6.1.4", + "@ngrx/effects": "6.1.0", + "@ngrx/router-store": "6.1.0", + "@ngrx/store": "6.1.0", + "@ngrx/store-devtools": "6.1.0", "@ngx-translate/core": "10.0.2", - "@swimlane/ngx-charts": "8.1.0", - "@swimlane/ngx-datatable": "13.0.1", - "@swimlane/ngx-dnd": "4.0.0", + "@swimlane/dragula": "3.7.3", + "@swimlane/ngx-charts": "9.0.0", + "@swimlane/ngx-datatable": "13.1.0", + "@swimlane/ngx-dnd": "5.0.6", "@types/prismjs": "1.9.0", "angular-calendar": "0.25.2", - "angular-in-memory-web-api": "0.6.0", + "angular-in-memory-web-api": "0.6.1", "chart.js": "2.7.2", "classlist.js": "1.1.20150312", "core-js": "2.5.7", - "d3": "5.5.0", + "d3": "5.7.0", "hammerjs": "2.0.8", "lodash": "4.17.10", "moment": "2.22.2", "ng2-charts": "1.6.0", "ngrx-store-freeze": "0.2.4", - "ngx-color-picker": "6.5.0", + "ngx-color-picker": "6.6.0", "ngx-cookie-service": "1.0.10", "perfect-scrollbar": "1.4.0", "prismjs": "1.15.0", - "rxjs": "6.2.1", - "rxjs-compat": "6.2.1", + "rxjs": "6.2.2", + "rxjs-compat": "6.2.2", "web-animations-js": "2.3.1", "zone.js": "0.8.26" }, "devDependencies": { - "@angular/cli": "6.0.8", - "@angular/compiler-cli": "6.0.9", - "@angular/language-service": "6.0.9", - "@angular-devkit/build-angular": "0.6.8", + "@angular/cli": "6.1.5", + "@angular/compiler-cli": "6.1.4", + "@angular/language-service": "6.1.4", + "@angular-devkit/build-angular": "0.7.5", "@angularclass/hmr": "2.1.3", "@types/jasmine": "2.8.8", "@types/jasminewd2": "2.0.3", - "@types/lodash": "4.14.111", + "@types/lodash": "4.14.116", "@types/node": "8.9.5", "codelyzer": "4.2.1", "jasmine-core": "2.99.1", diff --git a/src/@fuse/components/countdown/countdown.component.scss b/src/@fuse/components/countdown/countdown.component.scss index 96c1e072..bcdb9530 100644 --- a/src/@fuse/components/countdown/countdown.component.scss +++ b/src/@fuse/components/countdown/countdown.component.scss @@ -1,4 +1,4 @@ -:host { +fuse-countdown { display: flex; flex-direction: row; align-items: center; diff --git a/src/@fuse/components/countdown/countdown.component.ts b/src/@fuse/components/countdown/countdown.component.ts index b519f64a..36ec0ccf 100644 --- a/src/@fuse/components/countdown/countdown.component.ts +++ b/src/@fuse/components/countdown/countdown.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { Component, Input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; import { interval, Subject } from 'rxjs'; import { map, takeUntil } from 'rxjs/operators'; import * as moment from 'moment'; @@ -6,7 +6,8 @@ import * as moment from 'moment'; @Component({ selector : 'fuse-countdown', templateUrl: './countdown.component.html', - styleUrls : ['./countdown.component.scss'] + styleUrls : ['./countdown.component.scss'], + encapsulation: ViewEncapsulation.None }) export class FuseCountdownComponent implements OnInit, OnDestroy { @@ -48,9 +49,13 @@ export class FuseCountdownComponent implements OnInit, OnDestroy const currDate = moment(); const eventDate = moment(this.eventDate); - // Get the difference in between the current date and event date + // Get the difference in between the current date and event date in seconds let diff = eventDate.diff(currDate, 'seconds'); + // Calculate the remaining time for the first time so there will be no + // delay on the countdown + this.countdown = this._secondsToRemaining(diff); + // Create a subscribable interval const countDown = interval(1000) .pipe( @@ -58,14 +63,7 @@ export class FuseCountdownComponent implements OnInit, OnDestroy return diff = diff - 1; }), map(value => { - const timeLeft = moment.duration(value, 'seconds'); - - return { - days : timeLeft.asDays().toFixed(0), - hours : timeLeft.hours(), - minutes: timeLeft.minutes(), - seconds: timeLeft.seconds() - }; + return this._secondsToRemaining(value); }) ); @@ -86,4 +84,27 @@ export class FuseCountdownComponent implements OnInit, OnDestroy this._unsubscribeAll.next(); this._unsubscribeAll.complete(); } + + // ----------------------------------------------------------------------------------------------------- + // @ Private methods + // ----------------------------------------------------------------------------------------------------- + + /** + * Converts given seconds to a remaining time + * + * @param seconds + * @private + */ + private _secondsToRemaining(seconds): any + { + const timeLeft = moment.duration(seconds, 'seconds'); + + return { + days : timeLeft.asDays().toFixed(0), + hours : timeLeft.hours(), + minutes: timeLeft.minutes(), + seconds: timeLeft.seconds() + }; + } + } diff --git a/src/@fuse/components/countdown/countdown.theme.scss b/src/@fuse/components/countdown/countdown.theme.scss new file mode 100644 index 00000000..7f77c858 --- /dev/null +++ b/src/@fuse/components/countdown/countdown.theme.scss @@ -0,0 +1,17 @@ +@mixin fuse-countdown-theme($theme) { + + $foreground: map-get($theme, foreground); + + fuse-countdown { + + .fuse-countdown { + + .time { + + .title { + color: map-get($foreground, secondary-text); + } + } + } + } +} \ No newline at end of file diff --git a/src/@fuse/components/demo/demo-content/demo-content.component.html b/src/@fuse/components/demo/demo-content/demo-content.component.html index cd95870f..8fc7665e 100644 --- a/src/@fuse/components/demo/demo-content/demo-content.component.html +++ b/src/@fuse/components/demo/demo-content/demo-content.component.html @@ -1,10 +1,8 @@ -
+
- beach - -

Early Sunrise

-

Demo Content

+

Early Sunrise in Winter

+

Demo Content

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse tortor nibh, convallis sed purus nec, @@ -12,7 +10,7 @@ vestibulum. Suspendisse euismod in urna eu posuere.

-
+

Nunc vel lacinia lorem. Nullam tincidunt sed purus eu placerat. Donec id dictum erat. Etiam enim ex, dapibus et tortor id, posuere pretium est. Maecenas fringilla ipsum vitae neque elementum, at eleifend ante @@ -24,16 +22,12 @@

- Ut ornare sit amet velit vel congue. Ut nec tristique eros. Lorem ipsum dolor sit amet, consectetur adipiscing - elit. Vivamus sed lorem quis nibh porta iaculis. Vestibulum ut eleifend ante, at semper mi. Nam imperdiet est - nisi, quis hendrerit tellus convallis et. Morbi in luctus neque. Curabitur elementum ut est et gravida. In hac - habitasse platea dictumst. -

- -

- In et placerat eros, eu tempor turpis. Curabitur ac felis finibus, elementum lectus vitae, venenatis est. - Integer mollis nisl a eros scelerisque varius. Etiam venenatis lectus vel erat condimentum tristique vel vel mi. - Nulla id euismod mi, et mollis tellus. + Ut ornare sit amet velit vel congue. Ut nec tristique eros. Lorem ipsum dolor sit amet, consectetur + adipiscing elit. Vivamus sed lorem quis nibh porta iaculis. Vestibulum ut eleifend ante, at semper mi. + Nam imperdiet est nisi, quis hendrerit tellus convallis et. Morbi in luctus neque. Curabitur elementum ut est et + gravida. In hac habitasse platea dictumst. In et placerat eros, eu tempor turpis. Curabitur ac felis finibus, + elementum lectus vitae, venenatis est. Integer mollis nisl a eros scelerisque varius. Etiam venenatis lectus vel + erat condimentum tristique vel vel mi. Nulla id euismod mi, et mollis tellus.

@@ -43,6 +37,12 @@ velit.

+ + +

+ Nullam tincidunt sed purus eu placerat. Donec id dictum erat. Etiam enim ex, dapibus et tortor id. +

+

Quisque sit amet risus enim. Aliquam sit amet interdum justo, at ultricies sapien. Suspendisse et semper urna, in gravida eros. Quisque id nibh iaculis, euismod urna sed, egestas nisi. Donec eros metus, congue a imperdiet @@ -52,10 +52,18 @@

Ut auctor, metus sed dapibus tempus, urna diam auctor odio, in malesuada odio risus vitae nisi. Etiam blandit ante urna, vitae placerat massa mollis in. Duis nec urna ac purus semper dictum ut eget justo. Aenean non - sagittis augue. Sed venenatis rhoncus enim eget ornare. Donec viverra sed felis at venenatis. Mauris aliquam - fringilla nulla, sit amet congue felis dignissim at. + sagittis augue. Sed venenatis rhoncus enim eget ornare. Donec viverra sed felis at venenatis. + Mauris aliquam fringilla nulla, sit amet congue felis dignissim at.

+
    +
  • Orci varius
  • +
  • Magnis dis
  • +
  • Conubia nostra
  • +
  • Semper urna
  • +
  • Donec viverra
  • +
+

Quisque accumsan augue tempor ante mollis, sed placerat diam porttitor. Vestibulum dignissim sem vel velit eleifend, non pellentesque quam convallis. Pellentesque est dolor, dignissim ac tortor tristique, hendrerit @@ -69,7 +77,7 @@ Etiam blandit nunc arcu, et consectetur orci blandit a. Aliquam condimentum pharetra quam at ultricies. Nunc vel lacinia lorem. Nullam tincidunt sed purus eu placerat. Donec id dictum erat. Etiam enim ex, dapibus et tortor id, posuere pretium est. Maecenas fringilla ipsum vitae neque elementum, at eleifend ante sollicitudin. Donec - viverra augue dolor, a venenatis tellus consectetur sit amet... + viverra augue dolor, a venenatis tellus consectetur sit amet.

diff --git a/src/@fuse/components/highlight/highlight.component.scss b/src/@fuse/components/highlight/highlight.component.scss index 67ada1aa..4cf5e323 100644 --- a/src/@fuse/components/highlight/highlight.component.scss +++ b/src/@fuse/components/highlight/highlight.component.scss @@ -1,5 +1,6 @@ :host { display: block; + width: 100%; padding: 8px; background: #263238; cursor: text; diff --git a/src/@fuse/components/material-color-picker/material-color-picker.component.html b/src/@fuse/components/material-color-picker/material-color-picker.component.html index 16b28439..1d901438 100644 --- a/src/@fuse/components/material-color-picker/material-color-picker.component.html +++ b/src/@fuse/components/material-color-picker/material-color-picker.component.html @@ -1,20 +1,20 @@ - + -
@@ -23,45 +23,40 @@ - Select Color + Select a Color
-
-
- - {{color.key}} - + [ngClass]="color.key" + [class.selected]="selectedPalette === color.key" + (click)="selectPalette($event, color.key)">
-
+
-
- - {{hue}} - - check +
diff --git a/src/@fuse/components/material-color-picker/material-color-picker.component.scss b/src/@fuse/components/material-color-picker/material-color-picker.component.scss index 9a4647bb..eccb22b1 100644 --- a/src/@fuse/components/material-color-picker/material-color-picker.component.scss +++ b/src/@fuse/components/material-color-picker/material-color-picker.component.scss @@ -1,5 +1,5 @@ .fuse-material-color-picker-menu { - width: 208px; + width: 245px; .mat-menu-content { padding: 0; @@ -7,44 +7,29 @@ .views { display: flex; flex-direction: column; - position: relative; - overflow: hidden; - min-height: 258px; - height: 308px; - background-color: #F7F7F7; + min-height: 165px; .view { - position: absolute; - width: 208px; - height: 100%; - bottom: 0; - left: 0; - right: 0; - top: 0; + overflow: hidden; .colors { - position: relative; - padding: 4px; + padding: 1px 0 0 0; + margin-left: -1px; .color { - position: relative; - width: 46px; - height: 46px; - margin: 2px; + width: 40px; + height: 40px; + margin: 0 0 1px 1px; border-radius: 0; cursor: pointer; + transition: border-radius .4s cubic-bezier(.25, .8, .25, 1); - .label { - padding: 2px; - font-size: 10px; + &:hover { + border-radius: 20%; } - mat-icon { - position: absolute; - top: 2px; - right: 2px; - font-size: 16px; - opacity: 0.7; + &.selected { + border-radius: 50% !important; } } } diff --git a/src/@fuse/components/material-color-picker/material-color-picker.component.ts b/src/@fuse/components/material-color-picker/material-color-picker.component.ts index f914fa4e..3448ed5c 100644 --- a/src/@fuse/components/material-color-picker/material-color-picker.component.ts +++ b/src/@fuse/components/material-color-picker/material-color-picker.component.ts @@ -1,55 +1,40 @@ -import { Component, EventEmitter, Input, OnChanges, Output, ViewEncapsulation } from '@angular/core'; +import { Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation } from '@angular/core'; import { fuseAnimations } from '@fuse/animations'; import { MatColors } from '@fuse/mat-colors'; +import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; + +export const FUSE_MATERIAL_COLOR_PICKER_VALUE_ACCESSOR: any = { + provide : NG_VALUE_ACCESSOR, + useExisting: forwardRef(() => FuseMaterialColorPickerComponent), + multi : true +}; @Component({ selector : 'fuse-material-color-picker', templateUrl : './material-color-picker.component.html', styleUrls : ['./material-color-picker.component.scss'], animations : fuseAnimations, - encapsulation: ViewEncapsulation.None + encapsulation: ViewEncapsulation.None, + providers : [FUSE_MATERIAL_COLOR_PICKER_VALUE_ACCESSOR] }) -export class FuseMaterialColorPickerComponent implements OnChanges +export class FuseMaterialColorPickerComponent implements ControlValueAccessor { colors: any; hues: string[]; - selectedColor: any; view: string; - - @Input() + selectedColor: any; selectedPalette: string; - - @Input() selectedHue: string; - @Input() - selectedFg: string; - - @Input() - value: any; - + // Color changed @Output() - onValueChange: EventEmitter; - - @Output() - selectedPaletteChange: EventEmitter; - - @Output() - selectedHueChange: EventEmitter; - - @Output() - selectedClassChange: EventEmitter; - - @Output() - selectedBgChange: EventEmitter; - - @Output() - selectedFgChange: EventEmitter; + colorChanged: EventEmitter; // Private - _selectedClass: string; - _selectedBg: string; + private _color: string; + private _modelChange: (value: any) => void; + private _modelTouched: (value: any) => void; /** * Constructor @@ -57,23 +42,18 @@ export class FuseMaterialColorPickerComponent implements OnChanges constructor() { // Set the defaults + this.colorChanged = new EventEmitter(); this.colors = MatColors.all; this.hues = ['50', '100', '200', '300', '400', '500', '600', '700', '800', '900', 'A100', 'A200', 'A400', 'A700']; - this.selectedFg = ''; - this.selectedHue = ''; - this.selectedPalette = ''; + this.selectedHue = '500'; this.view = 'palettes'; - this.onValueChange = new EventEmitter(); - this.selectedPaletteChange = new EventEmitter(); - this.selectedHueChange = new EventEmitter(); - this.selectedClassChange = new EventEmitter(); - this.selectedBgChange = new EventEmitter(); - this.selectedFgChange = new EventEmitter(); - // Set the private defaults - this._selectedClass = ''; - this._selectedBg = ''; + this._color = ''; + this._modelChange = () => { + }; + this._modelTouched = () => { + }; } // ----------------------------------------------------------------------------------------------------- @@ -86,88 +66,76 @@ export class FuseMaterialColorPickerComponent implements OnChanges * @param value */ @Input() - set selectedClass(value) + set color(value) { - if ( value && value !== '' && this._selectedClass !== value ) + if ( !value || value === '' || this._color === value ) { - const color = value.split('-'); - if ( color.length >= 5 ) - { - this.selectedPalette = color[1] + '-' + color[2]; - this.selectedHue = color[3]; - } - else - { - this.selectedPalette = color[1]; - this.selectedHue = color[2]; - } - } - this._selectedClass = value; - } - - get selectedClass(): string - { - return this._selectedClass; - } - - /** - * Selected bg - * - * @param value - */ - @Input() - set selectedBg(value) - { - if ( value && value !== '' && this._selectedBg !== value ) - { - for ( const palette in this.colors ) - { - if ( !this.colors.hasOwnProperty(palette) ) - { - continue; - } - - for ( const hue of this.hues ) - { - if ( this.colors[palette][hue] === value ) - { - this.selectedPalette = palette; - this.selectedHue = hue; - break; - } - } - } - } - this._selectedBg = value; - } - - get selectedBg(): string - { - return this._selectedBg; - } - - // ----------------------------------------------------------------------------------------------------- - // @ Lifecycle hooks - // ----------------------------------------------------------------------------------------------------- - - /** - * On changes - * - * @param changes - */ - ngOnChanges(changes: any): void - { - if ( changes.selectedBg && changes.selectedBg.currentValue === '' || - changes.selectedClass && changes.selectedClass.currentValue === '' || - changes.selectedPalette && changes.selectedPalette.currentValue === '' ) - { - this.removeColor(); return; } - if ( changes.selectedPalette || changes.selectedHue || changes.selectedClass || changes.selectedBg ) + + // Split the color value (red-400, blue-500, fuse-navy-700 etc.) + const colorParts = value.split('-'); + + // Take the very last part as the selected hue value + this.selectedHue = colorParts[colorParts.length - 1]; + + // Remove the last part + colorParts.pop(); + + // Rejoin the remaining parts as the selected palette name + this.selectedPalette = colorParts.join('-'); + + // Store the color value + this._color = value; + } + + get color(): string + { + return this._color; + } + + // ----------------------------------------------------------------------------------------------------- + // @ Control Value Accessor implementation + // ----------------------------------------------------------------------------------------------------- + + /** + * Register on change function + * + * @param fn + */ + registerOnChange(fn: any): void + { + this._modelChange = fn; + } + + /** + * Register on touched function + * + * @param fn + */ + registerOnTouched(fn: any): void + { + this._modelTouched = fn; + } + + /** + * Write value to the view from model + * + * @param color + */ + writeValue(color: any): void + { + // Return if null + if ( !color ) { - this.updateSelectedColor(); + return; } + + // Set the color + this.color = color; + + // Update the selected color + this.updateSelectedColor(); } // ----------------------------------------------------------------------------------------------------- @@ -177,35 +145,61 @@ export class FuseMaterialColorPickerComponent implements OnChanges /** * Select palette * + * @param event * @param palette */ - selectPalette(palette): void + selectPalette(event, palette): void { - this.selectedPalette = palette; - this.updateSelectedColor(); + // Stop propagation + event.stopPropagation(); + + // Go to 'hues' view this.view = 'hues'; + + // Update the selected palette + this.selectedPalette = palette; + + // Update the selected color + this.updateSelectedColor(); } /** * Select hue * + * @param event * @param hue */ - selectHue(hue): void + selectHue(event, hue): void { + // Stop propagation + event.stopPropagation(); + + // Update the selected huse this.selectedHue = hue; + + // Update the selected color this.updateSelectedColor(); } /** * Remove color + * + * @param event */ - removeColor(): void + removeColor(event): void { + // Stop propagation + event.stopPropagation(); + + // Return to the 'palettes' view + this.view = 'palettes'; + + // Clear the selected palette and hue this.selectedPalette = ''; this.selectedHue = ''; + + // Update the selected color this.updateSelectedColor(); - this.view = 'palettes'; } /** @@ -213,49 +207,40 @@ export class FuseMaterialColorPickerComponent implements OnChanges */ updateSelectedColor(): void { - setTimeout(() => { + if ( this.selectedColor && this.selectedColor.palette === this.selectedPalette && this.selectedColor.hue === this.selectedHue ) + { + return; + } - if ( this.selectedColor && this.selectedPalette === this.selectedColor.palette && this.selectedHue === this.selectedColor.hue ) - { - return; - } + // Set the selected color object + this.selectedColor = { + palette: this.selectedPalette, + hue : this.selectedHue, + class : this.selectedPalette + '-' + this.selectedHue, + bg : this.selectedPalette === '' ? '' : MatColors.getColor(this.selectedPalette)[this.selectedHue], + fg : this.selectedPalette === '' ? '' : MatColors.getColor(this.selectedPalette).contrast[this.selectedHue] + }; - if ( this.selectedPalette !== '' && this.selectedHue !== '' ) - { - this.selectedBg = MatColors.getColor(this.selectedPalette)[this.selectedHue]; - this.selectedFg = MatColors.getColor(this.selectedPalette).contrast[this.selectedHue]; - this.selectedClass = 'mat-' + this.selectedPalette + '-' + this.selectedHue + '-bg'; - } - else - { - this.selectedBg = ''; - this.selectedFg = ''; - } + // Emit the color changed event + this.colorChanged.emit(this.selectedColor); - this.selectedColor = { - palette: this.selectedPalette, - hue : this.selectedHue, - class : this.selectedClass, - bg : this.selectedBg, - fg : this.selectedFg - }; + // Mark the model as touched + this._modelTouched(this.selectedColor.class); - this.selectedPaletteChange.emit(this.selectedPalette); - this.selectedHueChange.emit(this.selectedHue); - this.selectedClassChange.emit(this.selectedClass); - this.selectedBgChange.emit(this.selectedBg); - this.selectedFgChange.emit(this.selectedFg); - - this.value = this.selectedColor; - this.onValueChange.emit(this.selectedColor); - }); + // Update the model + this._modelChange(this.selectedColor.class); } /** - * Go back to palette selection + * Go to palettes view + * + * @param event */ - backToPaletteSelection(): void + goToPalettesView(event): void { + // Stop propagation + event.stopPropagation(); + this.view = 'palettes'; } diff --git a/src/@fuse/components/material-color-picker/material-color-picker.module.ts b/src/@fuse/components/material-color-picker/material-color-picker.module.ts index 6562e678..41881bd0 100644 --- a/src/@fuse/components/material-color-picker/material-color-picker.module.ts +++ b/src/@fuse/components/material-color-picker/material-color-picker.module.ts @@ -1,7 +1,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FlexLayoutModule } from '@angular/flex-layout'; -import { MatButtonModule, MatIconModule, MatMenuModule, MatRippleModule } from '@angular/material'; +import { MatButtonModule, MatIconModule, MatMenuModule, MatTooltipModule } from '@angular/material'; import { FusePipesModule } from '@fuse/pipes/pipes.module'; @@ -19,7 +19,7 @@ import { FuseMaterialColorPickerComponent } from '@fuse/components/material-colo MatButtonModule, MatIconModule, MatMenuModule, - MatRippleModule, + MatTooltipModule, FusePipesModule ], diff --git a/src/@fuse/components/material-color-picker/material-color-picker.theme.scss b/src/@fuse/components/material-color-picker/material-color-picker.theme.scss new file mode 100644 index 00000000..0450fb55 --- /dev/null +++ b/src/@fuse/components/material-color-picker/material-color-picker.theme.scss @@ -0,0 +1,14 @@ +@mixin fuse-material-color-picker-theme($theme) { + + $background: map-get($theme, background); + + .fuse-material-color-picker-menu { + + .mat-menu-content { + + .views { + background: #303030; + } + } + } +} \ No newline at end of file diff --git a/src/@fuse/components/navigation/horizontal/collapsable/collapsable.component.html b/src/@fuse/components/navigation/horizontal/collapsable/collapsable.component.html index 740df664..0c25864a 100644 --- a/src/@fuse/components/navigation/horizontal/collapsable/collapsable.component.html +++ b/src/@fuse/components/navigation/horizontal/collapsable/collapsable.component.html @@ -1,42 +1,42 @@ - + + [target]="item.openInNewTab ? '_blank' : '_self'"> + [href]="item.url" [target]="item.openInNewTab ? '_blank' : '_self'"> + (click)="item.function()"> + [routerLink]="[item.url]" [routerLinkActive]="['active', 'accent']" + [routerLinkActiveOptions]="{exact: item.exactMatch || false}"> + [href]="item.url" [target]="item.openInNewTab ? '_blank' : '_self'"> @@ -52,7 +52,7 @@
-
+
diff --git a/src/@fuse/components/navigation/horizontal/item/item.component.html b/src/@fuse/components/navigation/horizontal/item/item.component.html index 31da0d39..d2636ab7 100644 --- a/src/@fuse/components/navigation/horizontal/item/item.component.html +++ b/src/@fuse/components/navigation/horizontal/item/item.component.html @@ -2,37 +2,37 @@ + [target]="item.openInNewTab ? '_blank' : '_self'"> + [href]="item.url" [target]="item.openInNewTab ? '_blank' : '_self'"> + (click)="item.function()"> + [target]="item.openInNewTab ? '_blank' : '_self'"> + [href]="item.url" [target]="item.openInNewTab ? '_blank' : '_self'"> diff --git a/src/@fuse/components/navigation/navigation.component.html b/src/@fuse/components/navigation/navigation.component.html index e26575f3..59b74f40 100644 --- a/src/@fuse/components/navigation/navigation.component.html +++ b/src/@fuse/components/navigation/navigation.component.html @@ -6,7 +6,8 @@ - + @@ -20,7 +21,7 @@ - diff --git a/src/@fuse/components/navigation/vertical/collapsable/collapsable.component.html b/src/@fuse/components/navigation/vertical/collapsable/collapsable.component.html index d3bc9faa..cc8ab10f 100644 --- a/src/@fuse/components/navigation/vertical/collapsable/collapsable.component.html +++ b/src/@fuse/components/navigation/vertical/collapsable/collapsable.component.html @@ -1,45 +1,45 @@ - + + (click)="toggleOpen($event)"> + [target]="item.openInNewTab ? '_blank' : '_self'"> + [href]="item.url" [target]="item.openInNewTab ? '_blank' : '_self'"> + (click)="toggleOpen($event);item.function()"> + [routerLink]="[item.url]" [routerLinkActive]="['active', 'accent']" + [routerLinkActiveOptions]="{exact: item.exactMatch || false}"> + [href]="item.url" [target]="item.openInNewTab ? '_blank' : '_self'"> diff --git a/src/@fuse/components/navigation/vertical/item/item.component.html b/src/@fuse/components/navigation/vertical/item/item.component.html index 31da0d39..d2636ab7 100644 --- a/src/@fuse/components/navigation/vertical/item/item.component.html +++ b/src/@fuse/components/navigation/vertical/item/item.component.html @@ -2,37 +2,37 @@ + [target]="item.openInNewTab ? '_blank' : '_self'"> + [href]="item.url" [target]="item.openInNewTab ? '_blank' : '_self'"> + (click)="item.function()"> + [target]="item.openInNewTab ? '_blank' : '_self'"> + [href]="item.url" [target]="item.openInNewTab ? '_blank' : '_self'"> diff --git a/src/@fuse/components/progress-bar/progress-bar.service.ts b/src/@fuse/components/progress-bar/progress-bar.service.ts index 1fde0423..5322dbdc 100644 --- a/src/@fuse/components/progress-bar/progress-bar.service.ts +++ b/src/@fuse/components/progress-bar/progress-bar.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { NavigationEnd, NavigationStart, Router } from '@angular/router'; +import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router'; import { BehaviorSubject, Observable } from 'rxjs'; import { filter } from 'rxjs/operators'; @@ -103,7 +103,7 @@ export class FuseProgressBarService }); this._router.events - .pipe(filter((event) => event instanceof NavigationEnd)) + .pipe(filter((event) => event instanceof NavigationEnd || event instanceof NavigationError || event instanceof NavigationCancel)) .subscribe(() => { this.hide(); }); diff --git a/src/@fuse/components/search-bar/search-bar.component.html b/src/@fuse/components/search-bar/search-bar.component.html index f3df8660..70b17ae3 100644 --- a/src/@fuse/components/search-bar/search-bar.component.html +++ b/src/@fuse/components/search-bar/search-bar.component.html @@ -1,15 +1,12 @@ @@ -213,10 +238,13 @@ Below -

Color:

+ + Use custom background color + + +

Background color:

- + formControlName="background">
@@ -236,10 +264,13 @@ Below -

Color:

+ + Use custom background color + + +

Background color:

- + formControlName="background">
@@ -301,10 +332,13 @@ Style 2 -

Color:

+

Primary background:

- + formControlName="primaryBackground"> + +

Secondary background:

+
@@ -323,10 +357,13 @@ Above Fixed -

Color:

+ + Use custom background color + + +

Background color:

- + formControlName="background">
@@ -345,10 +382,13 @@ Above Fixed -

Color:

+ + Use custom background color + + +

Background color:

- + formControlName="background">
@@ -405,9 +445,14 @@ Style 2 -

Color:

+

Primary background:

+ formControlName="primaryBackground"> + + +

Secondary background (Vertical):

+
@@ -427,10 +472,13 @@ Below -

Color:

+ + Use custom background color + + +

Background color:

- + formControlName="background">
@@ -449,10 +497,13 @@ Above Static -

Color:

+ + Use custom background color + + +

Background color:

- + formControlName="background"> diff --git a/src/@fuse/components/theme-options/theme-options.component.scss b/src/@fuse/components/theme-options/theme-options.component.scss index 446f13a9..37b1d606 100644 --- a/src/@fuse/components/theme-options/theme-options.component.scss +++ b/src/@fuse/components/theme-options/theme-options.component.scss @@ -9,7 +9,7 @@ } } -:host { +fuse-theme-options { display: flex; overflow: hidden; @@ -45,7 +45,6 @@ flex: 1 0 auto; flex-direction: column; position: relative; - border: 1px solid rgba(0, 0, 0, 0.12); border-radius: 2px; padding: 28px 16px 8px 16px; margin: 16px 0; @@ -58,14 +57,11 @@ padding: 0 8px; font-size: 16px; font-weight: 500; - background: white; - color: rgba(0, 0, 0, 0.54); } h3 { font-size: 14px; font-weight: 500; - color: rgba(0, 0, 0, 0.54); margin: 24px 0 16px 0; padding: 0; diff --git a/src/@fuse/components/theme-options/theme-options.component.ts b/src/@fuse/components/theme-options/theme-options.component.ts index 7facf8ce..b774b72d 100644 --- a/src/@fuse/components/theme-options/theme-options.component.ts +++ b/src/@fuse/components/theme-options/theme-options.component.ts @@ -1,5 +1,6 @@ -import { Component, HostBinding, OnDestroy, OnInit, Renderer2 } from '@angular/core'; +import { Component, HostBinding, Inject, OnDestroy, OnInit, Renderer2, ViewEncapsulation } from '@angular/core'; import { FormBuilder, FormControl, FormGroup } from '@angular/forms'; +import { DOCUMENT } from '@angular/common'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; @@ -9,10 +10,11 @@ import { FuseNavigationService } from '@fuse/components/navigation/navigation.se import { FuseSidebarService } from '@fuse/components/sidebar/sidebar.service'; @Component({ - selector : 'fuse-theme-options', - templateUrl: './theme-options.component.html', - styleUrls : ['./theme-options.component.scss'], - animations : fuseAnimations + selector : 'fuse-theme-options', + templateUrl : './theme-options.component.html', + styleUrls : ['./theme-options.component.scss'], + encapsulation: ViewEncapsulation.None, + animations : fuseAnimations }) export class FuseThemeOptionsComponent implements OnInit, OnDestroy { @@ -28,6 +30,7 @@ export class FuseThemeOptionsComponent implements OnInit, OnDestroy /** * Constructor * + * @param {DOCUMENT} document * @param {FormBuilder} _formBuilder * @param {FuseConfigService} _fuseConfigService * @param {FuseNavigationService} _fuseNavigationService @@ -35,6 +38,7 @@ export class FuseThemeOptionsComponent implements OnInit, OnDestroy * @param {Renderer2} _renderer */ constructor( + @Inject(DOCUMENT) private document: any, private _formBuilder: FormBuilder, private _fuseConfigService: FuseConfigService, private _fuseNavigationService: FuseNavigationService, @@ -61,29 +65,33 @@ export class FuseThemeOptionsComponent implements OnInit, OnDestroy // Build the config form // noinspection TypeScriptValidateTypes this.form = this._formBuilder.group({ + colorTheme : new FormControl(), layout : this._formBuilder.group({ style : new FormControl(), width : new FormControl(), navbar : this._formBuilder.group({ - background: new FormControl(), - folded : new FormControl(), - hidden : new FormControl(), - position : new FormControl(), - variant : new FormControl() + primaryBackground : new FormControl(), + secondaryBackground: new FormControl(), + folded : new FormControl(), + hidden : new FormControl(), + position : new FormControl(), + variant : new FormControl() }), toolbar : this._formBuilder.group({ - background: new FormControl(), - hidden : new FormControl(), - position : new FormControl() + background : new FormControl(), + customBackgroundColor: new FormControl(), + hidden : new FormControl(), + position : new FormControl() }), footer : this._formBuilder.group({ - background: new FormControl(), - hidden : new FormControl(), - position : new FormControl() + background : new FormControl(), + customBackgroundColor: new FormControl(), + hidden : new FormControl(), + position : new FormControl() }), sidepanel: this._formBuilder.group({ - hidden: new FormControl(), - position : new FormControl() + hidden : new FormControl(), + position: new FormControl() }) }), customScrollbars: new FormControl() @@ -177,23 +185,30 @@ export class FuseThemeOptionsComponent implements OnInit, OnDestroy { this.form.patchValue({ layout: { - width : 'fullwidth', - navbar : { - background: 'mat-fuse-dark-700-bg', - folded : false, - hidden : false, - position : 'left', - variant : 'vertical-style-1' + width : 'fullwidth', + navbar : { + primaryBackground : 'fuse-navy-700', + secondaryBackground: 'indigo-600', + folded : false, + hidden : false, + position : 'left', + variant : 'vertical-style-1' }, - toolbar: { - background: 'mat-white-500-bg', - hidden : false, - position : 'below-static' + toolbar : { + background : 'fuse-white-500', + customBackgroundColor: false, + hidden : false, + position : 'below-static' }, - footer : { - background: 'mat-fuse-dark-900-bg', - hidden : false, - position : 'below-static' + footer : { + background : 'fuse-navy-900', + customBackgroundColor: true, + hidden : false, + position : 'below-static' + }, + sidepanel: { + hidden : false, + position: 'right' } } }); @@ -206,23 +221,30 @@ export class FuseThemeOptionsComponent implements OnInit, OnDestroy { this.form.patchValue({ layout: { - width : 'fullwidth', - navbar : { - background: 'mat-fuse-dark-700-bg', - folded : false, - hidden : false, - position : 'left', - variant : 'vertical-style-1' + width : 'fullwidth', + navbar : { + primaryBackground : 'fuse-navy-700', + secondaryBackground: 'indigo-600', + folded : false, + hidden : false, + position : 'left', + variant : 'vertical-style-1' }, - toolbar: { - background: 'mat-white-500-bg', - hidden : false, - position : 'below' + toolbar : { + background : 'fuse-white-500', + customBackgroundColor: false, + hidden : false, + position : 'below' }, - footer : { - background: 'mat-fuse-dark-900-bg', - hidden : false, - position : 'below' + footer : { + background : 'fuse-navy-900', + customBackgroundColor: true, + hidden : false, + position : 'below' + }, + sidepanel: { + hidden : false, + position: 'right' } } }); @@ -235,23 +257,30 @@ export class FuseThemeOptionsComponent implements OnInit, OnDestroy { this.form.patchValue({ layout: { - width : 'fullwidth', - navbar : { - background: 'mat-fuse-dark-700-bg', - folded : false, - hidden : false, - position : 'left', - layout : 'vertical-style-1' + width : 'fullwidth', + navbar : { + primaryBackground : 'fuse-navy-700', + secondaryBackground: 'indigo-600', + folded : false, + hidden : false, + position : 'left', + layout : 'vertical-style-1' }, - toolbar: { - background: 'mat-white-500-bg', - hidden : false, - position : 'above-static' + toolbar : { + background : 'fuse-white-500', + customBackgroundColor: false, + hidden : false, + position : 'above-static' }, - footer : { - background: 'mat-fuse-dark-900-bg', - hidden : false, - position : 'above-static' + footer : { + background : 'fuse-navy-900', + customBackgroundColor: true, + hidden : false, + position : 'above-static' + }, + sidepanel: { + hidden : false, + position: 'right' } } }); @@ -264,23 +293,30 @@ export class FuseThemeOptionsComponent implements OnInit, OnDestroy { this.form.patchValue({ layout: { - width : 'fullwidth', - navbar : { - background: 'mat-fuse-dark-700-bg', - folded : false, - hidden : false, - position : 'top', - variant : 'vertical-style-1' + width : 'fullwidth', + navbar : { + primaryBackground : 'fuse-navy-700', + secondaryBackground: 'indigo-600', + folded : false, + hidden : false, + position : 'top', + variant : 'vertical-style-1' }, - toolbar: { - background: 'mat-white-500-bg', - hidden : false, - position : 'above' + toolbar : { + background : 'fuse-white-500', + customBackgroundColor: false, + hidden : false, + position : 'above' }, - footer : { - background: 'mat-fuse-dark-900-bg', - hidden : false, - position : 'above-fixed' + footer : { + background : 'fuse-navy-900', + customBackgroundColor: true, + hidden : false, + position : 'above-fixed' + }, + sidepanel: { + hidden : false, + position: 'right' } } }); diff --git a/src/@fuse/components/theme-options/theme-options.module.ts b/src/@fuse/components/theme-options/theme-options.module.ts index 4a764bff..f9e6b043 100644 --- a/src/@fuse/components/theme-options/theme-options.module.ts +++ b/src/@fuse/components/theme-options/theme-options.module.ts @@ -2,11 +2,11 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { FlexLayoutModule } from '@angular/flex-layout'; -import { MatButtonModule, MatDividerModule, MatFormFieldModule, MatIconModule, MatOptionModule, MatRadioModule, MatSelectModule, MatSlideToggleModule } from '@angular/material'; +import { MatButtonModule, MatCheckboxModule, MatDividerModule, MatFormFieldModule, MatIconModule, MatOptionModule, MatRadioModule, MatSelectModule, MatSlideToggleModule } from '@angular/material'; import { FuseDirectivesModule } from '@fuse/directives/directives'; -import { FuseSidebarModule } from '@fuse/components/sidebar/sidebar.module'; import { FuseMaterialColorPickerModule } from '@fuse/components/material-color-picker/material-color-picker.module'; +import { FuseSidebarModule } from '@fuse/components/sidebar/sidebar.module'; import { FuseThemeOptionsComponent } from '@fuse/components/theme-options/theme-options.component'; @@ -22,6 +22,7 @@ import { FuseThemeOptionsComponent } from '@fuse/components/theme-options/theme- FlexLayoutModule, MatButtonModule, + MatCheckboxModule, MatDividerModule, MatFormFieldModule, MatIconModule, diff --git a/src/@fuse/components/theme-options/theme-options.theme.scss b/src/@fuse/components/theme-options/theme-options.theme.scss new file mode 100644 index 00000000..022cb0b2 --- /dev/null +++ b/src/@fuse/components/theme-options/theme-options.theme.scss @@ -0,0 +1,27 @@ +@mixin fuse-theme-options-theme($theme) { + + $background: map-get($theme, background); + $foreground: map-get($theme, foreground); + + fuse-theme-options { + + .theme-options-panel { + + form { + + .group { + border: 1px solid map-get($foreground, divider); + + h2 { + background: map-get($background, background); + color: map-get($foreground, secondary-text); + } + + h3 { + color: map-get($foreground, secondary-text); + } + } + } + } + } +} \ No newline at end of file diff --git a/src/@fuse/components/widget/widget.theme.scss b/src/@fuse/components/widget/widget.theme.scss new file mode 100644 index 00000000..667412c3 --- /dev/null +++ b/src/@fuse/components/widget/widget.theme.scss @@ -0,0 +1,13 @@ +@mixin fuse-widget-theme($theme) { + + $background: map-get($theme, background); + $foreground: map-get($theme, foreground); + + fuse-widget { + + > .fuse-widget-front, + > .fuse-widget-back { + background: map-get($background, card); + } + } +} \ No newline at end of file diff --git a/src/@fuse/mat-colors/index.ts b/src/@fuse/mat-colors/index.ts index 9597ff50..e2fd17e2 100644 --- a/src/@fuse/mat-colors/index.ts +++ b/src/@fuse/mat-colors/index.ts @@ -4,6 +4,7 @@ const black12 = 'rgba(black, 0.12)'; const white12 = 'rgba(white, 0.12)'; const black6 = 'rgba(black, 0.06)'; const white6 = 'rgba(white, 0.06)'; + const matColors = { 'red': { 50 : '#ffebee', @@ -635,7 +636,8 @@ const matColors = { A700: white87 } }, - 'fuse-dark': { + + 'fuse-navy': { 50 : '#ECECEE', 100 : '#C5C6CB', 200 : '#9EA1A9', @@ -667,13 +669,15 @@ const matColors = { A700: white87 } }, - white : { + + 'fuse-white': { 500 : 'white', contrast: { 500: black87 } }, - black : { + + 'fuse-black': { 500 : 'black', contrast: { 500: 'white' @@ -693,7 +697,6 @@ const matPresetColors = [ export class MatColors { public static all = matColors; - public static presets = matPresetColors; public static getColor(colorName) @@ -702,6 +705,7 @@ export class MatColors { return matColors[colorName]; } + return false; } } diff --git a/src/@fuse/scss/core.scss b/src/@fuse/scss/core.scss index 885df826..fc6f1675 100644 --- a/src/@fuse/scss/core.scss +++ b/src/@fuse/scss/core.scss @@ -10,15 +10,12 @@ // Fuse @import "fuse"; +// Theme +@import "theme"; + // Include core Angular Material styles @include mat-core(); -// Setup the typography -@include angular-material-typography($typography); - -// Create an Angular Material theme from the $theme map -@include angular-material-theme($theme); - // Partials @import "partials/reset"; @import "partials/normalize"; diff --git a/src/@fuse/scss/fuse.scss b/src/@fuse/scss/fuse.scss index dc21c9b7..20e8b847 100644 --- a/src/@fuse/scss/fuse.scss +++ b/src/@fuse/scss/fuse.scss @@ -1,5 +1,5 @@ -// Material theming -@import "theming"; +// Material theming tools +@import '~@angular/material/theming'; // Breakpoint mixins -@import "mixins/breakpoints"; +@import "mixins/breakpoints"; \ No newline at end of file diff --git a/src/@fuse/scss/mixins/_breakpoints.scss b/src/@fuse/scss/mixins/_breakpoints.scss index 2122af9c..3533c6a4 100644 --- a/src/@fuse/scss/mixins/_breakpoints.scss +++ b/src/@fuse/scss/mixins/_breakpoints.scss @@ -25,7 +25,7 @@ $grid-breakpoints: ( @mixin media-breakpoint($breakpointName) { - $mediaQuery: map_get($breakpoints, $breakpointName); + $mediaQuery: map-get($breakpoints, $breakpointName); @if ($mediaQuery != null) { diff --git a/src/@fuse/scss/partials/_angular-material-fix.scss b/src/@fuse/scss/partials/_angular-material-fix.scss index 43035a14..43debd21 100644 --- a/src/@fuse/scss/partials/_angular-material-fix.scss +++ b/src/@fuse/scss/partials/_angular-material-fix.scss @@ -12,10 +12,6 @@ } // Fix: "Inconsistent font sizes across elements" -.mat-form-field-wrapper { - font-size: 16px; -} - .mat-checkbox { font-size: 16px; } @@ -34,7 +30,7 @@ background-color: rgba(0, 0, 0, 0.12); } -// Fix: "Some idiots using table-cell and inline-table in mat-select" +// Fix: "Table-cell and inline-table in mat-select" .mat-form-field { &.mat-form-field-type-mat-select { diff --git a/src/@fuse/scss/partials/_cards.scss b/src/@fuse/scss/partials/_cards.scss index 06ff9755..9d3788b4 100644 --- a/src/@fuse/scss/partials/_cards.scss +++ b/src/@fuse/scss/partials/_cards.scss @@ -1,7 +1,26 @@ +// ----------------------------------------------------------------------------------------------------- +// @ Theming +// ----------------------------------------------------------------------------------------------------- +@mixin cards-theme($theme) { + + $background: map-get($theme, background); + $foreground: map-get($theme, foreground); + + .fuse-card { + background: map-get($background, card); + + .card-divider { + border-top: 1px solid map-get($foreground, divider); + } + } +} + +// ----------------------------------------------------------------------------------------------------- +// @ Cards +// ----------------------------------------------------------------------------------------------------- .fuse-card { max-width: 320px; min-width: 320px; - background: white; border-radius: 2px; @include mat-elevation(2); @@ -37,13 +56,8 @@ // Divider .card-divider { - border-top: 1px solid rgba(0, 0, 0, 0.12); margin: 16px; - &.light { - border-top-color: rgba(255, 255, 255, 0.12); - } - &.full-width { margin: 0; } diff --git a/src/@fuse/scss/partials/_colors.scss b/src/@fuse/scss/partials/_colors.scss index cc864cde..c68b3f01 100644 --- a/src/@fuse/scss/partials/_colors.scss +++ b/src/@fuse/scss/partials/_colors.scss @@ -1,23 +1,52 @@ -.secondary-text, -.icon, -i { - color: rgba(0, 0, 0, 0.54); +// ----------------------------------------------------------------------------------------------------- +// @ Theming +// ----------------------------------------------------------------------------------------------------- +@mixin colors-theme($theme) { + + $is-dark: map-get($theme, is-dark); + $background: map-get($theme, background); + $foreground: map-get($theme, foreground); + + // Base colors + & { + color: map-get($foreground, text); + + // If it's a light theme, use a darker background + // color other than the default #fafafa + @if ($is-dark == false) { + background: #F5F5F5; + } @else { + background: map-get($background, background); + } + } + + .secondary-text { + color: map-get($foreground, secondary-text); + } + + .icon, + i { + color: map-get($foreground, icon); + } + + .hint-text { + color: map-get($foreground, hint-text); + } + + .disabled-text { + color: map-get($foreground, disabled-text); + } + + .fade-text, + .divider { + color: map-get($foreground, divider); + } } -.hint-text, -.disabled-text { - color: rgba(0, 0, 0, 0.38); -} - -.divider { - color: rgba(0, 0, 0, 0.12); -} - -// Material colors map +// ----------------------------------------------------------------------------------------------------- +// @ Material colors map +// ----------------------------------------------------------------------------------------------------- $matPalettes: ( - primary: $primary, - accent: $accent, - warn: $warn, red: $mat-red, pink: $mat-pink, purple: $mat-purple, @@ -36,17 +65,16 @@ $matPalettes: ( deep-orange: $mat-deep-orange, brown: $mat-brown, grey: $mat-grey, - blue-grey: $mat-blue-grey, - white: $mat-white, - black: $mat-black, - fuse-dark: $mat-fusedark + blue-grey: $mat-blue-grey ); // Material color hues list $matHues: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200, A400, A700; -// Text color levels generator mixin -@mixin generateTextColorLevels($classes, $contrast) { +// ----------------------------------------------------------------------------------------------------- +// @ Text color levels generator +// ----------------------------------------------------------------------------------------------------- +@mixin generate-text-color-levels($classes, $contrast) { // If the contrast is dark... @if ($contrast == 'dark') { @@ -125,7 +153,10 @@ $matHues: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200, A400, A70 } } -@mixin generateMaterialElementColors($classes, $contrast) { +// ----------------------------------------------------------------------------------------------------- +// @ Material element colors generator +// ----------------------------------------------------------------------------------------------------- +@mixin generate-material-element-colors($classes, $contrast) { // If the contrast color is light... $fuseForeground: ( @@ -150,53 +181,55 @@ $matHues: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200, A400, A70 // Native Input input[type="text"] { - color: map_get($fuseForeground, base); + color: map-get($fuseForeground, base); } // Input .mat-form-field-label { - color: map_get($fuseForeground, hint-text); + color: map-get($fuseForeground, hint-text); } .mat-form-field-underline { - background-color: map_get($fuseForeground, divider); + background-color: map-get($fuseForeground, divider); } // Select .mat-select-trigger, .mat-select-arrow { - color: map_get($fuseForeground, hint-text); + color: map-get($fuseForeground, hint-text); } .mat-select-underline { - background-color: map_get($fuseForeground, divider); + background-color: map-get($fuseForeground, divider); } .mat-select-disabled .mat-select-value, .mat-select-arrow, .mat-select-trigger { - color: map_get($fuseForeground, hint-text); + color: map-get($fuseForeground, hint-text); } .mat-select-content, .mat-select-panel-done-animating { - background: map_get($background, card); + //background: map-get($background, card); } .mat-select-value { - color: map_get($fuseForeground, text); + color: map-get($fuseForeground, text); } } } -// Color classes generator mixin -@mixin generateColorClasses($colorName, $color, $contrastColor, $hue) { +// ----------------------------------------------------------------------------------------------------- +// @ Color classes generator +// ----------------------------------------------------------------------------------------------------- +@mixin generate-color-classes($colorName, $color, $contrastColor, $hue) { .#{$colorName}#{$hue}-bg { background-color: $color !important; } - .mat-#{$colorName}#{$hue}-bg { + .#{$colorName}#{$hue} { background-color: $color !important; color: $contrastColor !important; @@ -231,13 +264,10 @@ $matHues: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200, A400, A70 } } -@mixin generateFuseColorClasses($primary, $accent, $warn) { - - $palettes: ( - primary: $primary, - accent: $accent, - warn: $warn - ); +// ----------------------------------------------------------------------------------------------------- +// @ Fuse color classes +// ----------------------------------------------------------------------------------------------------- +@mixin fuse-color-classes($palettes) { // Define contrast lists $light-contrasting-classes: (); @@ -258,32 +288,32 @@ $matHues: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200, A400, A70 @if ($color != null and $contrast != null) { // Generate color classes - @include generateColorClasses($paletteName, $color, $contrast, '-#{$hue}'); + @include generate-color-classes($paletteName, $color, $contrast, '-#{$hue}'); // If the contrast color is dark @if (rgba(black, 1) == rgba($contrast, 1)) { - $dark-contrasting-classes: append($dark-contrasting-classes, unquote('.mat-#{$paletteName}-#{$hue}-bg'), 'comma'); + $dark-contrasting-classes: append($dark-contrasting-classes, unquote('.#{$paletteName}-#{$hue}'), 'comma'); } // if the contrast color is light @else { - $light-contrasting-classes: append($light-contrasting-classes, unquote('.mat-#{$paletteName}-#{$hue}-bg'), 'comma'); + $light-contrasting-classes: append($light-contrasting-classes, unquote('.#{$paletteName}-#{$hue}'), 'comma'); } // Run the generator one more time for default values (500) @if ($hue == 500) { // Generate color classes - @include generateColorClasses($paletteName, $color, $contrast, ''); + @include generate-color-classes($paletteName, $color, $contrast, ''); // Add color to the correct list depending on the contrasting color // If the contrast color is dark @if (rgba(black, 1) == rgba($contrast, 1)) { - $dark-contrasting-classes: append($dark-contrasting-classes, unquote('.mat-#{$paletteName}-bg'), 'comma'); + $dark-contrasting-classes: append($dark-contrasting-classes, unquote('.#{$paletteName}'), 'comma'); } // if the contrast color is light @else { - $light-contrasting-classes: append($light-contrasting-classes, unquote('.mat-#{$paletteName}-bg'), 'comma'); + $light-contrasting-classes: append($light-contrasting-classes, unquote('.#{$paletteName}'), 'comma'); } } } @@ -291,68 +321,13 @@ $matHues: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200, A400, A70 } // Generate contrasting colors - @include generateTextColorLevels($dark-contrasting-classes, 'dark'); - @include generateTextColorLevels($light-contrasting-classes, 'light'); - @include generateMaterialElementColors($dark-contrasting-classes, 'dark'); - @include generateMaterialElementColors($light-contrasting-classes, 'light'); + @include generate-text-color-levels($dark-contrasting-classes, 'dark'); + @include generate-text-color-levels($light-contrasting-classes, 'light'); + @include generate-material-element-colors($dark-contrasting-classes, 'dark'); + @include generate-material-element-colors($light-contrasting-classes, 'light'); } -// Generate the color classes... - -// Define contrast lists -$light-contrasting-classes: (); -$dark-contrasting-classes: (); - -@each $paletteName, $palette in $matPalettes { - - // Get the contrasts map - $contrasts: map-get($palette, 'contrast'); - - @each $hue in $matHues { - - // Get the color and the contrasting color - $color: map-get($palette, $hue); - $contrast: map-get($contrasts, $hue); - - @if ($color != null and $contrast != null) { - - // Generate color classes - @include generateColorClasses($paletteName, $color, $contrast, '-#{$hue}'); - - // Add color to the correct list depending on the contrasting color - - // If the contrast color is dark - @if (rgba(black, 1) == rgba($contrast, 1)) { - $dark-contrasting-classes: append($dark-contrasting-classes, unquote('.mat-#{$paletteName}-#{$hue}-bg'), 'comma'); - } - // if the contrast color is light - @else { - $light-contrasting-classes: append($light-contrasting-classes, unquote('.mat-#{$paletteName}-#{$hue}-bg'), 'comma'); - } - - // Run the generator one more time for default values (500) - @if ($hue == 500) { - - // Generate color classes - @include generateColorClasses($paletteName, $color, $contrast, ''); - - // Add color to the correct list depending on the contrasting color - - // If the contrast color is dark - @if (rgba(black, 1) == rgba($contrast, 1)) { - $dark-contrasting-classes: append($dark-contrasting-classes, unquote('.mat-#{$paletteName}-bg'), 'comma'); - } - // if the contrast color is light - @else { - $light-contrasting-classes: append($light-contrasting-classes, unquote('.mat-#{$paletteName}-bg'), 'comma'); - } - } - } - } -} - -// Generate contrasting colors -@include generateTextColorLevels($dark-contrasting-classes, 'dark'); -@include generateTextColorLevels($light-contrasting-classes, 'light'); -@include generateMaterialElementColors($dark-contrasting-classes, 'dark'); -@include generateMaterialElementColors($light-contrasting-classes, 'light'); +// ----------------------------------------------------------------------------------------------------- +// @ Generate Fuse color classes for default Material palettes +// ----------------------------------------------------------------------------------------------------- +@include fuse-color-classes($matPalettes); diff --git a/src/@fuse/scss/partials/_global.scss b/src/@fuse/scss/partials/_global.scss index 9a100ea6..c8ab03b1 100644 --- a/src/@fuse/scss/partials/_global.scss +++ b/src/@fuse/scss/partials/_global.scss @@ -9,7 +9,6 @@ body { margin: 0; padding: 0; overflow: hidden; - background: #F5F5F5; } body { diff --git a/src/@fuse/scss/partials/_helpers.scss b/src/@fuse/scss/partials/_helpers.scss index 1ca0e9e2..b8e0a4cc 100644 --- a/src/@fuse/scss/partials/_helpers.scss +++ b/src/@fuse/scss/partials/_helpers.scss @@ -1,6 +1,6 @@ -// ###################### -// POSITION HELPERS -// ###################### +// ----------------------------------------------------------------------------------------------------- +// @ Position helpers +// ----------------------------------------------------------------------------------------------------- @each $breakpoint in map-keys($grid-breakpoints) { @include media-breakpoint-up($breakpoint) { @@ -21,9 +21,9 @@ } } -// #################################### -// ABSOLUTE POSITION ALIGNMENT HELPERS -// #################################### +// ----------------------------------------------------------------------------------------------------- +// @ Absolute position alignment helpers +// ----------------------------------------------------------------------------------------------------- @each $breakpoint in map-keys($grid-breakpoints) { @include media-breakpoint-up($breakpoint) { @@ -48,9 +48,9 @@ } } -// ###################### -// SIZE HELPERS -// ###################### +// ----------------------------------------------------------------------------------------------------- +// @ Size helpers +// ----------------------------------------------------------------------------------------------------- @each $prop, $abbrev in (height: h, width: w) { @for $index from 0 through 180 { @@ -75,9 +75,9 @@ } } -// ###################### -// SPACING HELPERS -// ###################### +// ----------------------------------------------------------------------------------------------------- +// @ Spacing helpers +// ----------------------------------------------------------------------------------------------------- @each $breakpoint in map-keys($grid-breakpoints) { @include media-breakpoint-up($breakpoint) { @@ -168,9 +168,9 @@ } } -// ###################### -// BORDER HELPERS -// ###################### +// ----------------------------------------------------------------------------------------------------- +// @ Border helpers +// ----------------------------------------------------------------------------------------------------- $border-style: 1px solid rgba(0, 0, 0, 0.12); .border, @@ -199,7 +199,7 @@ $border-style: 1px solid rgba(0, 0, 0, 0.12); } .border-horizontal, -.b-x { +.bx { border-left: $border-style; border-right: $border-style; } @@ -210,9 +210,9 @@ $border-style: 1px solid rgba(0, 0, 0, 0.12); border-bottom: $border-style; } -// ###################### -// BORDER RADIUS HELPERS -// ###################### +// ----------------------------------------------------------------------------------------------------- +// @ Border radius helpers +// ----------------------------------------------------------------------------------------------------- .border-radius-100 { border-radius: 100%; } @@ -233,9 +233,9 @@ $border-style: 1px solid rgba(0, 0, 0, 0.12); border-radius: 16px; } -// ###################### -// CURSOR HELPERS -// ###################### +// ----------------------------------------------------------------------------------------------------- +// @ Cursor helpers +// ----------------------------------------------------------------------------------------------------- .cursor-pointer { cursor: pointer; } diff --git a/src/@fuse/scss/partials/_material.scss b/src/@fuse/scss/partials/_material.scss index 75c1b02c..7f6b9f72 100644 --- a/src/@fuse/scss/partials/_material.scss +++ b/src/@fuse/scss/partials/_material.scss @@ -1,6 +1,169 @@ -/*----------------------------------------------------------------*/ -/* Avatars -/*----------------------------------------------------------------*/ +// ----------------------------------------------------------------------------------------------------- +// @ Theming +// ----------------------------------------------------------------------------------------------------- +@mixin material-theme($theme) { + + $background: map-get($theme, background); + $foreground: map-get($theme, foreground); + + // ----------------------------------------------------------------------------------------------------- + // @ Avatar + // ----------------------------------------------------------------------------------------------------- + .avatar { + color: map-get($foreground, text); + } + + // ----------------------------------------------------------------------------------------------------- + // @ Forms + // ----------------------------------------------------------------------------------------------------- + .form-wrapper { + background-color: map-get($background, card); + } + + // ----------------------------------------------------------------------------------------------------- + // @ Navigation - Simple + // ----------------------------------------------------------------------------------------------------- + .navigation-simple { + + .item { + + &.selected { + background-color: map-get($background, hover); + } + } + + .subheader { + border-top: 1px solid map-get($foreground, divider); + } + } + + // ----------------------------------------------------------------------------------------------------- + // @ Pagination - Simple + // ----------------------------------------------------------------------------------------------------- + .simple-pagination { + background: map-get($background, card); + + .pagination-item { + color: map-get($foreground, secondary-text); + + &:hover { + color: map-get($foreground, text); + } + + &.disabled { + color: map-get($foreground, disabled-text); + } + } + } + + // ----------------------------------------------------------------------------------------------------- + // @ Price tables + // ----------------------------------------------------------------------------------------------------- + .price-tables { + + .price-table { + background: map-get($background, card); + + &.style-1 { + + .price { + + .currency { + color: map-get($foreground, secondary-text); + } + + .period { + color: map-get($foreground, secondary-text); + } + } + } + + &.style-2 { + + .price { + + .currency { + color: map-get($foreground, secondary-text); + } + + } + + .period { + color: map-get($foreground, secondary-text); + } + } + + &.style-3 { + + .package-type { + + .subtitle { + color: map-get($foreground, secondary-text); + } + } + + .terms { + color: map-get($foreground, secondary-text); + } + + .note { + color: map-get($foreground, secondary-text); + } + } + } + } + + // ------------------------------------------------------------------------------------------------- + // @ Table - Simple + // ------------------------------------------------------------------------------------------------- + .simple-table-container { + background: map-get($background, card); + } + + table { + + &.simple { + + thead { + + tr { + + th { + color: map-get($foreground, secondary-text); + border-bottom: 1px solid map-get($foreground, divider); + } + } + } + + tbody { + + tr { + + td { + border-bottom: 1px solid map-get($foreground, divider); + } + } + } + + &.clickable { + + tbody { + + tr { + + &:hover { + background-color: map-get($background, hover); + } + } + } + } + } + } +} + +// ----------------------------------------------------------------------------------------------------- +// @ Avatar +// ----------------------------------------------------------------------------------------------------- .avatar { width: 40px; min-width: 40px; @@ -11,7 +174,6 @@ font-size: 17px; font-weight: 500; text-align: center; - color: #FFFFFF; &.square { border-radius: 0; @@ -58,6 +220,7 @@ mat-icon.status { &.online { color: #4CAF50; + &:before { content: "check_circle"; } @@ -65,6 +228,7 @@ mat-icon.status { &.do-not-disturb { color: #F44336; + &:before { content: "do_not_disturb_on"; } @@ -73,6 +237,7 @@ mat-icon.status { &.away { background-color: #FFC107; color: #FFFFFF; + &:before { content: "access_time"; } @@ -81,17 +246,17 @@ mat-icon.status { &.offline { color: #646464; background-color: #FFFFFF; + &:before { content: "not_interested"; } } } -/*----------------------------------------------------------------*/ -/* Forms -/*----------------------------------------------------------------*/ +// ----------------------------------------------------------------------------------------------------- +// @ Forms +// ----------------------------------------------------------------------------------------------------- .form-wrapper { - background: #FFFFFF; padding: 16px; .form-title { @@ -100,9 +265,9 @@ mat-icon.status { } } -/*----------------------------------------------------------------*/ -/* Navigation - Simple -/*----------------------------------------------------------------*/ +// ----------------------------------------------------------------------------------------------------- +// @ Navigation - Simple +// ----------------------------------------------------------------------------------------------------- .navigation-simple { .item { @@ -125,21 +290,12 @@ mat-icon.status { font-weight: 500; line-height: 1; } - - &.selected { - background-color: rgba(0, 0, 0, 0.06); - } } .subheader { font-size: 13px; - border-top: 1px solid rgba(0, 0, 0, 0.12); font-weight: 500; margin-top: 8px; - - &.light { - border-top: 1px solid rgba(255, 255, 255, 0.12); - } } mat-divider { @@ -147,15 +303,14 @@ mat-icon.status { } } -/*----------------------------------------------------------------*/ -/* Pagination -/*----------------------------------------------------------------*/ +// ----------------------------------------------------------------------------------------------------- +// @ Pagination - Simple +// ----------------------------------------------------------------------------------------------------- .simple-pagination { position: relative; display: inline-flex; flex-direction: row; @include mat-elevation(1); - background-color: #FFFFFF; padding: 0 8px; .pagination-item { @@ -168,32 +323,24 @@ mat-icon.status { border-radius: 0; margin: 0; font-weight: normal; - color: rgba(0, 0, 0, 0.54); - - &:hover { - color: rgba(0, 0, 0, 0.87); - } &.active { cursor: default; - color: rgba(0, 0, 0, 0.87); } &.disabled { cursor: default; - color: rgba(0, 0, 0, 0.26); } } } -/*----------------------------------------------------------------*/ -/* Price Tables -/*----------------------------------------------------------------*/ +// ----------------------------------------------------------------------------------------------------- +// @ Price tables +// ----------------------------------------------------------------------------------------------------- .price-tables { .price-table { position: relative; - background-color: #FFFFFF; width: 280px; border-radius: 2px; margin: 12px; @@ -218,7 +365,6 @@ mat-icon.status { padding-right: 4px; font-size: 24px; font-weight: 500; - color: rgba(0, 0, 0, 0.54); } .value { @@ -230,7 +376,6 @@ mat-icon.status { .period { padding: 0 0 5px 4px; font-size: 17px; - color: rgba(0, 0, 0, 0.54); } } @@ -279,7 +424,6 @@ mat-icon.status { padding-right: 4px; font-size: 24px; font-weight: 500; - color: rgba(0, 0, 0, 0.54); } .value { @@ -293,7 +437,6 @@ mat-icon.status { padding: 0 32px; font-size: 15px; font-weight: 500; - color: rgba(0, 0, 0, 0.54); text-align: center; } @@ -328,7 +471,6 @@ mat-icon.status { .subtitle { font-size: 17px; - color: rgba(0, 0, 0, 0.54); font-weight: 500; } } @@ -357,7 +499,6 @@ mat-icon.status { .terms { margin: 32px; font-size: 15px; - color: rgba(0, 0, 0, 0.54); .term { padding-bottom: 16px; @@ -375,17 +516,15 @@ mat-icon.status { .note { padding: 8px 32px 16px 32px; text-align: center; - color: rgba(0, 0, 0, 0.54); } } } } -/*----------------------------------------------------------------*/ -/* Table - Simple -/*----------------------------------------------------------------*/ +// ----------------------------------------------------------------------------------------------------- +// @ Table - Simple +// ----------------------------------------------------------------------------------------------------- .simple-table-container { - background: #FFFFFF; .table-title { font-size: 20px; @@ -408,8 +547,6 @@ table { th { padding: 16px 8px; font-weight: 500; - color: rgba(0, 0, 0, 0.54); - border-bottom: 1px solid rgba(0, 0, 0, 0.12); white-space: nowrap; &:first-child { @@ -429,7 +566,6 @@ table { td { padding: 16px 8px; - border-bottom: 1px solid rgba(0, 0, 0, 0.12); &:first-child { padding-left: 24px; @@ -455,12 +591,8 @@ table { tr { cursor: pointer; - - &:hover { - background: rgba(0, 0, 0, 0.03); - } } } } } -} +} \ No newline at end of file diff --git a/src/@fuse/scss/partials/_navigation.scss b/src/@fuse/scss/partials/_navigation.scss index f9fb868d..1b190b4c 100644 --- a/src/@fuse/scss/partials/_navigation.scss +++ b/src/@fuse/scss/partials/_navigation.scss @@ -64,11 +64,11 @@ } &:hover { - background-color: map-get($background, hover); + background-color: rgba(0, 0, 0, 0.04); } .mat-ripple-element { - background-color: map-get($background, hover); + background-color: rgba(0, 0, 0, 0.04); } &.active { diff --git a/src/@fuse/scss/partials/_page-layouts.scss b/src/@fuse/scss/partials/_page-layouts.scss index 943a4af2..3384fcca 100644 --- a/src/@fuse/scss/partials/_page-layouts.scss +++ b/src/@fuse/scss/partials/_page-layouts.scss @@ -1,4 +1,83 @@ -// Page Layouts +// ----------------------------------------------------------------------------------------------------- +// @ Theming +// ----------------------------------------------------------------------------------------------------- +@mixin page-layouts-theme($theme) { + + $background: map-get($theme, background); + $foreground: map-get($theme, foreground); + + .page-layout { + + // Carded layout + &.carded { + + // Fullwidth + &.fullwidth { + + > .center { + + > .content-card { + background: map-get($background, card); + + > .toolbar { + border-bottom-color: map-get($foreground, divider); + } + } + } + } + + // Left / Right sidebar + &.left-sidebar, + &.right-sidebar { + + > .center { + + > .content-card { + background: map-get($background, card); + + > .toolbar { + border-bottom-color: map-get($foreground, divider); + } + } + } + } + } + + // Simple layout + &.simple { + + // Left / Right sidebar + &.left-sidebar, + &.right-sidebar { + + > .center { + + > .content { + background: map-get($background, card); + } + } + + // Inner sidebar + &.inner-sidebar { + + > .content { + + > .center { + + > .content { + background: map-get($background, card); + } + } + } + } + } + } + } +} + +// ----------------------------------------------------------------------------------------------------- +// @ Page Layouts +// ----------------------------------------------------------------------------------------------------- $carded-header-height: 200px !default; $carded-header-height-sm: 160px !default; $carded-toolbar-height: 64px !default; @@ -75,7 +154,7 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too display: flex; justify-content: flex-start; align-items: center; - border-bottom: 1px solid rgba(0, 0, 0, 0.12); + border-bottom: 1px solid; height: $carded-toolbar-height; min-height: $carded-toolbar-height; max-height: $carded-toolbar-height; @@ -273,7 +352,7 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too justify-content: flex-start; align-items: center; flex: 1 1 auto; - border-bottom: 1px solid rgba(0, 0, 0, 0.12); + border-bottom: 1px solid; height: $carded-toolbar-height; min-height: $carded-toolbar-height; max-height: $carded-toolbar-height; @@ -516,7 +595,7 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too } } - // Inner Sidebar + // Inner sidebar &.inner-sidebar { flex-direction: column; overflow: hidden; diff --git a/src/@fuse/scss/partials/_typography.scss b/src/@fuse/scss/partials/_typography.scss index d3251b11..f6c2d184 100644 --- a/src/@fuse/scss/partials/_typography.scss +++ b/src/@fuse/scss/partials/_typography.scss @@ -1,3 +1,44 @@ +// ----------------------------------------------------------------------------------------------------- +// @ Theming +// ----------------------------------------------------------------------------------------------------- +@mixin typography-theme($theme) { + + $background: map-get($theme, background); + $accent: map-get($theme, accent); + $is-dark: map-get($theme, is-dark); + + a { + color: map-get($accent, default); + } + + code { + + &:not(.highlight) { + background-color: map-get($background, app-bar); + } + } + + .changelog { + + .entry { + background-color: map-get($background, card); + } + } + + .text-boxed { + @if ($is-dark) { + background-color: rgba(255, 255, 255, 0.12); + color: rgba(255, 255, 255, 0.54); + } @else { + background-color: rgba(0, 0, 0, 0.12); + color: rgba(0, 0, 0, 0.54); + } + } +} + +// ----------------------------------------------------------------------------------------------------- +// @ Typography +// ----------------------------------------------------------------------------------------------------- html { font-size: 62.5%; font-family: 'Roboto', 'Helvetica Neue', 'Arial', sans-serif; @@ -46,7 +87,6 @@ h6, .h6 { // Links a { - color: mat-color($accent); text-decoration: none; &:not(.mat-button):not(.mat-raised-button):not(.mat-icon-button) { @@ -103,11 +143,10 @@ code { font-family: 'Monaco', 'Menlo', 'Consolas', 'Ubuntu Mono', monospace;; &:not(.highlight) { - background: rgba(0, 0, 0, 0.065); color: #106CC8; - margin: 0 1px; padding: 2px 3px; border-radius: 2px; + line-height: 1.7; } } @@ -237,6 +276,7 @@ strong { line-height: 1.25; } +.line-height-1\.5, .line-height-1\.50 { line-height: 1.5; } @@ -245,6 +285,19 @@ strong { line-height: 1.75; } +// Letter spacing helpers +.letter-spacing-condensed { + letter-spacing: -0.02em; +} + +.letter-spacing-normal { + letter-spacing: normal; +} + +.letter-spacing-relaxed { + letter-spacing: 0.02em; +} + // Boxed text .text-boxed { border-radius: 2px; @@ -252,17 +305,9 @@ strong { margin: 0 8px; font-size: 11px; font-weight: 500; - color: rgba(0, 0, 0, 0.54); - background-color: rgba(0, 0, 0, 0.12); white-space: nowrap; } -// Boxed text light -.text-boxed-light { - @extend .text-boxed; - background-color: rgba(255, 255, 255, 0.7); -} - // Truncate .text-truncate { display: block; @@ -280,7 +325,6 @@ strong { .changelog { .entry { - background: white; margin-bottom: 24px; padding: 24px 32px; @include mat-elevation(2); diff --git a/src/@fuse/scss/partials/plugins/_ng-pick-datetime.scss b/src/@fuse/scss/partials/plugins/_ng-pick-datetime.scss deleted file mode 100644 index c7ddf34d..00000000 --- a/src/@fuse/scss/partials/plugins/_ng-pick-datetime.scss +++ /dev/null @@ -1,361 +0,0 @@ -/*@font-face { - font-family: 'fontello'; - src: url('../font/fontello.eot?81091010'); - src: url('../font/fontello.eot?81091010#iefix') format('embedded-opentype'), - url('../font/fontello.woff2?81091010') format('woff2'), - url('../font/fontello.woff?81091010') format('woff'), - url('../font/fontello.ttf?81091010') format('truetype'), - url('../font/fontello.svg?81091010#fontello') format('svg'); - font-weight: normal; - font-style: normal; -}*/ - -owl-date-time { - - [class^="icon-"]:before, [class*=" icon-"]:before { - font-family: "Material Icons"; - font-style: normal; - font-weight: normal; - speak: none; - - display: flex; - align-items: center; - justify-content: center; - - /* For safety - reset parent styles, that can break glyph codes*/ - font-variant: normal; - text-transform: none; - - /* Font smoothing. That was taken from TWBS */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - } - - .icon-cancel:before { - content: 'close'; - } - - .icon-up-open:before { - content: 'keyboard_arrow_up'; - } - - .icon-down-open:before { - content: 'keyboard_arrow_down'; - } - - .icon-left-open:before { - content: 'chevron_left'; - } - - .icon-right-open:before { - content: 'chevron_right'; - } - - $white: #FFFFFF; - $black: #000000; - $grey: #DDDDDD; - $blue: #0070BA; - - .owl-widget, - .owl-widget * { - box-sizing: border-box; - } - - .owl-widget { - font-size: 1em; - } - - .owl-state-focus { - - } - - .owl-corner-all { - border-radius: 2px; - } - - .owl-corner-top { - border-top-left-radius: 2px; - border-top-right-radius: 2px; - } - - .owl-state-default { - background: #FFFFFF; - color: rgba(0, 0, 0, 0.87); - } - - .owl-dateTime-inputWrapper { - display: flex; - flex-direction: row; - justify-content: flex-start; - align-items: center; - - .owl-dateTime-input { - background: none !important; - padding: 0 !important; - cursor: pointer; - - .owl-inputtext { - margin: 0; - padding: 8px; - background: none !important; - color: rgba(0, 0, 0, 0.87); - } - } - - .owl-dateTime-cancel { - position: relative !important; - right: 0 !important; - top: 0 !important; - transform: none !important; - font-size: 16px !important; - width: 16px !important; - height: 16px !important; - min-width: 16px !important; - min-height: 16px !important; - line-height: 16px !important; - color: rgba(0, 0, 0, 0.54) !important; - } - } - - .owl-dateTime { - position: relative; - width: 140px; - - &.owl-dateTime-inline { - width: auto; - - .owl-dateTime-dialog { - position: relative; - z-index: auto; - } - } - } - - .owl-dateTime-dialog { - width: 256px; - user-select: none; - z-index: 99999; - top: 24px !important; - right: 0 !important; - left: auto !important; - @include mat-elevation(4); - } - - .owl-dateTime-dialogHeader { - height: 2.5em; - padding: .25em; - background-color: rgba(0, 0, 0, .1); - overflow-y: auto; - -webkit-overflow-scrolling: touch; - } - - .owl-calendar-wrapper { - padding: 16px !important; - } - - .owl-calendar-control { - - .owl-calendar-controlNav { - display: flex; - align-items: center; - justify-content: center; - - .nav-prev, - .nav-next { - display: flex; - - &:before { - font-family: "Material Icons"; - position: relative !important; - right: 0 !important; - top: 0 !important; - transform: none !important; - font-size: 20px !important; - width: 20px !important; - height: 20px !important; - min-width: 20px !important; - min-height: 20px !important; - line-height: 20px !important; - content: "chevron_left"; - color: rgba(0, 0, 0, 0.54); - } - } - - .nav-next:before { - content: "chevron_right"; - } - } - - .owl-calendar-controlContent { - - .month-control, - .year-control { - font-size: 14px; - font-weight: 500; - cursor: pointer; - } - - .month-control { - margin-right: 8px; - } - - .year-control { - } - } - } - - .owl-calendar { - - table { - border-spacing: 0 !important; - } - - tbody td { - - &.owl-calendar-selected { - background-color: $blue; - color: $white; - } - - &.owl-calendar-invalid { - color: #ACACAC; - } - - &.owl-calendar-outFocus { - color: $grey; - } - - &.owl-calendar-hidden { - visibility: hidden; - } - - &:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: lighten($blue, 50%); - color: $black; - } - } - } - - .owl-years, - .owl-months { - - td.owl-year, - td.owl-month { - padding: 0; - font-size: 16px; - width: 72px; - height: 48px; - line-height: 48px; - cursor: pointer; - } - } - - .owl-calendar-yearArrow { - width: 24px !important; - height: 24px !important; - - &.left { - left: -16px !important; - } - - &.right { - right: -16px !important; - } - } - - .owl-weekdays { - - th.owl-weekday { - height: 32px; - line-height: 32px; - text-align: center; - font-size: 12px; - padding: 0; - color: rgba(0, 0, 0, 0.37); - } - } - - .owl-days { - - td.owl-day { - height: 32px; - width: 32px; - line-height: 32px; - cursor: pointer; - border-radius: 100%; - padding: 0; - - &.owl-day-today:before { - content: ''; - display: block; - position: absolute; - right: 2px; - top: 2px; - border-top: .5em solid lighten($blue, 20%); - border-left: .5em solid transparent; - } - } - } - - .owl-timer-wrapper { - height: 88px; - padding: 8px !important; - background-color: rgba(0, 0, 0, 0.06); - - .owl-timer-input { - background: none; - width: 100% !important; - text-align: center; - } - - .owl-timer-text { - display: flex; - justify-content: center; - align-items: center; - width: 100%; - height: 40%; - font-size: 20px; - } - - .owl-meridian-btn { - font-size: .8em; - color: $blue; - background-image: none; - background-color: transparent; - border-color: $blue; - - &:hover { - color: $white; - background-color: $blue; - border-color: $blue; - } - } - } - - .owl-timer-divider { - display: inline-block; - position: absolute; - width: 8px; - height: 100%; - left: -2px; - - .owl-timer-dot { - display: block; - background: rgba(0, 0, 0, 0.37); - width: 3px; - height: 3px; - position: absolute; - left: 50%; - border-radius: 100%; - transform: translateX(-50%); - - &.dot-top { - top: 40%; - } - - &.dot-bottom { - bottom: 40%; - } - } - } -} diff --git a/src/@fuse/scss/partials/plugins/_ngx-datatable.scss b/src/@fuse/scss/partials/plugins/_ngx-datatable.scss index bdd69726..352b1b8c 100644 --- a/src/@fuse/scss/partials/plugins/_ngx-datatable.scss +++ b/src/@fuse/scss/partials/plugins/_ngx-datatable.scss @@ -1,3 +1,76 @@ +// ----------------------------------------------------------------------------------------------------- +// @ Theming +// ----------------------------------------------------------------------------------------------------- +@mixin ngx-datatable-theme($theme) { + + $background: map-get($theme, background); + $foreground: map-get($theme, foreground); + + ngx-datatable { + + &.material { + background: map-get($background, card); + color: map-get($foreground, text); + + .datatable-header { + + .datatable-header-cell { + color: map-get($foreground, secondary-text); + } + } + + .datatable-body { + + .datatable-row-wrapper { + border-bottom-color: map-get($foreground, divider); + + &:first-child { + border-top-color: map-get($foreground, divider); + } + + .datatable-body-row { + + .datatable-body-cell { + color: map-get($foreground, text); + } + } + } + } + + .datatable-footer { + color: map-get($foreground, secondary-text); + + .datatable-pager { + + a { + color: map-get($foreground, secondary-text); + } + } + } + + &:not(.cell-selection) { + + .datatable-body { + + .datatable-row-wrapper { + + .datatable-body-row { + + &:hover { + background-color: map-get($background, hover); + + .datatable-row-group { + background-color: map-get($background, hover); + } + } + } + } + } + } + } + } +} + .ngx-datatable { &.material { @@ -42,12 +115,11 @@ } .datatable-row-wrapper { - border-bottom: 1px solid rgba(0, 0, 0, 0.12); + border-bottom: 1px solid; &:first-child { - border-top: 1px solid rgba(0, 0, 0, 0.12); + border-top: 1px solid; } - .datatable-body-cell { display: inline-flex; align-items: center; @@ -118,48 +190,63 @@ .datatable-icon-filter:before { content: "filter_list"; } + .datatable-icon-collapse:before { content: "unfold_less"; } + .datatable-icon-expand:before { content: "unfold_more"; } + .datatable-icon-close:before { content: "close"; } + .datatable-icon-up:before { content: "keyboard_arrow_up"; } + .datatable-icon-down:before { content: "keyboard_arrow_down"; } + .datatable-icon-sort:before { content: "sort"; } + .datatable-icon-done:before { content: "done"; } + .datatable-icon-done-all:before { content: "done_all"; } + .datatable-icon-search:before { content: "search"; } + .datatable-icon-pin:before { content: "lock"; } + .datatable-icon-add:before { content: "add"; } + .datatable-icon-left:before { content: "chevron_left"; } + .datatable-icon-right:before { content: "chevron_right"; } + .datatable-icon-skip:before { content: "skip_next"; } + .datatable-icon-prev:before { content: "skip_previous"; } \ No newline at end of file diff --git a/src/@fuse/scss/theme.scss b/src/@fuse/scss/theme.scss new file mode 100644 index 00000000..18b30a4d --- /dev/null +++ b/src/@fuse/scss/theme.scss @@ -0,0 +1,30 @@ +@import "src/@fuse/components/countdown/countdown.theme"; +@import "src/@fuse/components/material-color-picker/material-color-picker.theme"; +@import "src/@fuse/components/search-bar/search-bar.theme"; +@import "src/@fuse/components/shortcuts/shortcuts.theme"; +@import "src/@fuse/components/sidebar/sidebar.theme"; +@import "src/@fuse/components/theme-options/theme-options.theme"; +@import "src/@fuse/components/widget/widget.theme"; + +@mixin fuse-core-theme($theme) { + + // Theming for Fuse core styles + @include colors-theme($theme); + @include cards-theme($theme); + @include material-theme($theme); + @include page-layouts-theme($theme); + @include typography-theme($theme); + + // Theming for Fuse components + @include fuse-countdown-theme($theme); + @include fuse-search-bar-theme($theme); + @include fuse-shortcuts-theme($theme); + @include fuse-sidebar-theme($theme); + @include fuse-theme-options-theme($theme); + @include fuse-material-color-picker-theme($theme); + @include fuse-widget-theme($theme); + + // Theming for 3rd party components + @include ngx-datatable-theme($theme); +} + diff --git a/src/@fuse/scss/theming.scss b/src/@fuse/scss/theming.scss deleted file mode 100644 index 0b060ca7..00000000 --- a/src/@fuse/scss/theming.scss +++ /dev/null @@ -1,66 +0,0 @@ -@import '~@angular/material/theming'; - -// Custom color maps -$mat-white: ( - 500: white, - contrast: ( - 500: $black-87-opacity - ) -); - -$mat-black: ( - 500: black, - contrast: ( - 500: white, - ) -); - -$mat-fusedark: ( - 50: #ECECEE, - 100: #C5C6CB, - 200: #9EA1A9, - 300: #7D818C, - 400: #5C616F, - 500: #3C4252, - 600: #353A48, - 700: #2D323E, - 800: #262933, - 900: #1E2129, - A100: #C5C6CB, - A200: #9EA1A9, - A400: #5C616F, - A700: #2D323E, - contrast: ( - 50: $black-87-opacity, - 100: $black-87-opacity, - 200: $black-87-opacity, - 300: white, - 400: white, - 500: $white-87-opacity, - 600: $white-87-opacity, - 700: $white-87-opacity, - 800: $white-87-opacity, - 900: $white-87-opacity, - A100: $black-87-opacity, - A200: $white-87-opacity, - A400: $white-87-opacity, - A700: $white-87-opacity, - ) -); - -// Define the Material palettes -$primary: mat-palette($mat-fusedark); -$accent: mat-palette($mat-light-blue, 600, 400, 700); -$warn: mat-palette($mat-red); - -// Create the Material theme object -$theme: mat-light-theme($primary, $accent, $warn); - -// Store the background and foreground colors for easier access -$background: map-get($theme, background); -$foreground: map-get($theme, foreground); - -// Force the input field font sizes to 16px -$typography: mat-typography-config( - $input: mat-typography-level(16px, 1.125, 400) -) \ No newline at end of file diff --git a/src/@fuse/services/match-media.service.ts b/src/@fuse/services/match-media.service.ts index e096900a..9e6df82d 100644 --- a/src/@fuse/services/match-media.service.ts +++ b/src/@fuse/services/match-media.service.ts @@ -1,6 +1,7 @@ import { MediaChange, ObservableMedia } from '@angular/flex-layout'; import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; +import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; @Injectable({ providedIn: 'root' @@ -38,7 +39,11 @@ export class FuseMatchMediaService */ private _init(): void { - this._observableMedia + this._observableMedia.asObservable() + .pipe( + debounceTime(500), + distinctUntilChanged() + ) .subscribe((change: MediaChange) => { if ( this.activeMediaQuery !== change.mqAlias ) { diff --git a/src/@fuse/services/splash-screen.service.ts b/src/@fuse/services/splash-screen.service.ts index 0e328fbc..6608c060 100644 --- a/src/@fuse/services/splash-screen.service.ts +++ b/src/@fuse/services/splash-screen.service.ts @@ -3,6 +3,8 @@ import { DOCUMENT } from '@angular/common'; import { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations'; import { NavigationEnd, Router } from '@angular/router'; +import { filter, take } from 'rxjs/operators'; + @Injectable({ providedIn: 'root' }) @@ -46,19 +48,16 @@ export class FuseSplashScreenService if ( this.splashScreenEl ) { // Hide it on the first NavigationEnd event - const hideOnLoad = this._router.events.subscribe((event) => { - if ( event instanceof NavigationEnd ) - { - setTimeout(() => { - this.hide(); - - // Unsubscribe from this event so it - // won't get triggered again - hideOnLoad.unsubscribe(); - }, 0); - } - } - ); + this._router.events + .pipe( + filter((event => event instanceof NavigationEnd)), + take(1) + ) + .subscribe(() => { + setTimeout(() => { + this.hide(); + }); + }); } } diff --git a/src/@fuse/types/fuse-config.ts b/src/@fuse/types/fuse-config.ts index 1b513489..d1b4c322 100644 --- a/src/@fuse/types/fuse-config.ts +++ b/src/@fuse/types/fuse-config.ts @@ -1,21 +1,25 @@ export interface FuseConfig { + colorTheme: string; layout: { style: string, width: 'fullwidth' | 'boxed', navbar: { - background: string, + primaryBackground: string, + secondaryBackground: string, hidden: boolean, folded: boolean, position: 'left' | 'right' | 'top', variant: string }, toolbar: { + customBackgroundColor: boolean, background: string, hidden: boolean, position: 'above' | 'above-static' | 'above-fixed' | 'below' | 'below-static' | 'below-fixed' } footer: { + customBackgroundColor: boolean, background: string, hidden: boolean, position: 'above' | 'above-static' | 'above-fixed' | 'below' | 'below-static' | 'below-fixed' diff --git a/src/app/app.component.html b/src/app/app.component.html index 1cf9d3c1..a10fb864 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -27,7 +27,7 @@ - @@ -35,4 +35,4 @@ - + \ No newline at end of file diff --git a/src/app/app.component.ts b/src/app/app.component.ts index cfae4916..b3451842 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -72,6 +72,36 @@ export class AppComponent implements OnInit, OnDestroy // Use a language this._translateService.use('en'); + /** + * ------------------------------------------------------------------ + * ngxTranslate Fix Start + * ------------------------------------------------------------------ + * If you are using a language other than the default one, i.e. Turkish in this case, + * you may encounter an issue where some of the components are not actually being + * translated when your app first initialized. + * + * This is related to ngxTranslate module and below there is a temporary fix while we + * are moving the multi language implementation over to the Angular's core language + * service. + **/ + + // Set the default language to 'en' and then back to 'tr'. + // '.use' cannot be used here as ngxTranslate won't switch to a language that's already + // been selected and there is no way to force it, so we overcome the issue by switching + // the default language back and forth. + /** + setTimeout(() => { + this._translateService.setDefaultLang('en'); + this._translateService.setDefaultLang('tr'); + }); + */ + + /** + * ------------------------------------------------------------------ + * ngxTranslate Fix End + * ------------------------------------------------------------------ + */ + // Add is-mobile class to the body if the platform is mobile if ( this._platform.ANDROID || this._platform.IOS ) { @@ -95,8 +125,10 @@ export class AppComponent implements OnInit, OnDestroy this._fuseConfigService.config .pipe(takeUntil(this._unsubscribeAll)) .subscribe((config) => { + this.fuseConfig = config; + // Boxed if ( this.fuseConfig.layout.width === 'boxed' ) { this.document.body.classList.add('boxed'); @@ -105,6 +137,16 @@ export class AppComponent implements OnInit, OnDestroy { this.document.body.classList.remove('boxed'); } + + // Color theme + this.document.body.classList.forEach(className => { + if ( className.startsWith('theme-') ) + { + this.document.body.classList.remove(className); + } + }); + + this.document.body.classList.add(this.fuseConfig.colorTheme); }); } diff --git a/src/app/app.theme.scss b/src/app/app.theme.scss new file mode 100644 index 00000000..4a3596e7 --- /dev/null +++ b/src/app/app.theme.scss @@ -0,0 +1,264 @@ +// ----------------------------------------------------------------------------------------------------- +// @ Custom color maps for Fuse +// ----------------------------------------------------------------------------------------------------- +$fuse-white: ( + 500: white, + contrast: ( + 500: $dark-primary-text + ) +); + +$fuse-black: ( + 500: black, + contrast: ( + 500: $light-primary-text, + ) +); + +$fuse-navy: ( + 50: #ECECEE, + 100: #C5C6CB, + 200: #9EA1A9, + 300: #7D818C, + 400: #5C616F, + 500: #3C4252, + 600: #353A48, + 700: #2D323E, + 800: #262933, + 900: #1E2129, + A100: #C5C6CB, + A200: #9EA1A9, + A400: #5C616F, + A700: #2D323E, + contrast: ( + 50: $dark-primary-text, + 100: $dark-primary-text, + 200: $dark-primary-text, + 300: $light-primary-text, + 400: $light-primary-text, + 500: $light-primary-text, + 600: $light-primary-text, + 700: $light-primary-text, + 800: $light-primary-text, + 900: $light-primary-text, + A100: $dark-primary-text, + A200: $light-primary-text, + A400: $light-primary-text, + A700: $light-primary-text, + ) +); + +// Generate Fuse color classes for custom palettes +$custom_palettes: ( + fuse-white: $fuse-white, + fuse-black: $fuse-black, + fuse-navy: $fuse-navy +); + +@include fuse-color-classes($custom_palettes); + +// ----------------------------------------------------------------------------------------------------- +// @ Typography +// ----------------------------------------------------------------------------------------------------- + +// Force the input field font sizes to 16px +$typography: mat-typography-config( + $input: mat-typography-level(16px, 1.125, 400) +); + +// Setup the typography +@include angular-material-typography($typography); + +// ----------------------------------------------------------------------------------------------------- +// @ Component theming +// ----------------------------------------------------------------------------------------------------- + +// Import app and page component themes here to enable theming for them +@import "src/app/layout/components/chat-panel/chat-panel.theme"; +@import "src/app/layout/components/toolbar/toolbar.theme"; + +@import "src/app/main/apps/academy/academy.theme"; +@import "src/app/main/apps/calendar/calendar.theme"; +@import "src/app/main/apps/chat/chat.theme"; +@import "src/app/main/apps/contacts/contacts.theme"; +@import "src/app/main/apps/dashboards/project/project.theme"; +@import "src/app/main/apps/file-manager/file-manager.theme"; +@import "src/app/main/apps/mail/mail.theme"; +@import "src/app/main/apps/mail-ngrx/mail.theme"; +@import "src/app/main/apps/scrumboard/scrumboard.theme"; +@import "src/app/main/apps/todo/todo.theme"; + +@import "src/app/main/pages/authentication/login/login.theme"; +@import "src/app/main/pages/authentication/login-2/login-2.theme"; +@import "src/app/main/pages/authentication/register/register.theme"; +@import "src/app/main/pages/authentication/register-2/register-2.theme"; +@import "src/app/main/pages/authentication/reset-password/reset-password.theme"; +@import "src/app/main/pages/authentication/reset-password-2/reset-password-2.theme"; +@import "src/app/main/pages/authentication/forgot-password/forgot-password.theme"; +@import "src/app/main/pages/authentication/forgot-password-2/forgot-password-2.theme"; +@import "src/app/main/pages/authentication/lock/lock.theme"; +@import "src/app/main/pages/authentication/mail-confirm/mail-confirm.theme"; +@import "src/app/main/pages/coming-soon/coming-soon.theme"; +@import "src/app/main/pages/errors/404/error-404.theme"; +@import "src/app/main/pages/errors/500/error-500.theme"; +@import "src/app/main/pages/maintenance/maintenance.theme"; +@import "src/app/main/pages/pricing/style-1/style-1.theme"; +@import "src/app/main/pages/pricing/style-2/style-2.theme"; +@import "src/app/main/pages/pricing/style-3/style-3.theme"; +@import "src/app/main/pages/profile/tabs/about/about.theme"; +@import "src/app/main/pages/profile/tabs/photos-videos/photos-videos.theme"; +@import "src/app/main/pages/profile/tabs/timeline/timeline.theme"; +@import "src/app/main/pages/faq/faq.theme"; +@import "src/app/main/pages/knowledge-base/knowledge-base.theme"; + +@import "src/app/main/documentation/components/cards/cards.theme"; + +// Define a mixin for easier access +@mixin components-theme($theme) { + + // Layout components + @include chat-panel-theme($theme); + @include toolbar-theme($theme); + + // Apps + @include academy-theme($theme); + @include calendar-theme($theme); + @include chat-theme($theme); + @include contacts-theme($theme); + @include dashboards-project-theme($theme); + @include file-manager-theme($theme); + @include mail-theme($theme); + @include mail-ngrx-theme($theme); + @include scrumboard-theme($theme); + @include todo-theme($theme); + + // Pages + @include login-theme($theme); + @include login-2-theme($theme); + @include register-theme($theme); + @include register-2-theme($theme); + @include reset-password-theme($theme); + @include reset-password-2-theme($theme); + @include forgot-password-theme($theme); + @include forgot-password-2-theme($theme); + @include lock-theme($theme); + @include mail-confirm-theme($theme); + @include coming-soon-theme($theme); + @include error-404-theme($theme); + @include error-500-theme($theme); + @include maintenance-theme($theme); + @include pricing-style-1-theme($theme); + @include pricing-style-2-theme($theme); + @include pricing-style-3-theme($theme); + @include profile-about-theme($theme); + @include profile-photos-videos-theme($theme); + @include profile-timeline-theme($theme); + @include faq-theme($theme); + @include knowledge-base-theme($theme); + + // Docs + @include docs-components-cards-theme($theme); + +} + +// ----------------------------------------------------------------------------------------------------- +// @ Define the default theme +// ----------------------------------------------------------------------------------------------------- + +// Define the primary, accent and warn palettes +$default-primary-palette: mat-palette($fuse-navy); +$default-accent-palette: mat-palette($mat-light-blue, 600, 400, 700); +$default-warn-palette: mat-palette($mat-red); + +// Create the Material theme object +$theme: mat-light-theme($default-primary-palette, $default-accent-palette, $default-warn-palette); + +// Add ".theme-default" class to the body to activate this theme +body.theme-default { + + // Create an Angular Material theme from the $theme map + @include angular-material-theme($theme); + + // Apply the theme to the Fuse Core + @include fuse-core-theme($theme); + + // Apply the theme to the user components + @include components-theme($theme); + + // Generate Fuse color classes for primary, accent and warn colors + $custom-palettes: ( + primary: $default-primary-palette, + accent: $default-accent-palette, + warn: $default-warn-palette + ); + + @include fuse-color-classes($custom-palettes); +} + +// ----------------------------------------------------------------------------------------------------- +// @ Define the default dark theme +// ----------------------------------------------------------------------------------------------------- + +// Define the primary, accent and warn palettes +$default-dark-theme-primary-palette: mat-palette($mat-blue, 600, 400, 700); +$default-dark-theme-accent-palette: mat-palette($mat-blue-gray); +$default-dark-theme-warn-palette: mat-palette($mat-red); + +// Create the Material theme object +$default-dark-theme: mat-dark-theme($default-dark-theme-primary-palette, $default-dark-theme-accent-palette, $default-dark-theme-warn-palette); + +// Add ".theme-default-dark" class to the body to activate this theme +body.theme-default-dark { + + // Generate the Angular Material theme + @include angular-material-theme($default-dark-theme); + + // Apply the theme to the Fuse Core + @include fuse-core-theme($default-dark-theme); + + // Apply the theme to the user components + @include components-theme($default-dark-theme); + + // Generate Fuse color classes for primary, accent and warn colors + $custom-palettes: ( + primary: $default-dark-theme-primary-palette, + accent: $default-dark-theme-accent-palette, + warn: $default-dark-theme-warn-palette + ); + + @include fuse-color-classes($custom-palettes); +} + +// ----------------------------------------------------------------------------------------------------- +// @ Define the yellow light theme +// ----------------------------------------------------------------------------------------------------- + +// Define the primary, accent and warn palettes +$yellow-light-theme-primary-palette: mat-palette($fuse-navy, 600, 400, 700); +$yellow-light-theme-accent-palette: mat-palette($mat-yellow, 600, 400, 700); +$yellow-light-theme-warn-palette: mat-palette($mat-red); + +// Create the Material theme object +$yellow-light-theme: mat-light-theme($yellow-light-theme-primary-palette, $yellow-light-theme-accent-palette, $yellow-light-theme-warn-palette); + +// Add ".theme-yellow-light" class to the body to activate this theme +body.theme-yellow-light { + + // Generate the Angular Material theme + @include angular-material-theme($yellow-light-theme); + + // Apply the theme to the Fuse Core + @include fuse-core-theme($yellow-light-theme); + + // Apply the theme to the user components + @include components-theme($yellow-light-theme); + + // Generate Fuse color classes for primary, accent and warn colors + $custom-palettes: ( + primary: $yellow-light-theme-primary-palette, + accent: $yellow-light-theme-accent-palette, + warn: $yellow-light-theme-warn-palette + ); + + @include fuse-color-classes($custom-palettes); +} \ No newline at end of file diff --git a/src/app/fuse-config/index.ts b/src/app/fuse-config/index.ts index 7db7b88c..d061ccb8 100644 --- a/src/app/fuse-config/index.ts +++ b/src/app/fuse-config/index.ts @@ -3,31 +3,36 @@ import { FuseConfig } from '@fuse/types'; /** * Default Fuse Configuration * - * You can edit these options to change the default options. All these options also can be changed per component - * basis. See `app/main/pages/authentication/login/login.component.ts` constructor method to learn more - * about changing these options per component basis. + * You can edit these options to change the default options. All these options also can be + * changed per component basis. See `app/main/pages/authentication/login/login.component.ts` + * constructor method to learn more about changing these options per component basis. */ export const fuseConfig: FuseConfig = { + // Color themes can be defined in src/app/app.theme.scss + colorTheme : 'theme-default', layout : { style : 'vertical-layout-1', width : 'fullwidth', navbar : { - background: 'mat-fuse-dark-700-bg', - folded : false, - hidden : false, - position : 'left', - variant : 'vertical-style-1' + primaryBackground : 'fuse-navy-700', + secondaryBackground: 'fuse-navy-900', + folded : false, + hidden : false, + position : 'left', + variant : 'vertical-style-1' }, toolbar : { - background: 'mat-white-500-bg', - hidden : false, - position : 'below-static' + customBackgroundColor: false, + background : 'fuse-white-500', + hidden : false, + position : 'below-static' }, footer : { - background: 'mat-fuse-dark-900-bg', - hidden : false, - position : 'below-fixed' + customBackgroundColor: true, + background : 'fuse-navy-900', + hidden : false, + position : 'below-fixed' }, sidepanel: { hidden : false, diff --git a/src/app/layout/components/chat-panel/chat-panel.theme.scss b/src/app/layout/components/chat-panel/chat-panel.theme.scss new file mode 100644 index 00000000..9ff62dc6 --- /dev/null +++ b/src/app/layout/components/chat-panel/chat-panel.theme.scss @@ -0,0 +1,82 @@ +@mixin chat-panel-theme($theme) { + + $background: map-get($theme, background); + $foreground: map-get($theme, foreground); + $primary: map-get($theme, primary); + $accent: map-get($theme, accent); + $is-dark: map-get($theme, is-dark); + + chat-panel { + + #contacts-list { + background-color: map-get($background, app-bar); + + .contacts-list-item { + + &.active { + background: map-get($background, hover); + + &:after { + background-color: map-get($accent, default); + } + } + + .unread-count { + background-color: map-get($accent, default); + color: map-get($accent, default-contrast); + } + + .status-icon { + border-color: map-get($background, app-bar); + } + } + } + + #chat { + + .messages { + + .message-row { + + &.contact { + + .bubble { + background-color: map-get($primary, default); + color: map-get($primary, default-contrast); + } + } + + &.me { + + .bubble { + color: rgba(0, 0, 0, 0.87); + background-color: #E0E0E0; + } + } + } + } + + .reply-form { + + .message-text { + background-color: map-get($background, app-bar); + border-color: map-get($foreground, divider); + + .mat-form-field-wrapper { + + .mat-form-field-flex { + + .mat-form-field-infix { + @if ($is-dark == true) { + background-color: map-get($background, hover); + } @else { + background-color: white; + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/src/app/layout/components/footer/footer.component.html b/src/app/layout/components/footer/footer.component.html index 3d6e909e..93cffc40 100644 --- a/src/app/layout/components/footer/footer.component.html +++ b/src/app/layout/components/footer/footer.component.html @@ -3,7 +3,7 @@
shopping_cart Purchase FUSE (Angular 6+) diff --git a/src/app/layout/components/navbar/horizontal/style-1/style-1.component.html b/src/app/layout/components/navbar/horizontal/style-1/style-1.component.html index 5e6bb93d..41631bb6 100644 --- a/src/app/layout/components/navbar/horizontal/style-1/style-1.component.html +++ b/src/app/layout/components/navbar/horizontal/style-1/style-1.component.html @@ -1 +1,3 @@ - \ No newline at end of file +
+ +
\ No newline at end of file diff --git a/src/app/layout/components/navbar/horizontal/style-1/style-1.component.ts b/src/app/layout/components/navbar/horizontal/style-1/style-1.component.ts index df2ecf03..9847ff25 100644 --- a/src/app/layout/components/navbar/horizontal/style-1/style-1.component.ts +++ b/src/app/layout/components/navbar/horizontal/style-1/style-1.component.ts @@ -2,6 +2,7 @@ import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; import { Subject } from 'rxjs'; import { filter, takeUntil } from 'rxjs/operators'; +import { FuseConfigService } from '@fuse/services/config.service'; import { FuseNavigationService } from '@fuse/components/navigation/navigation.service'; import { FuseSidebarService } from '@fuse/components/sidebar/sidebar.service'; @@ -13,6 +14,7 @@ import { FuseSidebarService } from '@fuse/components/sidebar/sidebar.service'; }) export class NavbarHorizontalStyle1Component implements OnInit, OnDestroy { + fuseConfig: any; navigation: any; // Private @@ -21,10 +23,12 @@ export class NavbarHorizontalStyle1Component implements OnInit, OnDestroy /** * Constructor * + * @param {FuseConfigService} _fuseConfigService * @param {FuseNavigationService} _fuseNavigationService * @param {FuseSidebarService} _fuseSidebarService */ constructor( + private _fuseConfigService: FuseConfigService, private _fuseNavigationService: FuseNavigationService, private _fuseSidebarService: FuseSidebarService ) @@ -51,6 +55,13 @@ export class NavbarHorizontalStyle1Component implements OnInit, OnDestroy .subscribe(() => { this.navigation = this._fuseNavigationService.getCurrentNavigation(); }); + + // Subscribe to the config changes + this._fuseConfigService.config + .pipe(takeUntil(this._unsubscribeAll)) + .subscribe((config) => { + this.fuseConfig = config; + }); } /** diff --git a/src/app/layout/components/navbar/vertical/style-1/style-1.component.html b/src/app/layout/components/navbar/vertical/style-1/style-1.component.html index a8299367..53cd80ac 100644 --- a/src/app/layout/components/navbar/vertical/style-1/style-1.component.html +++ b/src/app/layout/components/navbar/vertical/style-1/style-1.component.html @@ -1,4 +1,4 @@ -