diff --git a/package-lock.json b/package-lock.json index 3227527d10..ac226bc4ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,6 @@ "bowser": "^2.11.0", "core-js": "^3.32.2", "file-saver": "^2.0.2", - "flexsearch": "0.7.21", "hammerjs": "2.0.8", "html2canvas": "^1.4.1", "jspdf": "^2.5.1", @@ -412,11 +411,10 @@ } }, "node_modules/@angular-devkit/core": { - "version": "16.2.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.10.tgz", - "integrity": "sha512-eo7suLDjyu5bSlEr4TluYkFm4v2PVLSAPgnau8XHHlN5Yg4P/BZ00ve7LA7C9S1gzRSCrxQhK5ki4rnoFTo5zg==", + "version": "16.2.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.11.tgz", + "integrity": "sha512-u3cEQHqhSMWyAFIaPdRukCJwEUJt7Fy3C02gTlTeCB4F/OnftVFIm2e5vmCqMo9rgbfdvjWj9V+7wWiCpMrzAQ==", "dev": true, - "peer": true, "dependencies": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -444,7 +442,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "peer": true, "engines": { "node": ">=8.6" }, @@ -453,13 +450,12 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "16.2.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.10.tgz", - "integrity": "sha512-UCfPJKVNekb21bWRbzyx81tfHN3x8vU4ZMX/VA6xALg//QalMB7NOkkXBAssthnLastkyzkUtlvApTp2+R+EkQ==", + "version": "16.2.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.11.tgz", + "integrity": "sha512-QJ1+ZqVmxhFnIsHnKIA01Ks2ZmzTbctlZT0Wr7cMMFpIhLHlwsMYR+AURRcHJA+s1OBU1jJQfGzTM0s22leVhw==", "dev": true, - "peer": true, "dependencies": { - "@angular-devkit/core": "16.2.10", + "@angular-devkit/core": "16.2.11", "jsonc-parser": "3.2.0", "magic-string": "0.30.1", "ora": "5.4.1", @@ -476,7 +472,6 @@ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz", "integrity": "sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==", "dev": true, - "peer": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, @@ -923,6 +918,9 @@ "version": "17.0.7", "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-17.0.7.tgz", "integrity": "sha512-R/KDgnq5gV9XRv1B8zQqWz64pJ3fb0oFwCkB+w07llbxC9KDUS4MLbMmN3q/TSLOshGzs4sszNVyWGKAiTP13g==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -3962,6 +3960,12 @@ "integrity": "sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA==", "dev": true }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.13", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", @@ -5235,6 +5239,32 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@npmcli/node-gyp": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", @@ -5553,6 +5583,24 @@ "node": ">= 10" } }, + "node_modules/@parcel/watcher": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz", + "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@petamoriken/float16": { "version": "3.8.4", "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.8.4.tgz", @@ -6286,6 +6334,15 @@ "pnpm": ">=8.6.0" } }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/@trivago/prettier-plugin-sort-imports": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.3.0.tgz", @@ -7550,6 +7607,99 @@ "@xtuc/long": "4.2.2" } }, + "node_modules/@wessberg/ts-evaluator": { + "version": "0.0.27", + "resolved": "https://registry.npmjs.org/@wessberg/ts-evaluator/-/ts-evaluator-0.0.27.tgz", + "integrity": "sha512-7gOpVm3yYojUp/Yn7F4ZybJRxyqfMNf0LXK5KJiawbPfL0XTsJV+0mgrEDjOIR6Bi0OYk2Cyg4tjFu1r8MCZaA==", + "deprecated": "this package has been renamed to ts-evaluator. Please install ts-evaluator instead", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "jsdom": "^16.4.0", + "object-path": "^0.11.5", + "tslib": "^2.0.3" + }, + "engines": { + "node": ">=10.1.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/wessberg/ts-evaluator?sponsor=1" + }, + "peerDependencies": { + "typescript": ">=3.2.x || >= 4.x" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@wessberg/ts-evaluator/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -7640,6 +7790,28 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/acorn-import-assertions": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", @@ -7735,6 +7907,18 @@ "node": ">= 14" } }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dev": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, "node_modules/aggregate-error": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", @@ -7976,6 +8160,12 @@ "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==", "dev": true }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, "node_modules/arch": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", @@ -7996,6 +8186,33 @@ } ] }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -8664,6 +8881,12 @@ "base64-js": "^1.1.2" } }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, "node_modules/browser-resolve": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", @@ -9914,6 +10137,12 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -10580,6 +10809,30 @@ "node": ">=4" } }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, "node_modules/cuint": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", @@ -10931,6 +11184,20 @@ "node": ">=0.10" } }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/date-format": { "version": "4.0.14", "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", @@ -10972,6 +11239,12 @@ "callsite": "^1.0.0" } }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, "node_modules/deep-equal": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", @@ -11236,6 +11509,12 @@ "node": ">=0.4.0" } }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, "node_modules/demo": { "resolved": "projects/demo", "link": true @@ -11706,6 +11985,28 @@ } ] }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", @@ -13489,12 +13790,13 @@ "node_modules/flexsearch": { "version": "0.7.21", "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.21.tgz", - "integrity": "sha512-W7cHV7Hrwjid6lWmy0IhsWDFQboWSng25U3VVywpHOTJnnAZNPScog67G+cVpeX9f7yDD21ih0WDrMMT+JoaYg==" + "integrity": "sha512-W7cHV7Hrwjid6lWmy0IhsWDFQboWSng25U3VVywpHOTJnnAZNPScog67G+cVpeX9f7yDD21ih0WDrMMT+JoaYg==", + "peer": true }, "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "dev": true, "funding": [ { @@ -13675,6 +13977,31 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/gauge/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -14180,6 +14507,18 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/guess-parser": { + "version": "0.4.22", + "resolved": "https://registry.npmjs.org/guess-parser/-/guess-parser-0.4.22.tgz", + "integrity": "sha512-KcUWZ5ACGaBM69SbqwVIuWGoSAgD+9iJnchR9j/IarVI1jHVeXv+bUXBIMeqVMSKt3zrn0Dgf9UpcOEpPBLbSg==", + "dev": true, + "dependencies": { + "@wessberg/ts-evaluator": "0.0.27" + }, + "peerDependencies": { + "typescript": ">=3.7.5" + } + }, "node_modules/hammerjs": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", @@ -14293,6 +14632,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, "node_modules/hasown": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", @@ -14701,6 +15046,15 @@ "node": ">=16.17.0" } }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, "node_modules/i18next": { "version": "23.7.11", "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.7.11.tgz", @@ -14901,6 +15255,12 @@ "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", "dev": true }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -15281,6 +15641,12 @@ "node": ">=0.10.0" } }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -15826,12 +16192,168 @@ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dev": true, - "bin": { + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsdom/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/jsdom/node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/jsdom/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { "jsesc": "bin/jsesc" }, "engines": { @@ -18019,8 +18541,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true, - "optional": true + "dev": true }, "node_modules/node-forge": { "version": "1.3.1", @@ -18060,7 +18581,6 @@ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz", "integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==", "dev": true, - "optional": true, "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -18288,6 +18808,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -18300,6 +18835,12 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, "node_modules/nx": { "version": "17.1.3", "resolved": "https://registry.npmjs.org/nx/-/nx-17.1.3.tgz", @@ -18622,6 +19163,15 @@ "node": ">= 0.4" } }, + "node_modules/object-path": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", + "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "dev": true, + "engines": { + "node": ">= 10.12.0" + } + }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -21254,6 +21804,18 @@ "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", "dev": true }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/schema-utils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", @@ -21630,6 +22192,12 @@ "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", "dev": true }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, "node_modules/set-function-length": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", @@ -22749,6 +23317,12 @@ "node": ">=0.10" } }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, "node_modules/tablesort": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/tablesort/-/tablesort-5.3.0.tgz", @@ -23161,6 +23735,18 @@ "node": ">= 4.0.0" } }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/traverse": { "version": "0.6.7", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", @@ -24285,6 +24871,28 @@ "node": ">=0.10.0" } }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/walkdir": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.4.1.tgz", @@ -24330,6 +24938,15 @@ "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==" }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, "node_modules/webpack": { "version": "5.89.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", @@ -24679,6 +25296,26 @@ "node": ">=0.10.0" } }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -24694,6 +25331,15 @@ "node": ">= 8" } }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "node_modules/wildcard": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", @@ -24975,11 +25621,23 @@ } } }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, "node_modules/xml-utils": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.7.0.tgz", "integrity": "sha512-bWB489+RQQclC7A9OW8e5BzbT8Tu//jtAOvkYwewFr+Q9T9KDGvfzC1lp0pYPEQPEoPQLDkmxkepSC/2gIAZGw==" }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, "node_modules/xmldoc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.3.0.tgz", @@ -25309,17 +25967,17 @@ "version": "16.1.0", "license": "LiLiQ-R", "dependencies": { - "@angular/animations": "^17.0.7", - "@angular/cdk": "^17.0.4", - "@angular/common": "^17.0.7", - "@angular/compiler": "^17.0.7", - "@angular/core": "^17.0.7", - "@angular/forms": "^17.0.7", - "@angular/material": "^17.0.4", - "@angular/platform-browser": "^17.0.7", - "@angular/platform-browser-dynamic": "^17.0.7", - "@angular/router": "^17.0.7", - "@angular/service-worker": "^17.0.7", + "@angular/animations": "^16.2.5", + "@angular/cdk": "^16.2.4", + "@angular/common": "^16.2.5", + "@angular/compiler": "^16.2.5", + "@angular/core": "^16.2.5", + "@angular/forms": "^16.2.5", + "@angular/material": "^16.2.4", + "@angular/platform-browser": "^16.2.5", + "@angular/platform-browser-dynamic": "^16.2.5", + "@angular/router": "^16.2.5", + "@angular/service-worker": "^16.2.5", "@igo2/auth": "*", "@igo2/common": "*", "@igo2/context": "*", @@ -25332,17 +25990,17 @@ "ol": "^7.5.2", "rxjs": "^7.8.0", "tslib": "^2.6.0", - "zone.js": "~0.14.2" + "zone.js": "~0.13.1" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.0.7", - "@angular-eslint/builder": "^17.1.1", - "@angular-eslint/eslint-plugin": "^17.1.1", - "@angular-eslint/eslint-plugin-template": "^17.1.1", - "@angular-eslint/schematics": "^17.1.1", - "@angular-eslint/template-parser": "^17.1.1", - "@angular/cli": "^17.0.7", - "@angular/compiler-cli": "^17.0.7", + "@angular-devkit/build-angular": "^16.2.2", + "@angular-eslint/builder": "^16.2.0", + "@angular-eslint/eslint-plugin": "^16.2.0", + "@angular-eslint/eslint-plugin-template": "^16.2.0", + "@angular-eslint/schematics": "^16.2.0", + "@angular-eslint/template-parser": "^16.2.0", + "@angular/cli": "^16.2.2", + "@angular/compiler-cli": "^16.2.5", "@cypress/schematic": "^2.5.1", "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/geojson": "^7946.0.10", @@ -25350,12 +26008,12 @@ "@types/jasmine": "^4.3.5", "@types/jasminewd2": "~2.0.10", "@types/node": "^20.6.2", - "@typescript-eslint/eslint-plugin": "^6.10.0", - "@typescript-eslint/parser": "^6.10.0", + "@typescript-eslint/eslint-plugin": "^6.2.0", + "@typescript-eslint/parser": "^6.2.0", "angular-cli-ghpages": "^1.0.3", "conventional-changelog-cli": "^4.1.0", "cypress": "^13.2.0", - "eslint": "^8.53.0", + "eslint": "^8.46.0", "eslint-plugin-cypress": "^2.14.0", "eslint-plugin-unused-imports": "^3.0.0", "http-server": "^14.1.0", @@ -25367,11 +26025,4582 @@ "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "prettier": "^3.0.3", - "typescript": "~5.2.2" + "typescript": "~5.1.0" }, "engines": { "node": ">=18.10.0" } + }, + "projects/igo2/node_modules/@angular-devkit/architect": { + "version": "0.1602.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.11.tgz", + "integrity": "sha512-qC1tPL/82gxqCS1z9pTpLn5NQH6uqbV6UNjbkFEQpTwEyWEK6VLChAJsybHHfbpssPS2HWf31VoUzX7RqDjoQQ==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.2.11", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular": { + "version": "16.2.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.11.tgz", + "integrity": "sha512-yNzUiAeg1WHMsFG9IBg4S/7dsMcEAMYQ1I360ib80c0T/IwRb8pHhOokrl5Mu8zfNqZ/dxH4ItKY1uIMDmuMGQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.2.1", + "@angular-devkit/architect": "0.1602.11", + "@angular-devkit/build-webpack": "0.1602.11", + "@angular-devkit/core": "16.2.11", + "@babel/core": "7.22.9", + "@babel/generator": "7.22.9", + "@babel/helper-annotate-as-pure": "7.22.5", + "@babel/helper-split-export-declaration": "7.22.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.22.5", + "@babel/plugin-transform-runtime": "7.22.9", + "@babel/preset-env": "7.22.9", + "@babel/runtime": "7.22.6", + "@babel/template": "7.22.5", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "16.2.11", + "@vitejs/plugin-basic-ssl": "1.0.1", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.14", + "babel-loader": "9.1.3", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "^4.21.5", + "chokidar": "3.5.3", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.20", + "css-loader": "6.8.1", + "esbuild-wasm": "0.18.17", + "fast-glob": "3.3.1", + "guess-parser": "0.4.22", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.3", + "less-loader": "11.1.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.1", + "magic-string": "0.30.1", + "mini-css-extract-plugin": "2.7.6", + "mrmime": "1.0.1", + "open": "8.4.2", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "2.3.1", + "piscina": "4.0.0", + "postcss": "8.4.31", + "postcss-loader": "7.3.3", + "resolve-url-loader": "5.0.0", + "rxjs": "7.8.1", + "sass": "1.64.1", + "sass-loader": "13.3.2", + "semver": "7.5.4", + "source-map-loader": "4.0.1", + "source-map-support": "0.5.21", + "terser": "5.19.2", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.6.1", + "vite": "4.5.1", + "webpack": "5.88.2", + "webpack-dev-middleware": "6.1.1", + "webpack-dev-server": "4.15.1", + "webpack-merge": "5.9.0", + "webpack-subresource-integrity": "5.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.18.17" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0", + "@angular/localize": "^16.0.0", + "@angular/platform-server": "^16.0.0", + "@angular/service-worker": "^16.0.0", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "karma": "^6.3.0", + "ng-packagr": "^16.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=4.9.3 <5.2" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "jest": { + "optional": true + }, + "jest-environment-jsdom": { + "optional": true + }, + "karma": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "protractor": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", + "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular/node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular/node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular/node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.9.tgz", + "integrity": "sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.4", + "babel-plugin-polyfill-corejs3": "^0.8.2", + "babel-plugin-polyfill-regenerator": "^0.5.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular/node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.9.tgz", + "integrity": "sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.7", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.6", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.6", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.5", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.4", + "babel-plugin-polyfill-corejs3": "^0.8.2", + "babel-plugin-polyfill-regenerator": "^0.5.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-modules": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz", + "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular/node_modules/esbuild": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", + "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.17", + "@esbuild/android-arm64": "0.18.17", + "@esbuild/android-x64": "0.18.17", + "@esbuild/darwin-arm64": "0.18.17", + "@esbuild/darwin-x64": "0.18.17", + "@esbuild/freebsd-arm64": "0.18.17", + "@esbuild/freebsd-x64": "0.18.17", + "@esbuild/linux-arm": "0.18.17", + "@esbuild/linux-arm64": "0.18.17", + "@esbuild/linux-ia32": "0.18.17", + "@esbuild/linux-loong64": "0.18.17", + "@esbuild/linux-mips64el": "0.18.17", + "@esbuild/linux-ppc64": "0.18.17", + "@esbuild/linux-riscv64": "0.18.17", + "@esbuild/linux-s390x": "0.18.17", + "@esbuild/linux-x64": "0.18.17", + "@esbuild/netbsd-x64": "0.18.17", + "@esbuild/openbsd-x64": "0.18.17", + "@esbuild/sunos-x64": "0.18.17", + "@esbuild/win32-arm64": "0.18.17", + "@esbuild/win32-ia32": "0.18.17", + "@esbuild/win32-x64": "0.18.17" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-angular/node_modules/esbuild-wasm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.18.17.tgz", + "integrity": "sha512-9OHGcuRzy+I8ziF9FzjfKLWAPbvi0e/metACVg9k6bK+SI4FFxeV6PcZsz8RIVaMD4YNehw+qj6UMR3+qj/EuQ==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@angular-devkit/build-webpack": { + "version": "0.1602.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.11.tgz", + "integrity": "sha512-2Au6xRMxNugFkXP0LS1TwNE5gAfGW4g6yxC9P5j5p3kdGDnAVaZRTOKB9dg73i3uXtJHUMciYOThV0b78XRxwA==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1602.11", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^4.0.0" + } + }, + "projects/igo2/node_modules/@angular-eslint/builder": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.3.1.tgz", + "integrity": "sha512-PmIOnRwqdOW1bvZtpTGBTDcOq/Czm3D+IPC/k90yIMs1VsAtcxqUmUtELje+ylJeb2LPeEZavekSnEpcatM4HQ==", + "dev": true, + "dependencies": { + "@nx/devkit": "16.5.1", + "nx": "16.5.1" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/@angular-eslint/bundled-angular-compiler": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.3.1.tgz", + "integrity": "sha512-m4WP1xwS9XLcC/3n6lIcG5HZoai/5eb5W3xm48GVcv//0qE2p7S96RSgKPgGHvif5pF8O9xAqEWs3gDEG45+7A==", + "dev": true + }, + "projects/igo2/node_modules/@angular-eslint/eslint-plugin": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.3.1.tgz", + "integrity": "sha512-kSc8ESfoy8TUSthbq0Lpq9e17I+3Smy4rHoNpKCFEGuJgPs0+OssZMxB6a5EawGbv2EKTPEtrxzFm1WsLR0U9Q==", + "dev": true, + "dependencies": { + "@angular-eslint/utils": "16.3.1", + "@typescript-eslint/utils": "5.62.0" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/@angular-eslint/eslint-plugin-template": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.3.1.tgz", + "integrity": "sha512-+RcFEWqNiRt3+5jXvmlIDlXtP9+vjdmgmVL6tt8yDbqdjBOewtyMu4pE4YaR4sFboyxgME9PbO2WrOyPXh6xjg==", + "dev": true, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "16.3.1", + "@angular-eslint/utils": "16.3.1", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "aria-query": "5.3.0", + "axobject-query": "4.0.0" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/@angular-eslint/schematics": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.3.1.tgz", + "integrity": "sha512-cqrdobdtRY2XjLa6PhuGOQ7UhTRk2AvWS01sKeGjZ94nQJm5NUtEUyf6u3deIPYllW7gSAWjYzKUObKcTW/R+g==", + "dev": true, + "dependencies": { + "@angular-eslint/eslint-plugin": "16.3.1", + "@angular-eslint/eslint-plugin-template": "16.3.1", + "@nx/devkit": "16.5.1", + "ignore": "5.2.4", + "nx": "16.5.1", + "strip-json-comments": "3.1.1", + "tmp": "0.2.1" + }, + "peerDependencies": { + "@angular/cli": ">= 16.0.0 < 17.0.0" + } + }, + "projects/igo2/node_modules/@angular-eslint/template-parser": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.3.1.tgz", + "integrity": "sha512-9+SxUtxB2iOnm0ldS2ow0stMxe02rB/TxeMIe8fxsLFHZdw8RQvs/p3HLvVHXzv6gUblMHebIb/ubUmwEVb2SA==", + "dev": true, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "16.3.1", + "eslint-scope": "^7.0.0" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/@angular-eslint/utils": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.3.1.tgz", + "integrity": "sha512-tEBcce0rG+DmcPO8jhRffUFDioGw3G4cUAE15XlRctY1J3QzOBH9HdUOTDt0mMjBgpWCzh0YVT1Moh2bPXU9Xg==", + "dev": true, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "16.3.1", + "@typescript-eslint/utils": "5.62.0" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/@angular/animations": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.2.12.tgz", + "integrity": "sha512-MD0ElviEfAJY8qMOd6/jjSSvtqER2RDAi0lxe6EtUacC1DHCYkaPrKW4vLqY+tmZBg1yf+6n+uS77pXcHHcA3w==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.2.12" + } + }, + "projects/igo2/node_modules/@angular/cdk": { + "version": "16.2.13", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.2.13.tgz", + "integrity": "sha512-8kn2X2yesvgfIbCUNoS9EDjooIx9LwEglYBbD89Y/do8EeN/CC3Tn02gqSrEfgMhYBLBJmHXbfOhbDDvcvOCeg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^7.1.2" + }, + "peerDependencies": { + "@angular/common": "^16.0.0 || ^17.0.0", + "@angular/core": "^16.0.0 || ^17.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "projects/igo2/node_modules/@angular/cli": { + "version": "16.2.11", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.11.tgz", + "integrity": "sha512-NRl95r5uudH2E3pBBS6Z0gCZiShPqXXvjh60Gcku+jJ5W4/QsFi3+emL+qC/k7t78tbGUdlKiX7+tDnOUMBMHw==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1602.11", + "@angular-devkit/core": "16.2.11", + "@angular-devkit/schematics": "16.2.11", + "@schematics/angular": "16.2.11", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.3", + "ini": "4.1.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "npm-package-arg": "10.1.0", + "npm-pick-manifest": "8.0.1", + "open": "8.4.2", + "ora": "5.4.1", + "pacote": "15.2.0", + "resolve": "1.22.2", + "semver": "7.5.4", + "symbol-observable": "4.0.0", + "yargs": "17.7.2" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "projects/igo2/node_modules/@angular/common": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.2.12.tgz", + "integrity": "sha512-B+WY/cT2VgEaz9HfJitBmgdk4I333XG/ybC98CMC4Wz8E49T8yzivmmxXB3OD6qvjcOB6ftuicl6WBqLbZNg2w==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.2.12", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "projects/igo2/node_modules/@angular/compiler": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.2.12.tgz", + "integrity": "sha512-6SMXUgSVekGM7R6l1Z9rCtUGtlg58GFmgbpMCsGf+VXxP468Njw8rjT2YZkf5aEPxEuRpSHhDYjqz7n14cwCXQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.2.12" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "projects/igo2/node_modules/@angular/compiler-cli": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.2.12.tgz", + "integrity": "sha512-pWSrr152562ujh6lsFZR8NfNc5Ljj+zSTQO44DsuB0tZjwEpnRcjJEgzuhGXr+CoiBf+jTSPZKemtSktDk5aaA==", + "dev": true, + "dependencies": { + "@babel/core": "7.23.2", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/compiler": "16.2.12", + "typescript": ">=4.9.3 <5.2" + } + }, + "projects/igo2/node_modules/@angular/core": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.2.12.tgz", + "integrity": "sha512-GLLlDeke/NjroaLYOks0uyzFVo6HyLl7VOm0K1QpLXnYvW63W9Ql/T3yguRZa7tRkOAeFZ3jw+1wnBD4O8MoUA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.13.0" + } + }, + "projects/igo2/node_modules/@angular/forms": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.2.12.tgz", + "integrity": "sha512-1Eao89hlBgLR3v8tU91vccn21BBKL06WWxl7zLpQmG6Hun+2jrThgOE4Pf3os4fkkbH4Apj0tWL2fNIWe/blbw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.2.12", + "@angular/core": "16.2.12", + "@angular/platform-browser": "16.2.12", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "projects/igo2/node_modules/@angular/material": { + "version": "16.2.13", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-16.2.13.tgz", + "integrity": "sha512-7gP9KlaVZGpCeJlwXlD7puTiafAHYAbgYoODEQLbPCiAL/woFFDvM+DCdos7lmCBMyt6+10bkrPvz8cVfyTfQg==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/auto-init": "15.0.0-canary.bc9ae6c9c.0", + "@material/banner": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/button": "15.0.0-canary.bc9ae6c9c.0", + "@material/card": "15.0.0-canary.bc9ae6c9c.0", + "@material/checkbox": "15.0.0-canary.bc9ae6c9c.0", + "@material/chips": "15.0.0-canary.bc9ae6c9c.0", + "@material/circular-progress": "15.0.0-canary.bc9ae6c9c.0", + "@material/data-table": "15.0.0-canary.bc9ae6c9c.0", + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/dialog": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/drawer": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/fab": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/floating-label": "15.0.0-canary.bc9ae6c9c.0", + "@material/form-field": "15.0.0-canary.bc9ae6c9c.0", + "@material/icon-button": "15.0.0-canary.bc9ae6c9c.0", + "@material/image-list": "15.0.0-canary.bc9ae6c9c.0", + "@material/layout-grid": "15.0.0-canary.bc9ae6c9c.0", + "@material/line-ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/linear-progress": "15.0.0-canary.bc9ae6c9c.0", + "@material/list": "15.0.0-canary.bc9ae6c9c.0", + "@material/menu": "15.0.0-canary.bc9ae6c9c.0", + "@material/menu-surface": "15.0.0-canary.bc9ae6c9c.0", + "@material/notched-outline": "15.0.0-canary.bc9ae6c9c.0", + "@material/radio": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/segmented-button": "15.0.0-canary.bc9ae6c9c.0", + "@material/select": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/slider": "15.0.0-canary.bc9ae6c9c.0", + "@material/snackbar": "15.0.0-canary.bc9ae6c9c.0", + "@material/switch": "15.0.0-canary.bc9ae6c9c.0", + "@material/tab": "15.0.0-canary.bc9ae6c9c.0", + "@material/tab-bar": "15.0.0-canary.bc9ae6c9c.0", + "@material/tab-indicator": "15.0.0-canary.bc9ae6c9c.0", + "@material/tab-scroller": "15.0.0-canary.bc9ae6c9c.0", + "@material/textfield": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tooltip": "15.0.0-canary.bc9ae6c9c.0", + "@material/top-app-bar": "15.0.0-canary.bc9ae6c9c.0", + "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/animations": "^16.0.0 || ^17.0.0", + "@angular/cdk": "16.2.13", + "@angular/common": "^16.0.0 || ^17.0.0", + "@angular/core": "^16.0.0 || ^17.0.0", + "@angular/forms": "^16.0.0 || ^17.0.0", + "@angular/platform-browser": "^16.0.0 || ^17.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "projects/igo2/node_modules/@angular/platform-browser": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.2.12.tgz", + "integrity": "sha512-NnH7ju1iirmVEsUq432DTm0nZBGQsBrU40M3ZeVHMQ2subnGiyUs3QyzDz8+VWLL/T5xTxWLt9BkDn65vgzlIQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/animations": "16.2.12", + "@angular/common": "16.2.12", + "@angular/core": "16.2.12" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "projects/igo2/node_modules/@angular/platform-browser-dynamic": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.2.12.tgz", + "integrity": "sha512-ya54jerNgreCVAR278wZavwjrUWImMr2F8yM5n9HBvsMBbFaAQ83anwbOEiHEF2BlR+gJiEBLfpuPRMw20pHqw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.2.12", + "@angular/compiler": "16.2.12", + "@angular/core": "16.2.12", + "@angular/platform-browser": "16.2.12" + } + }, + "projects/igo2/node_modules/@angular/router": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.2.12.tgz", + "integrity": "sha512-aU6QnYSza005V9P3W6PpkieL56O0IHps96DjqI1RS8yOJUl3THmokqYN4Fm5+HXy4f390FN9i6ftadYQDKeWmA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.2.12", + "@angular/core": "16.2.12", + "@angular/platform-browser": "16.2.12", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "projects/igo2/node_modules/@angular/service-worker": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-16.2.12.tgz", + "integrity": "sha512-o0z0s4c76NmRASa+mUHn/q6vUKQNa06mGmLBDKm84vRQ1sQ2TJv+R1p8K9WkiM5mGy6tjQCDOgaz13TcxMFWOQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "bin": { + "ngsw-config": "ngsw-config.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.2.12", + "@angular/core": "16.2.12" + } + }, + "projects/igo2/node_modules/@babel/generator": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", + "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "projects/igo2/node_modules/@babel/runtime": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", + "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "projects/igo2/node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "projects/igo2/node_modules/@esbuild/android-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", + "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/android-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", + "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/android-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", + "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", + "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/darwin-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", + "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", + "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", + "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/linux-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", + "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/linux-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", + "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/linux-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", + "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/linux-loong64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", + "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", + "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", + "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", + "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/linux-s390x": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", + "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/linux-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", + "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", + "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", + "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/sunos-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", + "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/win32-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", + "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/win32-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", + "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@esbuild/win32-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", + "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/@material/animation": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-leRf+BcZTfC/iSigLXnYgcHAGvFVQveoJT5+2PIRdyPI/bIG7hhciRgacHRsCKC0sGya81dDblLgdkjSUemYLw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/auto-init": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-uxzDq7q3c0Bu1pAsMugc1Ik9ftQYQqZY+5e2ybNplT8gTImJhNt4M2mMiMHbMANk2l3UgICmUyRSomgPBWCPIA==", + "dependencies": { + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/banner": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-SHeVoidCUFVhXANN6MNWxK9SZoTSgpIP8GZB7kAl52BywLxtV+FirTtLXkg/8RUkxZRyRWl7HvQ0ZFZa7QQAyA==", + "dependencies": { + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/button": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/base": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-Fc3vGuOf+duGo22HTRP6dHdc+MUe0VqQfWOuKrn/wXKD62m0QQR2TqJd3rRhCumH557T5QUyheW943M3E+IGfg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/button": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-3AQgwrPZCTWHDJvwgKq7Cj+BurQ4wTjDdGL+FEnIGUAjJDskwi1yzx5tW2Wf/NxIi7IoPFyOY3UB41jwMiOrnw==", + "dependencies": { + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/card": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-nPlhiWvbLmooTnBmV5gmzB0eLWSgLKsSRBYAbIBmO76Okgz1y+fQNLag+lpm/TDaHVsn5fmQJH8e0zIg0rYsQA==", + "dependencies": { + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/checkbox": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-4tpNnO1L0IppoMF3oeQn8F17t2n0WHB0D7mdJK9rhrujen/fLbekkIC82APB3fdGtLGg3qeNqDqPsJm1YnmrwA==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/chips": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-fqHKvE5bSWK0bXVkf57MWxZtytGqYBZvvHIOs4JI9HPHEhaJy4CpSw562BEtbm3yFxxALoQknvPW2KYzvADnmA==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/checkbox": "15.0.0-canary.bc9ae6c9c.0", + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/circular-progress": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-Lxe8BGAxQwCQqrLhrYrIP0Uok10h7aYS3RBXP41ph+5GmwJd5zdyE2t93qm2dyThvU6qKuXw9726Dtq/N+wvZQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/progress-indicator": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/data-table": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-j/7qplT9+sUpfe4pyWhPbl01qJA+OoNAG3VMJruBBR461ZBKyTi7ssKH9yksFGZ8eCEPkOsk/+kDxsiZvRWkeQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/checkbox": "15.0.0-canary.bc9ae6c9c.0", + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/icon-button": "15.0.0-canary.bc9ae6c9c.0", + "@material/linear-progress": "15.0.0-canary.bc9ae6c9c.0", + "@material/list": "15.0.0-canary.bc9ae6c9c.0", + "@material/menu": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/select": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/density": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-Zt3u07fXrBWLW06Tl5fgvjicxNQMkFdawLyNTzZ5TvbXfVkErILLePwwGaw8LNcvzqJP6ABLA8jiR+sKNoJQCg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/dialog": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-o+9a/fmwJ9+gY3Z/uhj/PMVJDq7it1NTWKJn2GwAKdB+fDkT4hb9qEdcxMPyvJJ5ups+XiKZo03+tZrD+38c1w==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/button": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/icon-button": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/dom": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-ly78R7aoCJtundSUu0UROU+5pQD5Piae0Y1MkN6bs0724azeazX1KeXFeaf06JOXnlr5/41ol+fSUPowjoqnOg==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/drawer": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-PFL4cEFnt7VTxDsuspFVNhsFDYyumjU0VWfj3PWB7XudsEfQ3lo85D3HCEtTTbRsCainGN8bgYNDNafLBqiigw==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/list": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/elevation": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-Ro+Pk8jFuap+T0B0shA3xI1hs2b89dNQ2EIPCNjNMp87emHKAzJfhKb7EZGIwv3+gFLlVaLyIVkb94I89KLsyg==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/fab": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-dvU0KWMRglwJEQwmQtFAmJcAjzg9VFF6Aqj78bJYu/DAIGFJ1VTTTSgoXM/XCm1YyQEZ7kZRvxBO37CH54rSDg==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/feature-targeting": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-wkDjVcoVEYYaJvun28IXdln/foLgPD7n9ZC9TY76GErGCwTq+HWpU6wBAAk+ePmpRFDayw4vI4wBlaWGxLtysQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/floating-label": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-bUWPtXzZITOD/2mkvLkEPO1ngDWmb74y0Kgbz6llHLOQBtycyJIpuoQJ1q2Ez0NM/tFLwPphhAgRqmL3YQ/Kzw==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/focus-ring": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-cZHThVose3GvAlJzpJoBI1iqL6d1/Jj9hXrR+r8Mwtb1hBIUEG3hxfsRd4vGREuzROPlf0OgNf/V+YHoSwgR5w==", + "dependencies": { + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0" + } + }, + "projects/igo2/node_modules/@material/form-field": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-+JFXy5X44Gue1CbZZAQ6YejnI203lebYwL0i6k0ylDpWHEOdD5xkF2PyHR28r9/65Ebcbwbff6q7kI1SGoT7MA==", + "dependencies": { + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/icon-button": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-1a0MHgyIwOs4RzxrVljsqSizGYFlM1zY2AZaLDsgT4G3kzsplTx8HZQ022GpUCjAygW+WLvg4z1qAhQHvsbqlw==", + "dependencies": { + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/image-list": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-WKWmiYap2iu4QdqmeUSliLlN4O2Ueqa0OuVAYHn/TCzmQ2xmnhZ1pvDLbs6TplpOmlki7vFfe+aSt5SU9gwfOQ==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/layout-grid": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-5GqmT6oTZhUGWIb+CLD0ZNyDyTiJsr/rm9oRIi3+vCujACwxFkON9tzBlZohdtFS16nuzUusthN6Jt9UrJcN6Q==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/line-ripple": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-8S30WXEuUdgDdBulzUDlPXD6qMzwCX9SxYb5mGDYLwl199cpSGdXHtGgEcCjokvnpLhdZhcT1Dsxeo1g2Evh5Q==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/linear-progress": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-6EJpjrz6aoH2/gXLg9iMe0yF2C42hpQyZoHpmcgTLKeci85ktDvJIjwup8tnk8ULQyFiGiIrhXw2v2RSsiFjvQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/progress-indicator": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/list": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-TQ1ppqiCMQj/P7bGD4edbIIv4goczZUoiUAaPq/feb1dflvrFMzYqJ7tQRRCyBL8nRhJoI2x99tk8Q2RXvlGUQ==", + "dependencies": { + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/menu": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-IlAh61xzrzxXs38QZlt74UYt8J431zGznSzDtB1Fqs6YFNd11QPKoiRXn1J2Qu/lUxbFV7i8NBKMCKtia0n6/Q==", + "dependencies": { + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/list": "15.0.0-canary.bc9ae6c9c.0", + "@material/menu-surface": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/menu-surface": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-dMtSPN+olTWE+08M5qe4ea1IZOhVryYqzK0Gyb2u1G75rSArUxCOB5rr6OC/ST3Mq3RS6zGuYo7srZt4534K9Q==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/notched-outline": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-WuurMg44xexkvLTBTnsO0A+qnzFjpcPdvgWBGstBepYozsvSF9zJGdb1x7Zv1MmqbpYh/Ohnuxtb/Y3jOh6irg==", + "dependencies": { + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/floating-label": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/progress-indicator": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-uOnsvqw5F2fkeTnTl4MrYzjI7KCLmmLyZaM0cgLNuLsWVlddQE+SGMl28tENx7DUK3HebWq0FxCP8f25LuDD+w==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/radio": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-ehzOK+U1IxQN+OQjgD2lsnf1t7t7RAwQzeO6Czkiuid29ookYbQynWuLWk7NW8H8ohl7lnmfqTP1xSNkkL/F0g==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/ripple": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-JfLW+g3GMVDv4cruQ19+HUxpKVdWCldFlIPw1UYezz2h3WTNDy05S3uP2zUdXzZ01C3dkBFviv4nqZ0GCT16MA==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/rtl": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-SkKLNLFp5QtG7/JEFg9R92qq4MzTcZ5As6sWbH7rRg6ahTHoJEuqE+pOb9Vrtbj84k5gtX+vCYPvCILtSlr2uw==", + "dependencies": { + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/segmented-button": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-YDwkCWP9l5mIZJ7pZJZ2hMDxfBlIGVJ+deNzr8O+Z7/xC5LGXbl4R5aPtUVHygvXAXxpf5096ZD+dSXzYzvWlw==", + "dependencies": { + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/touch-target": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/select": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-unfOWVf7T0sixVG+3k3RTuATfzqvCF6QAzA6J9rlCh/Tq4HuIBNDdV4z19IVu4zwmgWYxY0iSvqWUvdJJYwakQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/floating-label": "15.0.0-canary.bc9ae6c9c.0", + "@material/line-ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/list": "15.0.0-canary.bc9ae6c9c.0", + "@material/menu": "15.0.0-canary.bc9ae6c9c.0", + "@material/menu-surface": "15.0.0-canary.bc9ae6c9c.0", + "@material/notched-outline": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/shape": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-Dsvr771ZKC46ODzoixLdGwlLEQLfxfLrtnRojXABoZf5G3o9KtJU+J+5Ld5aa960OAsCzzANuaub4iR88b1guA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/slider": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-3AEu+7PwW4DSNLndue47dh2u7ga4hDJRYmuu7wnJCIWJBnLCkp6C92kNc4Rj5iQY2ftJio5aj1gqryluh5tlYg==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/snackbar": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-TwwQSYxfGK6mc03/rdDamycND6o+1p61WNd7ElZv1F1CLxB4ihRjbCoH7Qo+oVDaP8CTpjeclka+24RLhQq0mA==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/button": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/icon-button": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/switch": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-OjUjtT0kRz1ASAsOS+dNzwMwvsjmqy5edK57692qmrP6bL4GblFfBDoiNJ6t0AN4OaKcmL5Hy/xNrTdOZW7Qqw==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/tab": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-s/L9otAwn/pZwVQZBRQJmPqYeNbjoEbzbjMpDQf/VBG/6dJ+aP03ilIBEkqo8NVnCoChqcdtVCoDNRtbU+yp6w==", + "dependencies": { + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/focus-ring": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/tab-indicator": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/tab-bar": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-Xmtq0wJGfu5k+zQeFeNsr4bUKv7L+feCmUp/gsapJ655LQKMXOUQZtSv9ZqWOfrCMy55hoF1CzGFV+oN3tyWWQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/tab": "15.0.0-canary.bc9ae6c9c.0", + "@material/tab-indicator": "15.0.0-canary.bc9ae6c9c.0", + "@material/tab-scroller": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/tab-indicator": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-despCJYi1GrDDq7F2hvLQkObHnSLZPPDxnOzU16zJ6FNYvIdszgfzn2HgAZ6pl5hLOexQ8cla6cAqjTDuaJBhQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/tab-scroller": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-QWHG/EWxirj4V9u2IHz+OSY9XCWrnNrPnNgEufxAJVUKV/A8ma1DYeFSQqxhX709R8wKGdycJksg0Flkl7Gq7w==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/tab": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/textfield": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-R3qRex9kCaZIAK8DuxPnVC42R0OaW7AB7fsFknDKeTeVQvRcbnV8E+iWSdqTiGdsi6QQHifX8idUrXw+O45zPw==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/density": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/floating-label": "15.0.0-canary.bc9ae6c9c.0", + "@material/line-ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/notched-outline": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/theme": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-CpUwXGE0dbhxQ45Hu9r9wbJtO/MAlv5ER4tBHA9tp/K+SU+lDgurBE2touFMg5INmdfVNtdumxb0nPPLaNQcUg==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/tokens": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-nbEuGj05txWz6ZMUanpM47SaAD7soyjKILR+XwDell9Zg3bGhsnexCNXPEz2fD+YgomS+jM5XmIcaJJHg/H93Q==", + "dependencies": { + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0" + } + }, + "projects/igo2/node_modules/@material/tooltip": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-UzuXp0b9NuWuYLYpPguxrjbJnCmT/Cco8CkjI/6JajxaeA3o2XEBbQfRMTq8PTafuBjCHTc0b0mQY7rtxUp1Gg==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/button": "15.0.0-canary.bc9ae6c9c.0", + "@material/dom": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/tokens": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/top-app-bar": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-vJWjsvqtdSD5+yQ/9vgoBtBSCvPJ5uF/DVssv8Hdhgs1PYaAcODUi77kdi0+sy/TaWyOsTkQixqmwnFS16zesA==", + "dependencies": { + "@material/animation": "15.0.0-canary.bc9ae6c9c.0", + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/elevation": "15.0.0-canary.bc9ae6c9c.0", + "@material/ripple": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/shape": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "@material/typography": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/touch-target": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-AqYh9fjt+tv4ZE0C6MeYHblS2H+XwLbDl2mtyrK0DOEnCVQk5/l5ImKDfhrUdFWHvS4a5nBM4AA+sa7KaroLoA==", + "dependencies": { + "@material/base": "15.0.0-canary.bc9ae6c9c.0", + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/rtl": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@material/typography": { + "version": "15.0.0-canary.bc9ae6c9c.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.bc9ae6c9c.0.tgz", + "integrity": "sha512-CKsG1zyv34AKPNyZC8olER2OdPII64iR2SzQjpqh1UUvmIFiMPk23LvQ1OnC5aCB14pOXzmVgvJt31r9eNdZ6Q==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.bc9ae6c9c.0", + "@material/theme": "15.0.0-canary.bc9ae6c9c.0", + "tslib": "^2.1.0" + } + }, + "projects/igo2/node_modules/@ngtools/webpack": { + "version": "16.2.11", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.11.tgz", + "integrity": "sha512-4ndXJ4s94ZsryVGSDk/waIDrUqXqdGWftoOEn81Zu+nkL9ncI/G1fNUlSJ5OqeKmMLxMFouoy+BuJfvT+gEgnQ==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0", + "typescript": ">=4.9.3 <5.2", + "webpack": "^5.54.0" + } + }, + "projects/igo2/node_modules/@npmcli/git": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz", + "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^6.0.0", + "lru-cache": "^7.4.4", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/@npmcli/promise-spawn": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", + "dev": true, + "dependencies": { + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/@npmcli/run-script": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz", + "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/@nrwl/devkit": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.5.1.tgz", + "integrity": "sha512-NB+DE/+AFJ7lKH/WBFyatJEhcZGj25F24ncDkwjZ6MzEiSOGOJS0LaV/R+VUsmS5EHTPXYOpn3zHWWAcJhyOmA==", + "dev": true, + "dependencies": { + "@nx/devkit": "16.5.1" + } + }, + "projects/igo2/node_modules/@nrwl/tao": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.5.1.tgz", + "integrity": "sha512-x+gi/fKdM6uQNIti9exFlm3V5LBP3Y8vOEziO42HdOigyrXa0S0HD2WMpccmp6PclYKhwEDUjKJ39xh5sdh4Ig==", + "dev": true, + "dependencies": { + "nx": "16.5.1" + }, + "bin": { + "tao": "index.js" + } + }, + "projects/igo2/node_modules/@nx/devkit": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.5.1.tgz", + "integrity": "sha512-T1acZrVVmJw/sJ4PIGidCBYBiBqlg/jT9e8nIGXLSDS20xcLvfo4zBQf8UZLrmHglnwwpDpOWuVJCp2rYA5aDg==", + "dev": true, + "dependencies": { + "@nrwl/devkit": "16.5.1", + "ejs": "^3.1.7", + "ignore": "^5.0.4", + "semver": "7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "nx": ">= 15 <= 17" + } + }, + "projects/igo2/node_modules/@nx/devkit/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "projects/igo2/node_modules/@nx/devkit/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "projects/igo2/node_modules/@nx/nx-darwin-arm64": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.5.1.tgz", + "integrity": "sha512-q98TFI4B/9N9PmKUr1jcbtD4yAFs1HfYd9jUXXTQOlfO9SbDjnrYJgZ4Fp9rMNfrBhgIQ4x1qx0AukZccKmH9Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/@nx/nx-darwin-x64": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.5.1.tgz", + "integrity": "sha512-j9HmL1l8k7EVJ3eOM5y8COF93gqrydpxCDoz23ZEtsY+JHY77VAiRQsmqBgEx9GGA2dXi9VEdS67B0+1vKariw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/@nx/nx-freebsd-x64": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-16.5.1.tgz", + "integrity": "sha512-CXSPT01aVS869tvCCF2tZ7LnCa8l41wJ3mTVtWBkjmRde68E5Up093hklRMyXb3kfiDYlfIKWGwrV4r0eH6x1A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.5.1.tgz", + "integrity": "sha512-BhrumqJSZCWFfLFUKl4CAUwR0Y0G2H5EfFVGKivVecEQbb+INAek1aa6c89evg2/OvetQYsJ+51QknskwqvLsA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.5.1.tgz", + "integrity": "sha512-x7MsSG0W+X43WVv7JhiSq2eKvH2suNKdlUHEG09Yt0vm3z0bhtym1UCMUg3IUAK7jy9hhLeDaFVFkC6zo+H/XQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/@nx/nx-linux-arm64-musl": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.5.1.tgz", + "integrity": "sha512-J+/v/mFjOm74I0PNtH5Ka+fDd+/dWbKhpcZ2R1/6b9agzZk+Ff/SrwJcSYFXXWKbPX+uQ4RcJoytT06Zs3s0ow==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/@nx/nx-linux-x64-gnu": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.5.1.tgz", + "integrity": "sha512-igooWJ5YxQ94Zft7IqgL+Lw0qHaY15Btw4gfK756g/YTYLZEt4tTvR1y6RnK/wdpE3sa68bFTLVBNCGTyiTiDQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/@nx/nx-linux-x64-musl": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.5.1.tgz", + "integrity": "sha512-zF/exnPqFYbrLAduGhTmZ7zNEyADid2bzNQiIjJkh8Y6NpDwrQIwVIyvIxqynsjMrIs51kBH+8TUjKjj2Jgf5A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.5.1.tgz", + "integrity": "sha512-qtqiLS9Y9TYyAbbpq58kRoOroko4ZXg5oWVqIWFHoxc5bGPweQSJCROEqd1AOl2ZDC6BxfuVHfhDDop1kK05WA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/@nx/nx-win32-x64-msvc": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.5.1.tgz", + "integrity": "sha512-kUJBLakK7iyA9WfsGGQBVennA4jwf5XIgm0lu35oMOphtZIluvzItMt0EYBmylEROpmpEIhHq0P6J9FA+WH0Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/@schematics/angular": { + "version": "16.2.11", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.2.11.tgz", + "integrity": "sha512-symCO0ezdjpt5xAZE2vTbRNaLcnTTDoDJMPWX4gC5KXSrL6r63ZvEnn9hVPmuNCmHxdVwV5ezU3xI49hgXnp1g==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.2.11", + "@angular-devkit/schematics": "16.2.11", + "jsonc-parser": "3.2.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "projects/igo2/node_modules/@sigstore/bundle": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz", + "integrity": "sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/@sigstore/sign": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz", + "integrity": "sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^1.1.0", + "@sigstore/protobuf-specs": "^0.2.0", + "make-fetch-happen": "^11.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/@sigstore/sign/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "projects/igo2/node_modules/@sigstore/sign/node_modules/cacache": { + "version": "17.1.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", + "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^7.7.1", + "minipass": "^7.0.3", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/@sigstore/sign/node_modules/cacache/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "projects/igo2/node_modules/@sigstore/sign/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/@sigstore/sign/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/@sigstore/sign/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/@sigstore/sign/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/@sigstore/tuf": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz", + "integrity": "sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.0", + "tuf-js": "^1.1.7" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/@tufjs/canonical-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", + "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/@tufjs/models": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz", + "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==", + "dev": true, + "dependencies": { + "@tufjs/canonical-json": "1.0.0", + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "projects/igo2/node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "projects/igo2/node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "projects/igo2/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "projects/igo2/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "projects/igo2/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "projects/igo2/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "projects/igo2/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "projects/igo2/node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "projects/igo2/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "projects/igo2/node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "projects/igo2/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "projects/igo2/node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "projects/igo2/node_modules/axios": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", + "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "projects/igo2/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "projects/igo2/node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "projects/igo2/node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "projects/igo2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "projects/igo2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "projects/igo2/node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "projects/igo2/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "projects/igo2/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "projects/igo2/node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "projects/igo2/node_modules/find-cache-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "projects/igo2/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "projects/igo2/node_modules/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + } + }, + "projects/igo2/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "projects/igo2/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "projects/igo2/node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "projects/igo2/node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, + "projects/igo2/node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "projects/igo2/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "projects/igo2/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "projects/igo2/node_modules/less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "projects/igo2/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/magic-string": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz", + "integrity": "sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "projects/igo2/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "projects/igo2/node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "projects/igo2/node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "projects/igo2/node_modules/make-fetch-happen/node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "projects/igo2/node_modules/make-fetch-happen/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "projects/igo2/node_modules/make-fetch-happen/node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "projects/igo2/node_modules/make-fetch-happen/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "projects/igo2/node_modules/make-fetch-happen/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/make-fetch-happen/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "projects/igo2/node_modules/make-fetch-happen/node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "projects/igo2/node_modules/make-fetch-happen/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "projects/igo2/node_modules/make-fetch-happen/node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "projects/igo2/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "projects/igo2/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "projects/igo2/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "projects/igo2/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "projects/igo2/node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "projects/igo2/node_modules/ng-packagr": { + "version": "16.2.3", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-16.2.3.tgz", + "integrity": "sha512-VTJ7Qtge52+1subkhmF5nOqLNbVutA8/igJ0A5vH6Mgpb8Z/3HeZomtD1SHzZF5Dqp+p+QPHE548FWYu1MdMSQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.0.0", + "ajv": "^8.11.0", + "ansi-colors": "^4.1.3", + "autoprefixer": "^10.4.12", + "browserslist": "^4.21.4", + "cacache": "^18.0.0", + "chokidar": "^3.5.3", + "commander": "^11.0.0", + "convert-source-map": "^2.0.0", + "dependency-graph": "^0.11.0", + "esbuild-wasm": "^0.19.0", + "fast-glob": "^3.2.12", + "find-cache-dir": "^3.3.2", + "injection-js": "^2.4.0", + "jsonc-parser": "^3.2.0", + "less": "^4.1.3", + "ora": "^5.1.0", + "piscina": "^4.0.0", + "postcss": "^8.4.16", + "postcss-url": "^10.1.3", + "rollup": "^3.0.0", + "rxjs": "^7.5.6", + "sass": "^1.55.0" + }, + "bin": { + "ng-packagr": "cli/main.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "optionalDependencies": { + "esbuild": "^0.19.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0 || ^16.2.0-next.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "tslib": "^2.3.0", + "typescript": ">=4.9.3 <5.2" + }, + "peerDependenciesMeta": { + "tailwindcss": { + "optional": true + } + } + }, + "projects/igo2/node_modules/ng-packagr/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "projects/igo2/node_modules/node-gyp": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz", + "integrity": "sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.13 || ^14.13 || >=16" + } + }, + "projects/igo2/node_modules/node-gyp/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "projects/igo2/node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "projects/igo2/node_modules/normalize-package-data": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/npm-packlist": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", + "dev": true, + "dependencies": { + "ignore-walk": "^6.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/npm-pick-manifest": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", + "dev": true, + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/npm-registry-fetch": { + "version": "14.0.5", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", + "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^11.0.0", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/npm-registry-fetch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "projects/igo2/node_modules/npm-registry-fetch/node_modules/cacache": { + "version": "17.1.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", + "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^7.7.1", + "minipass": "^7.0.3", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/npm-registry-fetch/node_modules/cacache/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "projects/igo2/node_modules/npm-registry-fetch/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/npm-registry-fetch/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/npm-registry-fetch/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/nx": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/nx/-/nx-16.5.1.tgz", + "integrity": "sha512-I3hJRE4hG7JWAtncWwDEO3GVeGPpN0TtM8xH5ArZXyDuVeTth/i3TtJzdDzqXO1HHtIoAQN0xeq4n9cLuMil5g==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@nrwl/tao": "16.5.1", + "@parcel/watcher": "2.0.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.0-rc.46", + "@zkochan/js-yaml": "0.0.6", + "axios": "^1.0.0", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^7.0.2", + "dotenv": "~10.0.0", + "enquirer": "~2.3.6", + "fast-glob": "3.2.7", + "figures": "3.2.0", + "flat": "^5.0.2", + "fs-extra": "^11.1.0", + "glob": "7.1.4", + "ignore": "^5.0.4", + "js-yaml": "4.1.0", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "3.0.5", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "semver": "7.5.3", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "v8-compile-cache": "2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "16.5.1", + "@nx/nx-darwin-x64": "16.5.1", + "@nx/nx-freebsd-x64": "16.5.1", + "@nx/nx-linux-arm-gnueabihf": "16.5.1", + "@nx/nx-linux-arm64-gnu": "16.5.1", + "@nx/nx-linux-arm64-musl": "16.5.1", + "@nx/nx-linux-x64-gnu": "16.5.1", + "@nx/nx-linux-x64-musl": "16.5.1", + "@nx/nx-win32-arm64-msvc": "16.5.1", + "@nx/nx-win32-x64-msvc": "16.5.1" + }, + "peerDependencies": { + "@swc-node/register": "^1.4.2", + "@swc/core": "^1.2.173" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "projects/igo2/node_modules/nx/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/nx/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "projects/igo2/node_modules/nx/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "projects/igo2/node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "projects/igo2/node_modules/pacote": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.2.0.tgz", + "integrity": "sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==", + "dev": true, + "dependencies": { + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^5.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.3.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/pacote/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "projects/igo2/node_modules/pacote/node_modules/cacache": { + "version": "17.1.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", + "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^7.7.1", + "minipass": "^7.0.3", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/pacote/node_modules/cacache/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "projects/igo2/node_modules/pacote/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/pacote/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/pacote/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "projects/igo2/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "projects/igo2/node_modules/piscina": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.0.0.tgz", + "integrity": "sha512-641nAmJS4k4iqpNUqfggqUBUMmlw0ZoM5VZKdQkV2e970Inn3Tk9kroCc1wpsYLD07vCwpys5iY0d3xI/9WkTg==", + "dev": true, + "dependencies": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0" + }, + "optionalDependencies": { + "nice-napi": "^1.0.2" + } + }, + "projects/igo2/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "projects/igo2/node_modules/read-package-json": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz", + "integrity": "sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==", + "dev": true, + "dependencies": { + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/read-package-json/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "projects/igo2/node_modules/read-package-json/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/read-package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/read-package-json/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/read-package-json/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "projects/igo2/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "projects/igo2/node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "projects/igo2/node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "projects/igo2/node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "projects/igo2/node_modules/sass": { + "version": "1.64.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.64.1.tgz", + "integrity": "sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "projects/igo2/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "projects/igo2/node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "projects/igo2/node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "projects/igo2/node_modules/sigstore": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz", + "integrity": "sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^1.1.0", + "@sigstore/protobuf-specs": "^0.2.0", + "@sigstore/sign": "^1.0.0", + "@sigstore/tuf": "^1.0.3", + "make-fetch-happen": "^11.0.1" + }, + "bin": { + "sigstore": "bin/sigstore.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/sigstore/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "projects/igo2/node_modules/sigstore/node_modules/cacache": { + "version": "17.1.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", + "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^7.7.1", + "minipass": "^7.0.3", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/sigstore/node_modules/cacache/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "projects/igo2/node_modules/sigstore/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/sigstore/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/sigstore/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/sigstore/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "projects/igo2/node_modules/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, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "projects/igo2/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "projects/igo2/node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "projects/igo2/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "projects/igo2/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + }, + "projects/igo2/node_modules/tuf-js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz", + "integrity": "sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==", + "dev": true, + "dependencies": { + "@tufjs/models": "1.0.4", + "debug": "^4.3.4", + "make-fetch-happen": "^11.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/tuf-js/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "projects/igo2/node_modules/tuf-js/node_modules/cacache": { + "version": "17.1.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", + "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^7.7.1", + "minipass": "^7.0.3", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/tuf-js/node_modules/cacache/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "projects/igo2/node_modules/tuf-js/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/tuf-js/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/tuf-js/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "projects/igo2/node_modules/tuf-js/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "projects/igo2/node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "projects/igo2/node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "projects/igo2/node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "projects/igo2/node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "projects/igo2/node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "projects/igo2/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "projects/igo2/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "projects/igo2/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "projects/igo2/node_modules/zone.js": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.3.tgz", + "integrity": "sha512-MKPbmZie6fASC/ps4dkmIhaT5eonHkEt6eAy80K42tAm0G2W+AahLJjbfi6X9NPdciOE9GRFTTM8u2IiF6O3ww==", + "dependencies": { + "tslib": "^2.3.0" + } } } } diff --git a/packages/auth/package.json b/packages/auth/package.json index 2b5feb76d1..fbd2980160 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -19,6 +19,7 @@ "build": "ng build auth --configuration production", "format": "prettier --write ./src/**/*.{ts,js,html,scss,css,json}", "test": "ng test auth --watch=false", + "test.watch": "ng test auth", "watch": "ng build auth --watch" }, "exports": { diff --git a/packages/auth/src/lib/auth-monitoring/auth-monitoring.service.spec.ts b/packages/auth/src/lib/auth-monitoring/auth-monitoring.service.spec.ts index 0e6e571119..a4a613bdd0 100644 --- a/packages/auth/src/lib/auth-monitoring/auth-monitoring.service.spec.ts +++ b/packages/auth/src/lib/auth-monitoring/auth-monitoring.service.spec.ts @@ -6,7 +6,7 @@ import { ConfigService, MONITORING_OPTIONS, MessageService, - provideMockTranslation + provideMockRootTranslation } from '@igo2/core'; import { ToastrModule, ToastrService } from 'ngx-toastr'; @@ -22,8 +22,8 @@ const initialize = ( TestBed.configureTestingModule({ imports: [ HttpClientModule, + provideMockRootTranslation(), IgoAuthModule, - provideMockTranslation(), ToastrModule ], providers: [ diff --git a/packages/auth/src/lib/shared/auth.service.spec.ts b/packages/auth/src/lib/shared/auth.service.spec.ts index 6da87a4c32..2b48aaeb90 100644 --- a/packages/auth/src/lib/shared/auth.service.spec.ts +++ b/packages/auth/src/lib/shared/auth.service.spec.ts @@ -4,11 +4,9 @@ import { TestBed, inject } from '@angular/core/testing'; import { IgoLanguageModule, IgoMessageModule, - provideMockTranslation + provideMockRootTranslation } from '@igo2/core'; -import { TranslateService } from '@ngx-translate/core'; - import { AuthService } from './auth.service'; describe('AuthService', () => { @@ -16,11 +14,11 @@ describe('AuthService', () => { TestBed.configureTestingModule({ imports: [ HttpClientModule, - provideMockTranslation(), + provideMockRootTranslation(), IgoLanguageModule, IgoMessageModule ], - providers: [AuthService, TranslateService] + providers: [AuthService] }); }); diff --git a/packages/common/src/lib/color-picker-form-field/color-picker-form-field.module.ts b/packages/common/src/lib/color-picker-form-field/color-picker-form-field.module.ts index 9b3964b9ba..b3c369de1f 100644 --- a/packages/common/src/lib/color-picker-form-field/color-picker-form-field.module.ts +++ b/packages/common/src/lib/color-picker-form-field/color-picker-form-field.module.ts @@ -6,7 +6,8 @@ import { MatButtonModule } from '@angular/material/button'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; -import { TranslateModule } from '@ngx-translate/core'; +import { IgoLanguageModule } from '@igo2/core'; + import { ColorChromeModule } from 'ngx-color/chrome'; import { ColorPickerFormFieldComponent } from './color-picker-form-field.component'; @@ -21,7 +22,7 @@ import { ColorPickerFormFieldComponent } from './color-picker-form-field.compone CommonModule, OverlayModule, ColorChromeModule, - TranslateModule + IgoLanguageModule ], declarations: [ColorPickerFormFieldComponent], exports: [ColorPickerFormFieldComponent] diff --git a/packages/common/src/lib/entity/entity-table/entity-table.component.ts b/packages/common/src/lib/entity/entity-table/entity-table.component.ts index a53523a1f2..221b7d50d8 100644 --- a/packages/common/src/lib/entity/entity-table/entity-table.component.ts +++ b/packages/common/src/lib/entity/entity-table/entity-table.component.ts @@ -695,8 +695,8 @@ export class EntityTableComponent implements OnInit, OnChanges, OnDestroy { return selectionCount === 0 ? states.None : selectionCount === this.store.stateView.count - ? states.All - : states.Some; + ? states.All + : states.Some; } /** diff --git a/packages/common/src/lib/entity/entity-table/entity-table.module.ts b/packages/common/src/lib/entity/entity-table/entity-table.module.ts index b1af612424..40bb9cc304 100644 --- a/packages/common/src/lib/entity/entity-table/entity-table.module.ts +++ b/packages/common/src/lib/entity/entity-table/entity-table.module.ts @@ -4,6 +4,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatAutocompleteModule } from '@angular/material/autocomplete'; import { MatButtonModule } from '@angular/material/button'; import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatNativeDateModule } from '@angular/material/core'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; @@ -45,7 +46,8 @@ import { EntityTableComponent } from './entity-table.component'; ReactiveFormsModule, MatInputModule, MatDatepickerModule, - MatTooltipModule + MatTooltipModule, + MatNativeDateModule ], exports: [EntityTableComponent], declarations: [EntityTableComponent, EntityTableRowDirective] diff --git a/packages/common/src/lib/interactive-tour/interactive-tour.service.ts b/packages/common/src/lib/interactive-tour/interactive-tour.service.ts index e03bd5dd19..bc078845f3 100644 --- a/packages/common/src/lib/interactive-tour/interactive-tour.service.ts +++ b/packages/common/src/lib/interactive-tour/interactive-tour.service.ts @@ -313,10 +313,10 @@ export class InteractiveTourService { i === 0 ? 'first' : i + 1 === tourConfig.steps.length - ? 'last' - : tourConfig.steps[i].noBackButton - ? 'noBackButton' - : undefined + ? 'last' + : tourConfig.steps[i].noBackButton + ? 'noBackButton' + : undefined ), classes: step.class, highlightClass: step.highlightClass, diff --git a/packages/core/src/lib/core.module.ts b/packages/core/src/lib/core.module.ts index dbb14362d1..152e92109b 100644 --- a/packages/core/src/lib/core.module.ts +++ b/packages/core/src/lib/core.module.ts @@ -50,7 +50,7 @@ const dbConfig: DBConfig = { IgoConfigModule.forRoot(), IgoErrorModule.forRoot(), provideRootTranslation(), - IgoMessageModule.forRoot(), + IgoMessageModule, NgxIndexedDBModule.forRoot(dbConfig) ], declarations: [], diff --git a/packages/core/src/lib/language/shared/index.ts b/packages/core/src/lib/language/shared/index.ts index df283d3090..a1912560f5 100644 --- a/packages/core/src/lib/language/shared/index.ts +++ b/packages/core/src/lib/language/shared/index.ts @@ -1,5 +1,6 @@ export * from './language.interface'; export * from './language.loader'; export * from './language.provider'; +export * from './language-mock.provider'; export * from './language.service'; export * from './missing-translation.guard'; diff --git a/packages/core/src/lib/language/shared/language-mock.provider.ts b/packages/core/src/lib/language/shared/language-mock.provider.ts new file mode 100644 index 0000000000..abe218a7b1 --- /dev/null +++ b/packages/core/src/lib/language/shared/language-mock.provider.ts @@ -0,0 +1,9 @@ +import { ImportProvidersSource, Provider } from '@angular/core'; + +import { TranslateModule } from '@ngx-translate/core'; + +export function provideMockRootTranslation( + loader?: Provider +): ImportProvidersSource { + return TranslateModule.forRoot(); +} diff --git a/packages/core/src/lib/language/shared/language.provider.ts b/packages/core/src/lib/language/shared/language.provider.ts index f31d23fd1c..5ba6a7001a 100644 --- a/packages/core/src/lib/language/shared/language.provider.ts +++ b/packages/core/src/lib/language/shared/language.provider.ts @@ -21,12 +21,6 @@ export function provideRootTranslation( return TranslateModule.forRoot(setTranslationConfig(loader)); } -export function provideMockTranslation( - loader?: Provider -): ImportProvidersSource { - return TranslateModule.forRoot(); -} - export const setTranslationConfig = ( loader?: Provider ): TranslateModuleConfig => ({ diff --git a/packages/core/src/lib/monitoring/__mocks__/index.ts b/packages/core/src/lib/monitoring/__mocks__/index.ts new file mode 100644 index 0000000000..461081ac60 --- /dev/null +++ b/packages/core/src/lib/monitoring/__mocks__/index.ts @@ -0,0 +1 @@ +export * from './monitoring-mock'; diff --git a/packages/geo/src/lib/datasource/shared/datasource.service.ts b/packages/geo/src/lib/datasource/shared/datasource.service.ts index c32049bd4b..1e56b03dbb 100644 --- a/packages/geo/src/lib/datasource/shared/datasource.service.ts +++ b/packages/geo/src/lib/datasource/shared/datasource.service.ts @@ -7,7 +7,6 @@ import { ObjectUtils } from '@igo2/utils'; import { BehaviorSubject, Observable, forkJoin, of } from 'rxjs'; import { catchError, map } from 'rxjs/operators'; -import { ProjectionService } from '../../map/shared/projection.service'; import { CapabilitiesService } from './capabilities.service'; import { AnyDataSourceOptions, @@ -55,7 +54,6 @@ export class DataSourceService { private wfsDataSourceService: WFSService, private languageService: LanguageService, private messageService: MessageService, - private projectionService: ProjectionService, private authInterceptor?: AuthInterceptor ) {} diff --git a/packages/geo/src/lib/directions/directions.module.ts b/packages/geo/src/lib/directions/directions.module.ts index 3997e5fcf2..f9999364e3 100644 --- a/packages/geo/src/lib/directions/directions.module.ts +++ b/packages/geo/src/lib/directions/directions.module.ts @@ -16,6 +16,7 @@ import { MatTooltipModule } from '@angular/material/tooltip'; import { IgoLanguageModule } from '@igo2/core'; +import { IgoSearchModule } from '../search/search.module'; import { DirectionsButtonsComponent } from './directions-buttons/directions-buttons.component'; import { DirectionsInputsComponent } from './directions-inputs/directions-inputs.component'; import { DirectionsResultsComponent } from './directions-results/directions-results.component'; @@ -39,7 +40,8 @@ import { provideDirectionsSourceService } from './shared/directions-source.servi MatSlideToggleModule, MatTooltipModule, MatAutocompleteModule, - IgoLanguageModule + IgoLanguageModule, + IgoSearchModule.forRoot() ], exports: [ DirectionsComponent, diff --git a/packages/geo/src/lib/draw/draw/draw.module.ts b/packages/geo/src/lib/draw/draw/draw.module.ts index 5e4cdca15f..97fa765db0 100644 --- a/packages/geo/src/lib/draw/draw/draw.module.ts +++ b/packages/geo/src/lib/draw/draw/draw.module.ts @@ -15,8 +15,6 @@ import { MatRadioModule } from '@angular/material/radio'; import { MatSelectModule } from '@angular/material/select'; import { MatSlideToggleModule } from '@angular/material/slide-toggle'; import { MatTooltipModule } from '@angular/material/tooltip'; -import { BrowserModule } from '@angular/platform-browser'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { IgoEntityTableModule } from '@igo2/common'; import { IgoLanguageModule } from '@igo2/core'; @@ -49,8 +47,6 @@ import { DrawComponent } from './draw.component'; MatDialogModule, IgoLanguageModule, IgoEntityTableModule, - BrowserModule, - BrowserAnimationsModule, MatRadioModule, MatCheckboxModule ], diff --git a/projects/demo/src/app/app-routing.module.ts b/projects/demo/src/app/app-routing.module.ts deleted file mode 100644 index a76659b919..0000000000 --- a/projects/demo/src/app/app-routing.module.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; - -const routes: Routes = [ - { path: '', redirectTo: '/home', pathMatch: 'full' }, - { path: '**', redirectTo: '/home' } -]; - -@NgModule({ - imports: [RouterModule.forRoot(routes, { useHash: true })], - exports: [RouterModule] -}) -export class AppRoutingModule {} diff --git a/projects/demo/src/app/app.component.html b/projects/demo/src/app/app.component.html index 65e9efbcdc..3598475dfe 100644 --- a/projects/demo/src/app/app.component.html +++ b/projects/demo/src/app/app.component.html @@ -18,62 +18,38 @@
{{ version.lib }}
[fixedInViewport]="mobileQuery.matches" fixedTopGap="48" > - - Home - -
- - Activity - Config - Language - Media - Message - Monitoring - Request - Themes - -
- - Authentification - -
- - Action - Dialogs - Dynamic Component - Entity Table - Entity Selector - Form - Table - Tool - Widget - -
- - Simple map - Layer - Legend - Overlay - Geometry - Feature - Hover - Measure - Draw - Query - Catalog - Search - Print - Import/Export - Directions - Time filter - OGC filter - Spatial filter - Workspace - -
- - Context -
+ + + + + {{ routeConfig.title }} + + + + + + + {{ routeConfig.title }} + + + {{ route.title }} + + + + + + + diff --git a/projects/demo/src/app/app.component.scss b/projects/demo/src/app/app.component.scss index 8405ff12b7..c112cc73b1 100644 --- a/projects/demo/src/app/app.component.scss +++ b/projects/demo/src/app/app.component.scss @@ -17,6 +17,23 @@ margin: 0; } } +mat-panel-title { + font-size: 14px; +} + +mat-nav-list { + padding: 0; +} + +mat-expansion-panel { + box-shadow: unset !important; + + ::ng-deep { + .mat-expansion-panel-body { + padding: 0 8px 16px; + } + } +} .example-is-mobile .example-toolbar { position: fixed; diff --git a/projects/demo/src/app/app.component.spec.ts b/projects/demo/src/app/app.component.spec.ts index f3981383be..1bf5a3c416 100644 --- a/projects/demo/src/app/app.component.spec.ts +++ b/projects/demo/src/app/app.component.spec.ts @@ -16,7 +16,7 @@ import { AppComponent } from './app.component'; describe('AppComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - imports: [ + imports: [ RouterTestingModule, NoopAnimationsModule, MatCardModule, @@ -26,10 +26,10 @@ describe('AppComponent', () => { MatSidenavModule, MatListModule, MatIconTestingModule, - IgoAuthModule - ], - declarations: [AppComponent] - }).compileComponents(); + IgoAuthModule, + AppComponent + ] +}).compileComponents(); })); it('should create the app', waitForAsync(() => { const fixture = TestBed.createComponent(AppComponent); diff --git a/projects/demo/src/app/app.component.ts b/projects/demo/src/app/app.component.ts index cbcf6e61b8..f05183f00d 100644 --- a/projects/demo/src/app/app.component.ts +++ b/projects/demo/src/app/app.component.ts @@ -1,5 +1,5 @@ import { MediaMatcher } from '@angular/cdk/layout'; -import { DOCUMENT } from '@angular/common'; +import { DOCUMENT, NgFor, NgIf } from '@angular/common'; import { ChangeDetectorRef, Component, @@ -7,21 +7,49 @@ import { OnDestroy, OnInit } from '@angular/core'; -import { NavigationEnd, Router } from '@angular/router'; +import { MatButtonModule } from '@angular/material/button'; +import { MatExpansionModule } from '@angular/material/expansion'; +import { MatIconModule } from '@angular/material/icon'; +import { MatListModule } from '@angular/material/list'; +import { MatSidenavModule } from '@angular/material/sidenav'; +import { MatToolbarModule } from '@angular/material/toolbar'; +import { + NavigationEnd, + Router, + RouterLink, + RouterOutlet +} from '@angular/router'; import { version } from '@igo2/core'; import { DomUtils, userAgent } from '@igo2/utils'; import { delay, first } from 'rxjs'; +import { ROUTES_CONFIG } from './app.routing'; + @Component({ selector: 'app-root', templateUrl: './app.component.html', - styleUrls: ['./app.component.scss'] + styleUrls: ['./app.component.scss'], + standalone: true, + imports: [ + NgFor, + NgIf, + MatExpansionModule, + MatToolbarModule, + MatButtonModule, + MatIconModule, + MatSidenavModule, + MatListModule, + RouterLink, + RouterOutlet + ] }) export class AppComponent implements OnInit, OnDestroy { mobileQuery: MediaQueryList; + routesConfig = ROUTES_CONFIG; + public title = 'IGO'; public version = version; private _mobileQueryListener: () => void; diff --git a/projects/demo/src/app/app.module.ts b/projects/demo/src/app/app.module.ts deleted file mode 100644 index b695d5854f..0000000000 --- a/projects/demo/src/app/app.module.ts +++ /dev/null @@ -1,181 +0,0 @@ -import { DatePipe } from '@angular/common'; -import { - APP_INITIALIZER, - ApplicationRef, - Injector, - NgModule -} from '@angular/core'; -import { MatButtonModule } from '@angular/material/button'; -import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field'; -import { MatIconModule, MatIconRegistry } from '@angular/material/icon'; -import { MatListModule } from '@angular/material/list'; -import { MatSidenavModule } from '@angular/material/sidenav'; -import { MatToolbarModule } from '@angular/material/toolbar'; -import { - MAT_TOOLTIP_DEFAULT_OPTIONS, - MatTooltipDefaultOptions -} from '@angular/material/tooltip'; -import { BrowserModule, DomSanitizer } from '@angular/platform-browser'; -import { HammerModule } from '@angular/platform-browser'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; - -import { IgoCoreModule, LanguageService } from '@igo2/core'; - -import { concatMap, first } from 'rxjs'; - -import { AppRoutingModule } from './app-routing.module'; -import { AppComponent } from './app.component'; -import { AppAuthFormModule } from './auth/auth-form/auth-form.module'; -import { AppActionModule } from './common/action/action.module'; -import { AppDialogModule } from './common/dialog/dialog.module'; -import { AppDynamicComponentModule } from './common/dynamic-component/dynamic-component.module'; -import { AppEntitySelectorModule } from './common/entity-selector/entity-selector.module'; -import { AppEntityTableModule } from './common/entity-table/entity-table.module'; -import { AppFormModule } from './common/form/form.module'; -import { AppTableModule } from './common/table/table.module'; -import { AppToolModule } from './common/tool/tool.module'; -import { AppWidgetModule } from './common/widget/widget.module'; -import { AppContextModule } from './context/context/context.module'; -import { AppActivityModule } from './core/activity/activity.module'; -import { AppConfigModule } from './core/config/config.module'; -import { AppHomeModule } from './core/home/home.module'; -import { AppLanguageModule } from './core/language/language.module'; -import { AppMediaModule } from './core/media/media.module'; -import { AppMessageModule } from './core/message/message.module'; -import { MonitoringModule } from './core/monitoring/monitoring.module'; -import { AppRequestModule } from './core/request/request.module'; -import { AppThemeModule } from './core/theme/theme.module'; -import { AppCatalogModule } from './geo/catalog/catalog.module'; -import { AppDirectionsModule } from './geo/directions/directions.module'; -import { AppDrawModule } from './geo/draw/draw.module'; -import { AppFeatureModule } from './geo/feature/feature.module'; -import { AppGeometryModule } from './geo/geometry/geometry.module'; -import { AppHoverModule } from './geo/hover/hover.module'; -import { AppImportExport } from './geo/import-export/import-export.module'; -import { AppLayerModule } from './geo/layer/layer.module'; -import { AppLegendModule } from './geo/legend/legend.module'; -import { AppMeasureModule } from './geo/measure/measure.module'; -import { AppOgcFilterModule } from './geo/ogc-filter/ogc-filter.module'; -import { AppOverlayModule } from './geo/overlay/overlay.module'; -import { AppPrintModule } from './geo/print/print.module'; -import { AppQueryModule } from './geo/query/query.module'; -import { AppSearchModule } from './geo/search/search.module'; -import { AppSimpleMapModule } from './geo/simple-map/simple-map.module'; -import { AppSpatialFilterModule } from './geo/spatial-filter/spatial-filter.module'; -import { AppTimeFilterModule } from './geo/time-filter/time-filter.module'; -import { AppWorkspaceModule } from './geo/workspace/workspace.module'; - -export const defaultTooltipOptions: MatTooltipDefaultOptions = { - showDelay: 500, - hideDelay: 0, - touchendHideDelay: 0, - disableTooltipInteractivity: true -}; - -@NgModule({ - declarations: [AppComponent], - imports: [ - IgoCoreModule, - BrowserModule, - BrowserAnimationsModule, - MatSidenavModule, - MatToolbarModule, - MatButtonModule, - MatIconModule, - MatListModule, - - AppHomeModule, - AppActivityModule, - AppConfigModule, - AppLanguageModule, - AppMediaModule, - AppMessageModule, - AppRequestModule, - AppThemeModule, - - AppActionModule, - AppDialogModule, - AppDynamicComponentModule, - AppEntityTableModule, - AppEntitySelectorModule, - AppFormModule, - AppTableModule, - AppToolModule, - AppWidgetModule, - - AppAuthFormModule, - - AppSimpleMapModule, - AppLayerModule, - AppLegendModule, - AppOverlayModule, - AppGeometryModule, - AppFeatureModule, - AppHoverModule, - AppMeasureModule, - AppDrawModule, - AppQueryModule, - AppCatalogModule, - AppSearchModule, - AppPrintModule, - AppImportExport, - AppDirectionsModule, - AppTimeFilterModule, - AppOgcFilterModule, - AppSpatialFilterModule, - AppWorkspaceModule, - MonitoringModule, - AppContextModule, - AppRoutingModule, - - HammerModule - ], - providers: [ - { - provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, - useValue: { appearance: 'outline' } - }, - { - provide: APP_INITIALIZER, - useFactory: appInitializerFactory, - deps: [Injector, ApplicationRef], - multi: true - }, - { provide: MAT_TOOLTIP_DEFAULT_OPTIONS, useValue: defaultTooltipOptions }, - DatePipe - ], - bootstrap: [AppComponent] -}) -export class AppModule { - constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer) { - matIconRegistry.addSvgIconSet( - domSanitizer.bypassSecurityTrustResourceUrl( - './assets/igo2/core/icons/mdi.svg' - ) - ); - } -} - -export function appInitializerFactory( - injector: Injector, - applicationRef: ApplicationRef -) { - return () => - new Promise((resolve: any) => { - applicationRef.isStable - .pipe( - first((isStable) => isStable === true), - concatMap(() => { - const languageService = injector.get(LanguageService); - const lang = languageService.getLanguage(); - return languageService.translate.getTranslation(lang); - }) - ) - .subscribe((translations) => { - const languageService = injector.get(LanguageService); - const lang = languageService.getLanguage(); - languageService.translate.setTranslation(lang, translations); - resolve(); - }); - }); -} diff --git a/projects/demo/src/app/app.routing.ts b/projects/demo/src/app/app.routing.ts new file mode 100644 index 0000000000..ab9c82965c --- /dev/null +++ b/projects/demo/src/app/app.routing.ts @@ -0,0 +1,74 @@ +import { Route, Routes } from '@angular/router'; + +import { routes as authRoutes } from './auth/auth.routing'; +import { routes as commonRoutes } from './common/common.routing'; +import { routes as contextRoutes } from './context/context.routing'; +import { routes as coreRoutes } from './core/core.routing'; +import { routes as geoRoutes } from './geo/geo.routing'; +import { AppHomeComponent } from './pages/home/home.component'; + +export const routes: Routes = [ + { title: 'Home', path: 'home', component: AppHomeComponent }, + { + title: 'Auth', + path: 'auth', + loadChildren: () => import('./auth/auth.routing').then((m) => m.routes) + }, + { + title: 'Common', + path: 'common', + loadChildren: () => import('./common/common.routing').then((m) => m.routes) + }, + { + title: 'Context', + path: 'context', + loadChildren: () => + import('./context/context.routing').then((m) => m.routes) + }, + { + title: 'Core', + path: 'core', + loadChildren: () => import('./core/core.routing').then((m) => m.routes) + }, + { + title: 'Geo', + path: 'geo', + loadChildren: () => import('./geo/geo.routing').then((m) => m.routes) + }, + { path: '**', redirectTo: '/home' } +]; + +export const ROUTES_CONFIG: Routes = [ + { title: 'Home', path: '', redirectTo: '/home', pathMatch: 'full' }, + { + title: 'Core', + path: 'core', + children: getRoutesConfig(coreRoutes) + }, + { + title: 'Auth', + path: 'auth', + children: getRoutesConfig(authRoutes) + }, + { + title: 'Common', + path: 'common', + children: getRoutesConfig(commonRoutes) + }, + { + title: 'Geo', + path: 'geo', + children: getRoutesConfig(geoRoutes) + }, + { + title: 'Context', + path: 'context', + children: getRoutesConfig(contextRoutes) + } +]; + +function getRoutesConfig(routes: Route[]): Route[] { + return routes + .filter((route) => route.title) + .sort((a, b) => (a.title as string).localeCompare(b.title as string)); +} diff --git a/projects/demo/src/app/auth/auth-form/auth-form-routing.module.ts b/projects/demo/src/app/auth/auth-form/auth-form-routing.module.ts deleted file mode 100644 index 0c41e6d97a..0000000000 --- a/projects/demo/src/app/auth/auth-form/auth-form-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppAuthFormComponent } from './auth-form.component'; - -const routes: Routes = [ - { - path: 'auth-form', - component: AppAuthFormComponent - } -]; - -export const AppAuthFormRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/auth/auth-form/auth-form.component.ts b/projects/demo/src/app/auth/auth-form/auth-form.component.ts index 235e2e9423..bcdfa72c3d 100644 --- a/projects/demo/src/app/auth/auth-form/auth-form.component.ts +++ b/projects/demo/src/app/auth/auth-form/auth-form.component.ts @@ -1,11 +1,17 @@ import { Component } from '@angular/core'; +import { IgoAuthModule } from '@igo2/auth'; + +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-auth-form', templateUrl: './auth-form.component.html', - styleUrls: ['./auth-form.component.scss'] + styleUrls: ['./auth-form.component.scss'], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent, IgoAuthModule] }) export class AppAuthFormComponent { - constructor() {} } diff --git a/projects/demo/src/app/auth/auth-form/auth-form.module.ts b/projects/demo/src/app/auth/auth-form/auth-form.module.ts deleted file mode 100644 index 71723ffe52..0000000000 --- a/projects/demo/src/app/auth/auth-form/auth-form.module.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoAuthModule } from '@igo2/auth'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppAuthFormRoutingModule } from './auth-form-routing.module'; -import { AppAuthFormComponent } from './auth-form.component'; - -@NgModule({ - declarations: [AppAuthFormComponent], - imports: [AppAuthFormRoutingModule, SharedModule, IgoAuthModule.forRoot()], - exports: [AppAuthFormComponent] -}) -export class AppAuthFormModule {} diff --git a/projects/demo/src/app/auth/auth.routing.ts b/projects/demo/src/app/auth/auth.routing.ts new file mode 100644 index 0000000000..5e6cbe41f4 --- /dev/null +++ b/projects/demo/src/app/auth/auth.routing.ts @@ -0,0 +1,12 @@ +import { Routes } from '@angular/router'; + +import { AppAuthFormComponent } from './auth-form/auth-form.component'; + +export const routes: Routes = [ + { path: '', redirectTo: 'form', pathMatch: 'full' }, + { + title: 'Authentification', + path: 'form', + component: AppAuthFormComponent + } +]; diff --git a/projects/demo/src/app/common/action/action-routing.module.ts b/projects/demo/src/app/common/action/action-routing.module.ts deleted file mode 100644 index 88f317c585..0000000000 --- a/projects/demo/src/app/common/action/action-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppActionComponent } from './action.component'; - -const routes: Routes = [ - { - path: 'action', - component: AppActionComponent - } -]; - -export const AppActionRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/common/action/action.component.ts b/projects/demo/src/app/common/action/action.component.ts index 24e2929aa9..5df37efc96 100644 --- a/projects/demo/src/app/common/action/action.component.ts +++ b/projects/demo/src/app/common/action/action.component.ts @@ -1,19 +1,20 @@ import { Overlay } from '@angular/cdk/overlay'; import { Component, OnDestroy, OnInit } from '@angular/core'; -import { Action, ActionStore, ActionbarMode } from '@igo2/common'; -import { - Media, - MediaOrientation, - MediaService -} from '@igo2/core'; +import { ActionStore, ActionbarMode, IgoActionbarModule } from '@igo2/common'; +import { Media, MediaOrientation, MediaService } from '@igo2/core'; import { BehaviorSubject } from 'rxjs'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-action', templateUrl: './action.component.html', - styleUrls: ['./action.component.scss'] + styleUrls: ['./action.component.scss'], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent, IgoActionbarModule] }) export class AppActionComponent implements OnInit, OnDestroy { public store: ActionStore = new ActionStore([]); @@ -68,7 +69,7 @@ export class AppActionComponent implements OnInit, OnDestroy { }, availability: () => this.added$ } - ] satisfies Action[]); + ]); } ngOnDestroy(): void { diff --git a/projects/demo/src/app/common/action/action.module.ts b/projects/demo/src/app/common/action/action.module.ts deleted file mode 100644 index e4ee6c3a64..0000000000 --- a/projects/demo/src/app/common/action/action.module.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoActionModule, IgoContextMenuModule } from '@igo2/common'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppActionRoutingModule } from './action-routing.module'; -import { AppActionComponent } from './action.component'; - -@NgModule({ - declarations: [AppActionComponent], - imports: [ - SharedModule, - AppActionRoutingModule, - IgoActionModule, - IgoContextMenuModule - ], - exports: [AppActionComponent] -}) -export class AppActionModule {} diff --git a/projects/demo/src/app/common/common.routing.ts b/projects/demo/src/app/common/common.routing.ts new file mode 100644 index 0000000000..f7635e29b0 --- /dev/null +++ b/projects/demo/src/app/common/common.routing.ts @@ -0,0 +1,60 @@ +import { Routes } from '@angular/router'; + +import { AppActionComponent } from './action/action.component'; +import { AppDialogComponent } from './dialog/dialog.component'; +import { AppDynamicComponentComponent } from './dynamic-component/dynamic-component.component'; +import { AppEntitySelectorComponent } from './entity-selector/entity-selector.component'; +import { AppEntityTableComponent } from './entity-table/entity-table.component'; +import { AppFormComponent } from './form/form.component'; +import { AppTableComponent } from './table/table.component'; +import { AppToolComponent } from './tool/tool.component'; +import { AppWidgetComponent } from './widget/widget.component'; + +export const routes: Routes = [ + { path: '', redirectTo: 'action', pathMatch: 'full' }, + { + title: 'Action', + path: 'action', + component: AppActionComponent + }, + { + title: 'Dialogs', + path: 'dialog', + component: AppDialogComponent + }, + { + title: 'Dynamic Component', + path: 'dynamic-component', + component: AppDynamicComponentComponent + }, + { + title: 'Entity Table', + path: 'entity-table', + component: AppEntityTableComponent + }, + { + title: 'Entity Selector', + path: 'entity-selector', + component: AppEntitySelectorComponent + }, + { + title: 'form', + path: 'Form', + component: AppFormComponent + }, + { + title: 'Table', + path: 'table', + component: AppTableComponent + }, + { + title: 'Tool', + path: 'tool', + component: AppToolComponent + }, + { + title: 'Widget', + path: 'widget', + component: AppWidgetComponent + } +]; diff --git a/projects/demo/src/app/common/dialog/dialog-routing.module.ts b/projects/demo/src/app/common/dialog/dialog-routing.module.ts deleted file mode 100644 index 94096ca32f..0000000000 --- a/projects/demo/src/app/common/dialog/dialog-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppDialogComponent } from './dialog.component'; - -const routes: Routes = [ - { - path: 'dialog', - component: AppDialogComponent - } -]; - -export const AppDialogRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/common/dialog/dialog.component.ts b/projects/demo/src/app/common/dialog/dialog.component.ts index 01e42baf09..72d951aedc 100644 --- a/projects/demo/src/app/common/dialog/dialog.component.ts +++ b/projects/demo/src/app/common/dialog/dialog.component.ts @@ -1,5 +1,7 @@ import { Component } from '@angular/core'; import { Validators } from '@angular/forms'; +import { MatButtonModule } from '@angular/material/button'; +import { MatDividerModule } from '@angular/material/divider'; import { Choice, @@ -7,16 +9,34 @@ import { FormDialogService, FormFieldConfig, FormGroupsConfig, + IgoConfirmDialogModule, + IgoFormDialogModule, + IgoJsonDialogModule, + IgoSelectValueDialogModule, JsonDialogService, SelectValueDialogService } from '@igo2/common'; import { SelectValueDialogType } from 'packages/common/src/lib/select-value-dialog/select-value-dialog.enums'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-dialog', templateUrl: './dialog.component.html', - styleUrls: ['./dialog.component.scss'] + styleUrls: ['./dialog.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + IgoConfirmDialogModule, + IgoSelectValueDialogModule, + IgoFormDialogModule, + IgoJsonDialogModule, + MatButtonModule, + MatDividerModule + ] }) export class AppDialogComponent { constructor( diff --git a/projects/demo/src/app/common/dialog/dialog.module.ts b/projects/demo/src/app/common/dialog/dialog.module.ts deleted file mode 100644 index 4b93ec1630..0000000000 --- a/projects/demo/src/app/common/dialog/dialog.module.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { NgModule } from '@angular/core'; -import { MatButtonModule } from '@angular/material/button'; -import { MatDividerModule } from '@angular/material/divider'; - -import { - IgoConfirmDialogModule, - IgoFormDialogModule, - IgoJsonDialogModule, - IgoSelectValueDialogModule -} from '@igo2/common'; -import { IgoLanguageModule } from '@igo2/core'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppDialogRoutingModule } from './dialog-routing.module'; -import { AppDialogComponent } from './dialog.component'; - -@NgModule({ - declarations: [AppDialogComponent], - imports: [ - SharedModule, - AppDialogRoutingModule, - IgoConfirmDialogModule, - IgoSelectValueDialogModule, - IgoFormDialogModule, - IgoJsonDialogModule, - MatButtonModule, - IgoLanguageModule, - MatDividerModule - ], - exports: [AppDialogComponent] -}) -export class AppDialogModule {} diff --git a/projects/demo/src/app/common/dynamic-component/dynamic-component-routing.module.ts b/projects/demo/src/app/common/dynamic-component/dynamic-component-routing.module.ts deleted file mode 100644 index d86220c0f5..0000000000 --- a/projects/demo/src/app/common/dynamic-component/dynamic-component-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppDynamicComponentComponent } from './dynamic-component.component'; - -const routes: Routes = [ - { - path: 'dynamic-component', - component: AppDynamicComponentComponent - } -]; - -export const AppDynamicComponentRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/common/dynamic-component/dynamic-component.component.ts b/projects/demo/src/app/common/dynamic-component/dynamic-component.component.ts index 7464507b84..43efc151fc 100644 --- a/projects/demo/src/app/common/dynamic-component/dynamic-component.component.ts +++ b/projects/demo/src/app/common/dynamic-component/dynamic-component.component.ts @@ -4,13 +4,18 @@ import { Component, Input } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; -import { OnUpdateInputs } from '@igo2/common'; +import { IgoDynamicOutletModule, OnUpdateInputs } from '@igo2/common'; + +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; @Component({ selector: 'app-salutation-component', template: '

Hello, my name is {{name}}.

', - changeDetection: ChangeDetectionStrategy.OnPush + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true }) export class AppSalutationComponent implements OnUpdateInputs { @Input() name: string; @@ -26,7 +31,8 @@ export class AppSalutationComponent implements OnUpdateInputs { selector: 'app-explanation-component', template: '

I am a dynamic component, rendered into an IgoDynamicOutlet.

', - changeDetection: ChangeDetectionStrategy.OnPush + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true }) export class AppExplanationComponent implements OnUpdateInputs { constructor(private cdRef: ChangeDetectorRef) {} @@ -39,7 +45,14 @@ export class AppExplanationComponent implements OnUpdateInputs { @Component({ selector: 'app-dynamic-component', templateUrl: './dynamic-component.component.html', - styleUrls: ['./dynamic-component.component.scss'] + styleUrls: ['./dynamic-component.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + IgoDynamicOutletModule, + MatButtonModule + ] }) export class AppDynamicComponentComponent { component: any = AppSalutationComponent; diff --git a/projects/demo/src/app/common/dynamic-component/dynamic-component.module.ts b/projects/demo/src/app/common/dynamic-component/dynamic-component.module.ts deleted file mode 100644 index 63ca8b3ceb..0000000000 --- a/projects/demo/src/app/common/dynamic-component/dynamic-component.module.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoDynamicComponentModule } from '@igo2/common'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppDynamicComponentRoutingModule } from './dynamic-component-routing.module'; -import { - AppDynamicComponentComponent, - AppExplanationComponent, - AppSalutationComponent -} from './dynamic-component.component'; - -@NgModule({ - declarations: [ - AppSalutationComponent, - AppDynamicComponentComponent, - AppExplanationComponent - ], - imports: [ - SharedModule, - AppDynamicComponentRoutingModule, - IgoDynamicComponentModule - ], - exports: [AppDynamicComponentComponent] -}) -export class AppDynamicComponentModule {} diff --git a/projects/demo/src/app/common/entity-selector/entity-selector-routing.module.ts b/projects/demo/src/app/common/entity-selector/entity-selector-routing.module.ts deleted file mode 100644 index 5168ec0d13..0000000000 --- a/projects/demo/src/app/common/entity-selector/entity-selector-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppEntitySelectorComponent } from './entity-selector.component'; - -const routes: Routes = [ - { - path: 'entity-selector', - component: AppEntitySelectorComponent - } -]; - -export const AppEntitySelectorRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/common/entity-selector/entity-selector.component.ts b/projects/demo/src/app/common/entity-selector/entity-selector.component.ts index 06b2c176d1..e34e1581c3 100644 --- a/projects/demo/src/app/common/entity-selector/entity-selector.component.ts +++ b/projects/demo/src/app/common/entity-selector/entity-selector.component.ts @@ -1,9 +1,13 @@ +import { AsyncPipe, NgIf } from '@angular/common'; import { Component, OnDestroy, OnInit } from '@angular/core'; -import { EntityStore } from '@igo2/common'; +import { EntityStore, IgoEntitySelectorModule } from '@igo2/common'; import { BehaviorSubject } from 'rxjs'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + interface DemoEntity { id: string; name: string; @@ -13,12 +17,21 @@ interface DemoEntity { @Component({ selector: 'app-entity-selector', templateUrl: './entity-selector.component.html', - styleUrls: ['./entity-selector.component.scss'] + styleUrls: ['./entity-selector.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + IgoEntitySelectorModule, + NgIf, + AsyncPipe + ] }) export class AppEntitySelectorComponent implements OnInit, OnDestroy { public store: EntityStore = new EntityStore([]); - public selectedEntity$: BehaviorSubject = new BehaviorSubject(undefined); + public selectedEntity$: BehaviorSubject = + new BehaviorSubject(undefined); public entityIsSelected: boolean; constructor() {} diff --git a/projects/demo/src/app/common/entity-selector/entity-selector.module.ts b/projects/demo/src/app/common/entity-selector/entity-selector.module.ts deleted file mode 100644 index 383101cbcf..0000000000 --- a/projects/demo/src/app/common/entity-selector/entity-selector.module.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoEntitySelectorModule } from '@igo2/common'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppEntitySelectorRoutingModule } from './entity-selector-routing.module'; -import { AppEntitySelectorComponent } from './entity-selector.component'; - -@NgModule({ - declarations: [AppEntitySelectorComponent], - imports: [ - SharedModule, - AppEntitySelectorRoutingModule, - IgoEntitySelectorModule - ], - exports: [AppEntitySelectorComponent] -}) -export class AppEntitySelectorModule {} diff --git a/projects/demo/src/app/common/entity-table/entity-table-routing.module.ts b/projects/demo/src/app/common/entity-table/entity-table-routing.module.ts deleted file mode 100644 index 8c56aff7de..0000000000 --- a/projects/demo/src/app/common/entity-table/entity-table-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppEntityTableComponent } from './entity-table.component'; - -const routes: Routes = [ - { - path: 'entity-table', - component: AppEntityTableComponent - } -]; - -export const AppEntityTableRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/common/entity-table/entity-table.component.ts b/projects/demo/src/app/common/entity-table/entity-table.component.ts index 9fa4ff3980..9e8d68b635 100644 --- a/projects/demo/src/app/common/entity-table/entity-table.component.ts +++ b/projects/demo/src/app/common/entity-table/entity-table.component.ts @@ -7,15 +7,21 @@ import { EntityTableColumnRenderer, EntityTablePaginatorOptions, EntityTableTemplate, + IgoEntityTableModule, getEntityProperty } from '@igo2/common'; import { BehaviorSubject } from 'rxjs'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-entity-table', templateUrl: './entity-table.component.html', - styleUrls: ['./entity-table.component.scss'] + styleUrls: ['./entity-table.component.scss'], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent, IgoEntityTableModule] }) export class AppEntityTableComponent implements OnInit, OnDestroy { public store: EntityStore = new EntityStore([]); diff --git a/projects/demo/src/app/common/entity-table/entity-table.module.ts b/projects/demo/src/app/common/entity-table/entity-table.module.ts deleted file mode 100644 index a0c1e18523..0000000000 --- a/projects/demo/src/app/common/entity-table/entity-table.module.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { - IgoEntityTableModule, - IgoEntityTablePaginatorModule -} from '@igo2/common'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppEntityTableRoutingModule } from './entity-table-routing.module'; -import { AppEntityTableComponent } from './entity-table.component'; - -@NgModule({ - declarations: [AppEntityTableComponent], - imports: [ - AppEntityTableRoutingModule, - SharedModule, - IgoEntityTableModule, - IgoEntityTablePaginatorModule - ], - exports: [AppEntityTableComponent] -}) -export class AppEntityTableModule {} diff --git a/projects/demo/src/app/common/form/form-routing.module.ts b/projects/demo/src/app/common/form/form-routing.module.ts deleted file mode 100644 index dbed32273a..0000000000 --- a/projects/demo/src/app/common/form/form-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppFormComponent } from './form.component'; - -const routes: Routes = [ - { - path: 'form', - component: AppFormComponent - } -]; - -export const AppFormRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/common/form/form.component.ts b/projects/demo/src/app/common/form/form.component.ts index 65c472baa9..e4baaaa023 100644 --- a/projects/demo/src/app/common/form/form.component.ts +++ b/projects/demo/src/app/common/form/form.component.ts @@ -1,27 +1,49 @@ +import { AsyncPipe, NgIf } from '@angular/common'; import { Component, OnDestroy, OnInit } from '@angular/core'; import { Validators } from '@angular/forms'; +import { MatButtonModule } from '@angular/material/button'; -import { Form, FormField, FormFieldConfig, FormService } from '@igo2/common'; +import { + Form, + FormField, + FormFieldConfig, + FormService, + IgoFormFormModule, + IgoFormGroupModule +} from '@igo2/common'; import { BehaviorSubject, Subscription } from 'rxjs'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-form', templateUrl: './form.component.html', - styleUrls: ['./form.component.scss'] + styleUrls: ['./form.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + NgIf, + IgoFormFormModule, + IgoFormGroupModule, + MatButtonModule, + AsyncPipe + ] }) export class AppFormComponent implements OnInit, OnDestroy { form$: BehaviorSubject
= new BehaviorSubject(undefined); - data$: BehaviorSubject = new BehaviorSubject<{ [key: string]: any }>(undefined); + data$: BehaviorSubject = new BehaviorSubject<{ [key: string]: any }>( + undefined + ); submitDisabled = true; private valueChanges$$: Subscription; - constructor( - private formService: FormService - ) {} + constructor(private formService: FormService) {} ngOnInit() { const fieldConfigs: FormFieldConfig[] = [ @@ -57,7 +79,9 @@ export class AppFormComponent implements OnInit, OnDestroy { } ]; - const fields: FormField[] = fieldConfigs.map((config: FormFieldConfig) => this.formService.field(config)); + const fields: FormField[] = fieldConfigs.map((config: FormFieldConfig) => + this.formService.field(config) + ); const form: Form = this.formService.form( [], [this.formService.group({ name: 'info' }, fields)] diff --git a/projects/demo/src/app/common/form/form.module.ts b/projects/demo/src/app/common/form/form.module.ts deleted file mode 100644 index dd2a7e70db..0000000000 --- a/projects/demo/src/app/common/form/form.module.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoFormModule } from '@igo2/common'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppFormRoutingModule } from './form-routing.module'; -import { AppFormComponent } from './form.component'; - -@NgModule({ - declarations: [AppFormComponent], - imports: [SharedModule, AppFormRoutingModule, IgoFormModule], - exports: [AppFormComponent] -}) -export class AppFormModule {} diff --git a/projects/demo/src/app/common/table/table.component.ts b/projects/demo/src/app/common/table/table.component.ts index 0189facb31..10fcf0b3cb 100644 --- a/projects/demo/src/app/common/table/table.component.ts +++ b/projects/demo/src/app/common/table/table.component.ts @@ -1,11 +1,21 @@ import { Component, OnInit } from '@angular/core'; -import { TableActionColor, TableDatabase, TableModel } from '@igo2/common'; +import { + IgoTableModule, + TableActionColor, + TableDatabase, + TableModel +} from '@igo2/common'; + +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; @Component({ selector: 'app-table', templateUrl: './table.component.html', - styleUrls: ['./table.component.scss'] + styleUrls: ['./table.component.scss'], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent, IgoTableModule] }) export class AppTableComponent implements OnInit { public database: TableDatabase; diff --git a/projects/demo/src/app/common/table/table.module.ts b/projects/demo/src/app/common/table/table.module.ts index 0f49e49348..8080293d7d 100644 --- a/projects/demo/src/app/common/table/table.module.ts +++ b/projects/demo/src/app/common/table/table.module.ts @@ -2,13 +2,16 @@ import { NgModule } from '@angular/core'; import { IgoTableModule } from '@igo2/common'; -import { SharedModule } from '../../shared/shared.module'; + import { AppTableRoutingModule } from './table-routing.module'; import { AppTableComponent } from './table.component'; @NgModule({ - declarations: [AppTableComponent], - imports: [SharedModule, AppTableRoutingModule, IgoTableModule], + imports: [ + AppTableRoutingModule, + IgoTableModule, + AppTableComponent +], exports: [AppTableComponent] }) export class AppTableModule {} diff --git a/projects/demo/src/app/common/tool/tool-routing.module.ts b/projects/demo/src/app/common/tool/tool-routing.module.ts deleted file mode 100644 index 5fc5b99c80..0000000000 --- a/projects/demo/src/app/common/tool/tool-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppToolComponent } from './tool.component'; - -const routes: Routes = [ - { - path: 'tool', - component: AppToolComponent - } -]; - -export const AppToolRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/common/tool/tool.component.ts b/projects/demo/src/app/common/tool/tool.component.ts index a99b3ac2d7..360c647c75 100644 --- a/projects/demo/src/app/common/tool/tool.component.ts +++ b/projects/demo/src/app/common/tool/tool.component.ts @@ -1,3 +1,4 @@ +import { AsyncPipe, NgIf } from '@angular/common'; import { ChangeDetectionStrategy, ChangeDetectorRef, @@ -6,8 +7,12 @@ import { OnDestroy, OnInit } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; +import { MatIconModule } from '@angular/material/icon'; import { + IgoPanelModule, + IgoToolboxModule, OnUpdateInputs, Tool, ToolComponent, @@ -17,6 +22,9 @@ import { import { BehaviorSubject } from 'rxjs'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @ToolComponent({ name: 'demo-salutation', title: 'Salutation', @@ -26,7 +34,8 @@ import { BehaviorSubject } from 'rxjs'; @Component({ selector: 'app-salutation-tool', template: `

Hello, my name is {{ name }}.

`, - changeDetection: ChangeDetectionStrategy.OnPush + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true }) export class AppSalutationToolComponent implements OnUpdateInputs { @Input() name: string; @@ -46,14 +55,26 @@ export class AppSalutationToolComponent implements OnUpdateInputs { @Component({ selector: 'app-about-tool', template: `

I'm a tool inside a toolbox.

`, - changeDetection: ChangeDetectionStrategy.OnPush + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true }) export class AppAboutToolComponent {} @Component({ selector: 'app-tool', templateUrl: './tool.component.html', - styleUrls: ['./tool.component.scss'] + styleUrls: ['./tool.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + IgoPanelModule, + NgIf, + MatButtonModule, + MatIconModule, + IgoToolboxModule, + AsyncPipe + ] }) export class AppToolComponent implements OnInit, OnDestroy { toolbox: Toolbox = new Toolbox(); diff --git a/projects/demo/src/app/common/tool/tool.module.ts b/projects/demo/src/app/common/tool/tool.module.ts deleted file mode 100644 index 71402c2f13..0000000000 --- a/projects/demo/src/app/common/tool/tool.module.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoPanelModule, IgoToolModule } from '@igo2/common'; -import { IgoLanguageModule } from '@igo2/core'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppToolRoutingModule } from './tool-routing.module'; -import { - AppAboutToolComponent, - AppSalutationToolComponent, - AppToolComponent -} from './tool.component'; - -@NgModule({ - declarations: [ - AppToolComponent, - AppSalutationToolComponent, - AppAboutToolComponent - ], - imports: [ - SharedModule, - AppToolRoutingModule, - IgoLanguageModule, - IgoPanelModule, - IgoToolModule.forRoot() - ], - exports: [AppToolComponent] -}) -export class AppToolModule {} diff --git a/projects/demo/src/app/common/widget/widget-routing.module.ts b/projects/demo/src/app/common/widget/widget-routing.module.ts deleted file mode 100644 index 8527f4c538..0000000000 --- a/projects/demo/src/app/common/widget/widget-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppWidgetComponent } from './widget.component'; - -const routes: Routes = [ - { - path: 'widget', - component: AppWidgetComponent - } -]; - -export const AppWidgetRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/common/widget/widget.component.ts b/projects/demo/src/app/common/widget/widget.component.ts index db64f18379..c99ed8e98f 100644 --- a/projects/demo/src/app/common/widget/widget.component.ts +++ b/projects/demo/src/app/common/widget/widget.component.ts @@ -6,14 +6,19 @@ import { Input, Output } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; import { DynamicComponent, + IgoWidgetOutletModule, OnUpdateInputs, WidgetComponent, WidgetService } from '@igo2/common'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-salutation-widget', template: ` @@ -23,7 +28,9 @@ import { `, - changeDetection: ChangeDetectionStrategy.OnPush + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [MatButtonModule] }) export class AppSalutationWidgetComponent implements OnUpdateInputs, WidgetComponent @@ -44,7 +51,9 @@ export class AppSalutationWidgetComponent @Component({ selector: 'app-widget', templateUrl: './widget.component.html', - styleUrls: ['./widget.component.scss'] + styleUrls: ['./widget.component.scss'], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent, IgoWidgetOutletModule] }) export class AppWidgetComponent { widget: DynamicComponent; diff --git a/projects/demo/src/app/common/widget/widget.module.ts b/projects/demo/src/app/common/widget/widget.module.ts deleted file mode 100644 index 465762ef97..0000000000 --- a/projects/demo/src/app/common/widget/widget.module.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { NgModule } from '@angular/core'; -import { MatButtonModule } from '@angular/material/button'; -import { MatCardModule } from '@angular/material/card'; - -import { IgoWidgetModule } from '@igo2/common'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppWidgetRoutingModule } from './widget-routing.module'; -import { - AppSalutationWidgetComponent, - AppWidgetComponent -} from './widget.component'; - -@NgModule({ - declarations: [AppSalutationWidgetComponent, AppWidgetComponent], - imports: [ - SharedModule, - AppWidgetRoutingModule, - MatButtonModule, - MatCardModule, - IgoWidgetModule - ], - exports: [AppWidgetComponent] -}) -export class AppWidgetModule {} diff --git a/projects/demo/src/app/components/doc-viewer/doc-viewer.component.spec.ts b/projects/demo/src/app/components/doc-viewer/doc-viewer.component.spec.ts index 12e7bcb510..d97168d575 100644 --- a/projects/demo/src/app/components/doc-viewer/doc-viewer.component.spec.ts +++ b/projects/demo/src/app/components/doc-viewer/doc-viewer.component.spec.ts @@ -8,7 +8,7 @@ describe('DocViewerComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [DocViewerComponent] + imports: [DocViewerComponent] }).compileComponents(); fixture = TestBed.createComponent(DocViewerComponent); diff --git a/projects/demo/src/app/components/doc-viewer/doc-viewer.component.ts b/projects/demo/src/app/components/doc-viewer/doc-viewer.component.ts index 5cce2c1dc6..eae5e8f923 100644 --- a/projects/demo/src/app/components/doc-viewer/doc-viewer.component.ts +++ b/projects/demo/src/app/components/doc-viewer/doc-viewer.component.ts @@ -1,9 +1,12 @@ +import { NgFor, NgIf } from '@angular/common'; import { Component, Input } from '@angular/core'; @Component({ selector: 'app-doc-viewer', templateUrl: './doc-viewer.component.html', - styleUrls: ['./doc-viewer.component.scss'] + styleUrls: ['./doc-viewer.component.scss'], + standalone: true, + imports: [NgIf, NgFor] }) export class DocViewerComponent { @Input() title: string; diff --git a/projects/demo/src/app/components/doc-viewer/doc-viewer.module.ts b/projects/demo/src/app/components/doc-viewer/doc-viewer.module.ts deleted file mode 100644 index 7a02ae7e6f..0000000000 --- a/projects/demo/src/app/components/doc-viewer/doc-viewer.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { MatCardModule } from '@angular/material/card'; - -import { DocViewerComponent } from './doc-viewer.component'; - -@NgModule({ - declarations: [DocViewerComponent], - exports: [DocViewerComponent], - imports: [CommonModule, MatCardModule] -}) -export class DocViewerModule {} diff --git a/projects/demo/src/app/components/example/example-see-code/example-see-code.component.spec.ts b/projects/demo/src/app/components/example/example-see-code/example-see-code.component.spec.ts index 3028b99850..c6e5f35380 100644 --- a/projects/demo/src/app/components/example/example-see-code/example-see-code.component.spec.ts +++ b/projects/demo/src/app/components/example/example-see-code/example-see-code.component.spec.ts @@ -8,7 +8,7 @@ describe('ExampleSeeCodeComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ExampleSeeCodeComponent] + imports: [ExampleSeeCodeComponent] }).compileComponents(); fixture = TestBed.createComponent(ExampleSeeCodeComponent); diff --git a/projects/demo/src/app/components/example/example-see-code/example-see-code.component.ts b/projects/demo/src/app/components/example/example-see-code/example-see-code.component.ts index 678fa12dff..ad7927c7d0 100644 --- a/projects/demo/src/app/components/example/example-see-code/example-see-code.component.ts +++ b/projects/demo/src/app/components/example/example-see-code/example-see-code.component.ts @@ -3,7 +3,8 @@ import { Component, Input } from '@angular/core'; @Component({ selector: 'app-example-see-code', templateUrl: './example-see-code.component.html', - styleUrls: ['./example-see-code.component.scss'] + styleUrls: ['./example-see-code.component.scss'], + standalone: true }) export class ExampleSeeCodeComponent { @Input() href: string; diff --git a/projects/demo/src/app/components/example/example-viewer/example-viewer.component.spec.ts b/projects/demo/src/app/components/example/example-viewer/example-viewer.component.spec.ts index 1fdfd6c240..71531a9bc3 100644 --- a/projects/demo/src/app/components/example/example-viewer/example-viewer.component.spec.ts +++ b/projects/demo/src/app/components/example/example-viewer/example-viewer.component.spec.ts @@ -10,8 +10,7 @@ describe('ExampleViewerComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [MatCardModule, MatDividerModule], - declarations: [ExampleViewerComponent] + imports: [MatCardModule, MatDividerModule, ExampleViewerComponent] }).compileComponents(); fixture = TestBed.createComponent(ExampleViewerComponent); diff --git a/projects/demo/src/app/components/example/example-viewer/example-viewer.component.ts b/projects/demo/src/app/components/example/example-viewer/example-viewer.component.ts index ff7859a255..4fe1239edd 100644 --- a/projects/demo/src/app/components/example/example-viewer/example-viewer.component.ts +++ b/projects/demo/src/app/components/example/example-viewer/example-viewer.component.ts @@ -1,4 +1,10 @@ +import { NgIf } from '@angular/common'; import { Component, Input } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; +import { MatCardModule } from '@angular/material/card'; +import { MatDividerModule } from '@angular/material/divider'; +import { MatIconModule } from '@angular/material/icon'; +import { MatTooltipModule } from '@angular/material/tooltip'; const SRC_PATH = 'https://github.com/infra-geo-ouverte/igo2-lib/tree/master/projects/demo/src'; @@ -6,7 +12,16 @@ const SRC_PATH = @Component({ selector: 'app-example-viewer', templateUrl: './example-viewer.component.html', - styleUrls: ['./example-viewer.component.scss'] + styleUrls: ['./example-viewer.component.scss'], + standalone: true, + imports: [ + MatCardModule, + NgIf, + MatButtonModule, + MatTooltipModule, + MatIconModule, + MatDividerModule + ] }) export class ExampleViewerComponent { @Input() title: string; diff --git a/projects/demo/src/app/components/example/example.module.ts b/projects/demo/src/app/components/example/example.module.ts deleted file mode 100644 index 36f4380112..0000000000 --- a/projects/demo/src/app/components/example/example.module.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { MatButtonModule } from '@angular/material/button'; -import { MatCardModule } from '@angular/material/card'; -import { MatDividerModule } from '@angular/material/divider'; -import { MatIconModule } from '@angular/material/icon'; -import { MatTooltipModule } from '@angular/material/tooltip'; - -import { ExampleSeeCodeComponent } from './example-see-code/example-see-code.component'; -import { ExampleViewerComponent } from './example-viewer/example-viewer.component'; - -@NgModule({ - declarations: [ExampleViewerComponent, ExampleSeeCodeComponent], - exports: [ExampleViewerComponent], - imports: [ - CommonModule, - MatButtonModule, - MatCardModule, - MatDividerModule, - MatIconModule, - MatTooltipModule - ] -}) -export class ExampleModule {} diff --git a/projects/demo/src/app/context/context.routing.ts b/projects/demo/src/app/context/context.routing.ts new file mode 100644 index 0000000000..c2c8ec50b4 --- /dev/null +++ b/projects/demo/src/app/context/context.routing.ts @@ -0,0 +1,12 @@ +import { Routes } from '@angular/router'; + +import { AppContextComponent } from './context/context.component'; + +export const routes: Routes = [ + { path: '', redirectTo: 'context', pathMatch: 'full' }, + { + title: 'Context', + path: 'context', + component: AppContextComponent + } +]; diff --git a/projects/demo/src/app/context/context/context.component.ts b/projects/demo/src/app/context/context/context.component.ts index a33937f8ed..922895cea0 100644 --- a/projects/demo/src/app/context/context/context.component.ts +++ b/projects/demo/src/app/context/context/context.component.ts @@ -1,12 +1,40 @@ import { Component } from '@angular/core'; +import { MatGridListModule } from '@angular/material/grid-list'; -import { ContextService } from '@igo2/context'; -import { IgoMap, MapService, MapViewOptions } from '@igo2/geo'; +import { IgoPanelModule } from '@igo2/common'; +import { + ContextService, + IgoContextImportExportModule, + IgoContextManagerModule +} from '@igo2/context'; +import { + IgoLayerModule, + IgoMap, + IgoMapModule, + IgoMetadataModule, + MapService, + MapViewOptions +} from '@igo2/geo'; + +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; @Component({ selector: 'app-context', templateUrl: './context.component.html', - styleUrls: ['./context.component.scss'] + styleUrls: ['./context.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + MatGridListModule, + IgoMapModule, + IgoContextManagerModule, + IgoPanelModule, + IgoLayerModule, + IgoMetadataModule, + IgoContextImportExportModule + ] }) export class AppContextComponent { public map: IgoMap = new IgoMap({ diff --git a/projects/demo/src/app/context/context/context.module.ts b/projects/demo/src/app/context/context/context.module.ts index b4fcb29aba..b4ce74b17f 100644 --- a/projects/demo/src/app/context/context/context.module.ts +++ b/projects/demo/src/app/context/context/context.module.ts @@ -12,16 +12,14 @@ import { IgoQueryModule } from '@igo2/geo'; -import { SharedModule } from '../../shared/shared.module'; + import { AppContextRoutingModule } from './context-routing.module'; import { AppContextComponent } from './context.component'; @NgModule({ - declarations: [AppContextComponent], imports: [ HttpClientJsonpModule, AppContextRoutingModule, - SharedModule, IgoPanelModule, IgoMapModule, IgoLayerModule, @@ -29,8 +27,9 @@ import { AppContextComponent } from './context.component'; IgoOverlayModule, IgoQueryModule, IgoFeatureModule, - IgoContextModule - ], + IgoContextModule, + AppContextComponent +], exports: [AppContextComponent] }) export class AppContextModule {} diff --git a/projects/demo/src/app/core/activity/activity-routing.module.ts b/projects/demo/src/app/core/activity/activity-routing.module.ts deleted file mode 100644 index 9b0c7222b1..0000000000 --- a/projects/demo/src/app/core/activity/activity-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppActivityComponent } from './activity.component'; - -const routes: Routes = [ - { - path: 'activity', - component: AppActivityComponent - } -]; - -export const AppActivityRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/core/activity/activity.component.ts b/projects/demo/src/app/core/activity/activity.component.ts index 3c7bf92f50..114912613a 100644 --- a/projects/demo/src/app/core/activity/activity.component.ts +++ b/projects/demo/src/app/core/activity/activity.component.ts @@ -1,11 +1,23 @@ import { Component } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; +import { IgoSpinnerModule } from '@igo2/common'; import { ActivityService } from '@igo2/core'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-activity', templateUrl: './activity.component.html', - styleUrls: ['./activity.component.scss'] + styleUrls: ['./activity.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + MatButtonModule, + IgoSpinnerModule + ] }) export class AppActivityComponent { private idsActivity: string[] = []; diff --git a/projects/demo/src/app/core/activity/activity.module.ts b/projects/demo/src/app/core/activity/activity.module.ts deleted file mode 100644 index c385ee4716..0000000000 --- a/projects/demo/src/app/core/activity/activity.module.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoSpinnerModule } from '@igo2/common'; -import { IgoActivityModule } from '@igo2/core'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppActivityRoutingModule } from './activity-routing.module'; -import { AppActivityComponent } from './activity.component'; - -@NgModule({ - declarations: [AppActivityComponent], - imports: [ - AppActivityRoutingModule, - SharedModule, - IgoActivityModule.forRoot(), // Only if you want register http calls - IgoSpinnerModule - ], - exports: [AppActivityComponent] -}) -export class AppActivityModule {} diff --git a/projects/demo/src/app/core/config/config-routing.module.ts b/projects/demo/src/app/core/config/config-routing.module.ts deleted file mode 100644 index 3d179fd2b3..0000000000 --- a/projects/demo/src/app/core/config/config-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppConfigComponent } from './config.component'; - -const routes: Routes = [ - { - path: 'config', - component: AppConfigComponent - } -]; - -export const AppConfigRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/core/config/config.component.ts b/projects/demo/src/app/core/config/config.component.ts index 68d0f6ca34..d9d27f0aff 100644 --- a/projects/demo/src/app/core/config/config.component.ts +++ b/projects/demo/src/app/core/config/config.component.ts @@ -1,11 +1,17 @@ +import { JsonPipe } from '@angular/common'; import { Component } from '@angular/core'; import { ConfigService, LanguageOptions } from '@igo2/core'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-config', templateUrl: './config.component.html', - styleUrls: ['./config.component.scss'] + styleUrls: ['./config.component.scss'], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent, JsonPipe] }) export class AppConfigComponent { public configLanguage: LanguageOptions; diff --git a/projects/demo/src/app/core/config/config.module.ts b/projects/demo/src/app/core/config/config.module.ts deleted file mode 100644 index a5d7ae2f80..0000000000 --- a/projects/demo/src/app/core/config/config.module.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoConfigModule, provideConfigOptions } from '@igo2/core'; - -import { environment } from '../../../environments/environment'; -import { SharedModule } from '../../shared/shared.module'; -import { AppConfigRoutingModule } from './config-routing.module'; -import { AppConfigComponent } from './config.component'; - -@NgModule({ - declarations: [AppConfigComponent], - imports: [AppConfigRoutingModule, SharedModule, IgoConfigModule.forRoot()], - exports: [AppConfigComponent], - providers: [ - provideConfigOptions({ - default: environment.igo - }) - ] -}) -export class AppConfigModule {} diff --git a/projects/demo/src/app/core/core.routing.ts b/projects/demo/src/app/core/core.routing.ts new file mode 100644 index 0000000000..ad8f82d52a --- /dev/null +++ b/projects/demo/src/app/core/core.routing.ts @@ -0,0 +1,54 @@ +import { Routes } from '@angular/router'; + +import { AppActivityComponent } from './activity/activity.component'; +import { AppConfigComponent } from './config/config.component'; +import { AppLanguageComponent } from './language/language.component'; +import { AppMediaComponent } from './media/media.component'; +import { AppMessageComponent } from './message/message.component'; +import { AppMonitoringComponent } from './monitoring/monitoring.component'; +import { AppRequestComponent } from './request/request.component'; +import { AppThemeComponent } from './theme/theme.component'; + +export const routes: Routes = [ + { path: '', redirectTo: 'activity', pathMatch: 'full' }, + { + title: 'Activity', + path: 'activity', + component: AppActivityComponent + }, + { + title: 'Config', + path: 'config', + component: AppConfigComponent + }, + { + title: 'Language', + path: 'language', + component: AppLanguageComponent + }, + { + title: 'Media', + path: 'media', + component: AppMediaComponent + }, + { + title: 'Message', + path: 'message', + component: AppMessageComponent + }, + { + title: 'Monitoring', + path: 'monitoring', + component: AppMonitoringComponent + }, + { + title: 'Request', + path: 'request', + component: AppRequestComponent + }, + { + title: 'Themes', + path: 'theme', + component: AppThemeComponent + } +]; diff --git a/projects/demo/src/app/core/home/home-routing.module.ts b/projects/demo/src/app/core/home/home-routing.module.ts deleted file mode 100644 index 0ddfce6631..0000000000 --- a/projects/demo/src/app/core/home/home-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppHomeComponent } from './home.component'; - -const routes: Routes = [ - { - path: 'home', - component: AppHomeComponent - } -]; - -export const AppHomeRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/core/home/home.module.ts b/projects/demo/src/app/core/home/home.module.ts deleted file mode 100644 index ff4efc1e35..0000000000 --- a/projects/demo/src/app/core/home/home.module.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoInteractiveTourModule } from '@igo2/common'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppHomeRoutingModule } from './home-routing.module'; -import { AppHomeComponent } from './home.component'; - -@NgModule({ - declarations: [AppHomeComponent], - imports: [AppHomeRoutingModule, IgoInteractiveTourModule, SharedModule], - exports: [AppHomeComponent] -}) -export class AppHomeModule {} diff --git a/projects/demo/src/app/core/language/language-routing.module.ts b/projects/demo/src/app/core/language/language-routing.module.ts deleted file mode 100644 index a6ee064ca1..0000000000 --- a/projects/demo/src/app/core/language/language-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppLanguageComponent } from './language.component'; - -const routes: Routes = [ - { - path: 'language', - component: AppLanguageComponent - } -]; - -export const AppLanguageRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/core/language/language.component.ts b/projects/demo/src/app/core/language/language.component.ts index 04624d0ef1..ae795e5a54 100644 --- a/projects/demo/src/app/core/language/language.component.ts +++ b/projects/demo/src/app/core/language/language.component.ts @@ -1,11 +1,22 @@ import { Component } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; -import { LanguageService } from '@igo2/core'; +import { IgoLanguageModule, LanguageService } from '@igo2/core'; + +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; @Component({ selector: 'app-language', templateUrl: './language.component.html', - styleUrls: ['./language.component.scss'] + styleUrls: ['./language.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + MatButtonModule, + IgoLanguageModule + ] }) export class AppLanguageComponent { public app = { diff --git a/projects/demo/src/app/core/language/language.module.ts b/projects/demo/src/app/core/language/language.module.ts deleted file mode 100644 index 431db721a4..0000000000 --- a/projects/demo/src/app/core/language/language.module.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoLanguageModule } from '@igo2/core'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppLanguageRoutingModule } from './language-routing.module'; -import { AppLanguageComponent } from './language.component'; - -@NgModule({ - declarations: [AppLanguageComponent], - imports: [AppLanguageRoutingModule, SharedModule, IgoLanguageModule], - exports: [AppLanguageComponent] -}) -export class AppLanguageModule {} diff --git a/projects/demo/src/app/core/media/media-routing.module.ts b/projects/demo/src/app/core/media/media-routing.module.ts deleted file mode 100644 index 36e25f52c7..0000000000 --- a/projects/demo/src/app/core/media/media-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppMediaComponent } from './media.component'; - -const routes: Routes = [ - { - path: 'media', - component: AppMediaComponent - } -]; - -export const AppMediaRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/core/media/media.component.ts b/projects/demo/src/app/core/media/media.component.ts index 8d674d8800..06767e8c23 100644 --- a/projects/demo/src/app/core/media/media.component.ts +++ b/projects/demo/src/app/core/media/media.component.ts @@ -2,10 +2,15 @@ import { Component } from '@angular/core'; import { Media, MediaOrientation, MediaService } from '@igo2/core'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-media', templateUrl: './media.component.html', - styleUrls: ['./media.component.scss'] + styleUrls: ['./media.component.scss'], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent] }) export class AppMediaComponent { constructor(private mediaService: MediaService) {} diff --git a/projects/demo/src/app/core/media/media.module.ts b/projects/demo/src/app/core/media/media.module.ts deleted file mode 100644 index ed20197fbe..0000000000 --- a/projects/demo/src/app/core/media/media.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppMediaRoutingModule } from './media-routing.module'; -import { AppMediaComponent } from './media.component'; - -@NgModule({ - declarations: [AppMediaComponent], - imports: [AppMediaRoutingModule, SharedModule], - exports: [AppMediaComponent] -}) -export class AppMediaModule {} diff --git a/projects/demo/src/app/core/message/message-routing.module.ts b/projects/demo/src/app/core/message/message-routing.module.ts deleted file mode 100644 index ea8628ed63..0000000000 --- a/projects/demo/src/app/core/message/message-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppMessageComponent } from './message.component'; - -const routes: Routes = [ - { - path: 'message', - component: AppMessageComponent - } -]; - -export const AppMessageRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/core/message/message.component.ts b/projects/demo/src/app/core/message/message.component.ts index 6d9e6ff03f..482a78a002 100644 --- a/projects/demo/src/app/core/message/message.component.ts +++ b/projects/demo/src/app/core/message/message.component.ts @@ -1,11 +1,17 @@ import { Component } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; import { MessageService } from '@igo2/core'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-message', templateUrl: './message.component.html', - styleUrls: ['./message.component.scss'] + styleUrls: ['./message.component.scss'], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent, MatButtonModule] }) export class AppMessageComponent { constructor(private messageService: MessageService) {} diff --git a/projects/demo/src/app/core/message/message.module.ts b/projects/demo/src/app/core/message/message.module.ts deleted file mode 100644 index 1386f76f00..0000000000 --- a/projects/demo/src/app/core/message/message.module.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoMessageModule } from '@igo2/core'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppMessageRoutingModule } from './message-routing.module'; -import { AppMessageComponent } from './message.component'; - -@NgModule({ - declarations: [AppMessageComponent], - imports: [AppMessageRoutingModule, SharedModule, IgoMessageModule.forRoot()], - exports: [AppMessageComponent] -}) -export class AppMessageModule {} diff --git a/projects/demo/src/app/core/monitoring/monitoring-routing.module.ts b/projects/demo/src/app/core/monitoring/monitoring-routing.module.ts deleted file mode 100644 index 73f8183e8c..0000000000 --- a/projects/demo/src/app/core/monitoring/monitoring-routing.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Routes, RouterModule } from '@angular/router'; -import { MonitoringComponent } from './monitoring.component'; - -const routes: Routes = [ - { - path: 'monitoring', - component: MonitoringComponent - } -]; - -export const MonitoringRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/core/monitoring/monitoring.component.spec.ts b/projects/demo/src/app/core/monitoring/monitoring.component.spec.ts index a19b065b27..3d45314bdf 100644 --- a/projects/demo/src/app/core/monitoring/monitoring.component.spec.ts +++ b/projects/demo/src/app/core/monitoring/monitoring.component.spec.ts @@ -4,22 +4,20 @@ import { MONITORING_OPTIONS } from '@igo2/core'; import { MOCK_MONITORING_OPTIONS } from 'packages/core/src/lib/monitoring/__mocks__/monitoring-mock'; -import { SharedModule } from '../../shared/shared.module'; -import { MonitoringComponent } from './monitoring.component'; +import { AppMonitoringComponent } from './monitoring.component'; describe('MonitoringComponent', () => { - let component: MonitoringComponent; - let fixture: ComponentFixture; + let component: AppMonitoringComponent; + let fixture: ComponentFixture; beforeEach(() => { TestBed.configureTestingModule({ - imports: [SharedModule], - declarations: [MonitoringComponent], + imports: [AppMonitoringComponent], providers: [ { provide: MONITORING_OPTIONS, useValue: MOCK_MONITORING_OPTIONS } ] }); - fixture = TestBed.createComponent(MonitoringComponent); + fixture = TestBed.createComponent(AppMonitoringComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/projects/demo/src/app/core/monitoring/monitoring.component.ts b/projects/demo/src/app/core/monitoring/monitoring.component.ts index 42b4f4d558..1676d92f0c 100644 --- a/projects/demo/src/app/core/monitoring/monitoring.component.ts +++ b/projects/demo/src/app/core/monitoring/monitoring.component.ts @@ -1,15 +1,32 @@ import { JsonPipe } from '@angular/common'; import { Component, Inject } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; -import { AnyMonitoringOptions, MONITORING_OPTIONS } from '@igo2/core'; +import { provideAuthUserMonitoring } from '@igo2/auth'; +import { + AnyMonitoringOptions, + MONITORING_OPTIONS, + provideMonitoring +} from '@igo2/core'; + +import { environment } from 'projects/demo/src/environments/environment'; + +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; @Component({ selector: 'app-monitoring', templateUrl: './monitoring.component.html', styleUrls: ['./monitoring.component.scss'], - providers: [JsonPipe] + providers: [ + JsonPipe, + ...provideMonitoring(environment.igo.monitoring), + ...provideAuthUserMonitoring(environment.igo.monitoring) + ], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent, MatButtonModule] }) -export class MonitoringComponent { +export class AppMonitoringComponent { exampleModuleCode: string = EXAMPLE_MODULE_PROVIDER; constructor( @Inject(MONITORING_OPTIONS) diff --git a/projects/demo/src/app/core/monitoring/monitoring.module.ts b/projects/demo/src/app/core/monitoring/monitoring.module.ts deleted file mode 100644 index 5d26a345f2..0000000000 --- a/projects/demo/src/app/core/monitoring/monitoring.module.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { provideMonitoring } from '@igo2/core'; - -import { environment } from 'demo/src/environments/environment'; -import { provideAuthUserMonitoring } from 'packages/auth/src/lib/auth-monitoring/auth-monitoring.provider'; - -import { SharedModule } from '../../shared/shared.module'; -import { MonitoringRoutingModule } from './monitoring-routing.module'; -import { MonitoringComponent } from './monitoring.component'; - -@NgModule({ - declarations: [MonitoringComponent], - imports: [SharedModule, MonitoringRoutingModule], - providers: [ - ...provideMonitoring(environment.igo.monitoring), - ...provideAuthUserMonitoring(environment.igo.monitoring) - ] -}) -export class MonitoringModule {} diff --git a/projects/demo/src/app/core/request/request-routing.module.ts b/projects/demo/src/app/core/request/request-routing.module.ts deleted file mode 100644 index 7a6c26b5e3..0000000000 --- a/projects/demo/src/app/core/request/request-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppRequestComponent } from './request.component'; - -const routes: Routes = [ - { - path: 'request', - component: AppRequestComponent - } -]; - -export const AppRequestRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/core/request/request.component.ts b/projects/demo/src/app/core/request/request.component.ts index b332f6669c..3c58c61c23 100644 --- a/projects/demo/src/app/core/request/request.component.ts +++ b/projects/demo/src/app/core/request/request.component.ts @@ -1,12 +1,24 @@ import { HttpClient } from '@angular/common/http'; import { Component } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; import { LanguageService } from '@igo2/core'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-request', templateUrl: './request.component.html', - styleUrls: ['./request.component.scss'] + styleUrls: ['./request.component.scss'], + standalone: true, + imports: [ + // IgoErrorModule, + // IgoLoggingModule, // Import in your root module or main.ts, only if you want register http calls in console + DocViewerComponent, + ExampleViewerComponent, + MatButtonModule + ] }) export class AppRequestComponent { constructor( diff --git a/projects/demo/src/app/core/request/request.module.ts b/projects/demo/src/app/core/request/request.module.ts deleted file mode 100644 index 17c811ebb8..0000000000 --- a/projects/demo/src/app/core/request/request.module.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { HttpClientModule } from '@angular/common/http'; -import { NgModule } from '@angular/core'; - -import { IgoErrorModule, IgoLanguageModule } from '@igo2/core'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppRequestRoutingModule } from './request-routing.module'; -import { AppRequestComponent } from './request.component'; - -@NgModule({ - declarations: [AppRequestComponent], - imports: [ - AppRequestRoutingModule, - SharedModule, - HttpClientModule, - IgoLanguageModule, - IgoErrorModule.forRoot() // Only if you want register errors from http call in console - // IgoLoggingModule.forRoot() // Only if you want register http calls in console - ], - exports: [AppRequestComponent] -}) -export class AppRequestModule {} diff --git a/projects/demo/src/app/core/theme/theme-routing.module.ts b/projects/demo/src/app/core/theme/theme-routing.module.ts deleted file mode 100644 index 12a398f5c0..0000000000 --- a/projects/demo/src/app/core/theme/theme-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppThemeComponent } from './theme.component'; - -const routes: Routes = [ - { - path: 'theme', - component: AppThemeComponent - } -]; - -export const AppRequestThemeModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/core/theme/theme.component.ts b/projects/demo/src/app/core/theme/theme.component.ts index 1f72e8cbcb..903b2061b9 100644 --- a/projects/demo/src/app/core/theme/theme.component.ts +++ b/projects/demo/src/app/core/theme/theme.component.ts @@ -1,13 +1,28 @@ +import { NgFor } from '@angular/common'; import { Component, Renderer2 } from '@angular/core'; -import { MatSelectChange } from '@angular/material/select'; +import { MatOptionModule } from '@angular/material/core'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatSelectChange, MatSelectModule } from '@angular/material/select'; import { LanguageService } from '@igo2/core'; import { loadTheme } from '@igo2/utils'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-theme', templateUrl: './theme.component.html', - styleUrls: ['./theme.component.scss'] + styleUrls: ['./theme.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + MatFormFieldModule, + MatSelectModule, + NgFor, + MatOptionModule + ] }) export class AppThemeComponent { isDark: boolean; diff --git a/projects/demo/src/app/core/theme/theme.module.ts b/projects/demo/src/app/core/theme/theme.module.ts deleted file mode 100644 index e6fd5c299d..0000000000 --- a/projects/demo/src/app/core/theme/theme.module.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { NgModule } from '@angular/core'; -import { MatSelectModule } from '@angular/material/select'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppRequestThemeModule } from './theme-routing.module'; -import { AppThemeComponent } from './theme.component'; - -@NgModule({ - declarations: [AppThemeComponent], - imports: [AppRequestThemeModule, SharedModule, MatSelectModule], - exports: [AppThemeComponent] -}) -export class AppThemeModule {} diff --git a/projects/demo/src/app/geo/catalog/catalog-routing.module.ts b/projects/demo/src/app/geo/catalog/catalog-routing.module.ts deleted file mode 100644 index 1b8ded11e6..0000000000 --- a/projects/demo/src/app/geo/catalog/catalog-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppCatalogComponent } from './catalog.component'; - -const routes: Routes = [ - { - path: 'catalog', - component: AppCatalogComponent - } -]; - -export const AppCatalogRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/catalog/catalog.component.ts b/projects/demo/src/app/geo/catalog/catalog.component.ts index bdc49e69aa..22c9f595a9 100644 --- a/projects/demo/src/app/geo/catalog/catalog.component.ts +++ b/projects/demo/src/app/geo/catalog/catalog.component.ts @@ -1,12 +1,15 @@ import { Component, OnInit } from '@angular/core'; -import { EntityRecord, EntityStore } from '@igo2/common'; +import { EntityRecord, EntityStore, IgoPanelModule } from '@igo2/common'; import { StorageService } from '@igo2/core'; import { Catalog, CatalogItem, CatalogService, + IgoCatalogBrowserModule, + IgoCatalogLibraryModule, IgoMap, + IgoMapModule, LayerOptions, LayerService, MapService, @@ -14,10 +17,22 @@ import { TileLayer } from '@igo2/geo'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-catalog', templateUrl: './catalog.component.html', - styleUrls: ['./catalog.component.scss'] + styleUrls: ['./catalog.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + IgoMapModule, + IgoPanelModule, + IgoCatalogLibraryModule, + IgoCatalogBrowserModule + ] }) export class AppCatalogComponent implements OnInit { catalog: Catalog; diff --git a/projects/demo/src/app/geo/catalog/catalog.module.ts b/projects/demo/src/app/geo/catalog/catalog.module.ts deleted file mode 100644 index 7eb2322da3..0000000000 --- a/projects/demo/src/app/geo/catalog/catalog.module.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoPanelModule } from '@igo2/common'; -import { IgoConfigModule, provideConfigOptions } from '@igo2/core'; -import { IgoCatalogModule, IgoMapModule } from '@igo2/geo'; - -import { environment } from '../../../environments/environment'; -import { SharedModule } from '../../shared/shared.module'; -import { AppCatalogRoutingModule } from './catalog-routing.module'; -import { AppCatalogComponent } from './catalog.component'; - -@NgModule({ - declarations: [AppCatalogComponent], - imports: [ - SharedModule, - AppCatalogRoutingModule, - IgoConfigModule, - IgoPanelModule, - IgoMapModule, - IgoCatalogModule - ], - exports: [AppCatalogComponent], - providers: [ - provideConfigOptions({ - default: environment.igo - }) - ] -}) -export class AppCatalogModule {} diff --git a/projects/demo/src/app/geo/directions/directions-routing.module.ts b/projects/demo/src/app/geo/directions/directions-routing.module.ts deleted file mode 100644 index 20613010eb..0000000000 --- a/projects/demo/src/app/geo/directions/directions-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppDirectionsComponent } from './directions.component'; - -const routes: Routes = [ - { - path: 'directions', - component: AppDirectionsComponent - } -]; - -export const AppDirectionsRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/directions/directions.component.ts b/projects/demo/src/app/geo/directions/directions.component.ts index 923af55542..ea3ccb972f 100644 --- a/projects/demo/src/app/geo/directions/directions.component.ts +++ b/projects/demo/src/app/geo/directions/directions.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; +import { MatGridListModule } from '@angular/material/grid-list'; import { + IgoDirectionsModule, IgoMap, + IgoMapModule, + IgoSearchModule, LayerOptions, LayerService, MapService, @@ -15,10 +19,22 @@ import { import { Subject } from 'rxjs'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-directions', templateUrl: './directions.component.html', - styleUrls: ['./directions.component.scss'] + styleUrls: ['./directions.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + MatGridListModule, + IgoMapModule, + IgoDirectionsModule, + IgoSearchModule + ] }) export class AppDirectionsComponent { public map: IgoMap = new IgoMap({ diff --git a/projects/demo/src/app/geo/directions/directions.module.ts b/projects/demo/src/app/geo/directions/directions.module.ts deleted file mode 100644 index fd604a993b..0000000000 --- a/projects/demo/src/app/geo/directions/directions.module.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoMessageModule } from '@igo2/core'; -import { - IgoDirectionsModule, - IgoMapModule, - provideOsrmDirectionsSource -} from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppDirectionsRoutingModule } from './directions-routing.module'; -import { AppDirectionsComponent } from './directions.component'; - -@NgModule({ - declarations: [AppDirectionsComponent], - imports: [ - AppDirectionsRoutingModule, - SharedModule, - IgoMessageModule, - IgoMapModule, - IgoDirectionsModule - ], - exports: [AppDirectionsComponent], - providers: [provideOsrmDirectionsSource()] -}) -export class AppDirectionsModule {} diff --git a/projects/demo/src/app/geo/draw/draw-routing.module.ts b/projects/demo/src/app/geo/draw/draw-routing.module.ts deleted file mode 100644 index 528a6d7898..0000000000 --- a/projects/demo/src/app/geo/draw/draw-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppDrawComponent } from './draw.component'; - -const routes: Routes = [ - { - path: 'draw', - component: AppDrawComponent - } -]; - -export const AppDrawRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/draw/draw.component.ts b/projects/demo/src/app/geo/draw/draw.component.ts index e38392cf26..bf2b637ffb 100644 --- a/projects/demo/src/app/geo/draw/draw.component.ts +++ b/projects/demo/src/app/geo/draw/draw.component.ts @@ -4,7 +4,9 @@ import { DataSourceService, FeatureStore, FeatureWithDraw, + IgoDrawModule, IgoMap, + IgoMapModule, LayerOptions, LayerService, MapService, @@ -13,10 +15,20 @@ import { OSMDataSourceOptions } from '@igo2/geo'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-draw', templateUrl: './draw.component.html', - styleUrls: ['./draw.component.scss'] + styleUrls: ['./draw.component.scss'], + standalone: true, + imports: [ + IgoMapModule, + IgoDrawModule, + DocViewerComponent, + ExampleViewerComponent + ] }) export class AppDrawComponent { public map: IgoMap = new IgoMap({ diff --git a/projects/demo/src/app/geo/draw/draw.module.ts b/projects/demo/src/app/geo/draw/draw.module.ts index 86acae0317..b2109b6dae 100644 --- a/projects/demo/src/app/geo/draw/draw.module.ts +++ b/projects/demo/src/app/geo/draw/draw.module.ts @@ -1,14 +1,24 @@ import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; import { IgoDrawModule, IgoMapModule } from '@igo2/geo'; -import { SharedModule } from '../../shared/shared.module'; -import { AppDrawRoutingModule } from './draw-routing.module'; import { AppDrawComponent } from './draw.component'; @NgModule({ - declarations: [AppDrawComponent], - imports: [AppDrawRoutingModule, SharedModule, IgoMapModule, IgoDrawModule], - exports: [AppDrawComponent] + imports: [ + RouterModule.forChild([ + { + path: '', + component: AppDrawComponent + } + ]) + ], + exports: [RouterModule] +}) +class RoutingModule {} + +@NgModule({ + imports: [IgoMapModule, IgoDrawModule, AppDrawComponent, RoutingModule] }) export class AppDrawModule {} diff --git a/projects/demo/src/app/geo/feature/feature-routing.module.ts b/projects/demo/src/app/geo/feature/feature-routing.module.ts deleted file mode 100644 index be5210959b..0000000000 --- a/projects/demo/src/app/geo/feature/feature-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppFeatureComponent } from './feature.component'; - -const routes: Routes = [ - { - path: 'feature', - component: AppFeatureComponent - } -]; - -export const AppFeatureRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/feature/feature.component.ts b/projects/demo/src/app/geo/feature/feature.component.ts index f978e2e1bc..b27682f5fd 100644 --- a/projects/demo/src/app/geo/feature/feature.component.ts +++ b/projects/demo/src/app/geo/feature/feature.component.ts @@ -1,6 +1,6 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; -import { EntityTableTemplate } from '@igo2/common'; +import { EntityTableTemplate, IgoEntityTableModule } from '@igo2/common'; import { DataSourceService, FeatureDataSource, @@ -10,6 +10,7 @@ import { FeatureStoreLoadingStrategy, FeatureStoreSelectionStrategy, IgoMap, + IgoMapModule, LayerOptions, LayerService, MapViewOptions, @@ -18,10 +19,20 @@ import { VectorLayer } from '@igo2/geo'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-feature', templateUrl: './feature.component.html', - styleUrls: ['./feature.component.scss'] + styleUrls: ['./feature.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + IgoMapModule, + IgoEntityTableModule + ] }) export class AppFeatureComponent implements OnInit, OnDestroy { public map: IgoMap = new IgoMap({ @@ -65,13 +76,15 @@ export class AppFeatureComponent implements OnInit, OnDestroy { ) {} ngOnInit(): void { - const loadingStrategy: FeatureStoreLoadingStrategy = new FeatureStoreLoadingStrategy({}); + const loadingStrategy: FeatureStoreLoadingStrategy = + new FeatureStoreLoadingStrategy({}); this.store.addStrategy(loadingStrategy); - const selectionStrategy: FeatureStoreSelectionStrategy = new FeatureStoreSelectionStrategy({ - map: this.map, - motion: FeatureMotion.Default - }); + const selectionStrategy: FeatureStoreSelectionStrategy = + new FeatureStoreSelectionStrategy({ + map: this.map, + motion: FeatureMotion.Default + }); this.store.addStrategy(selectionStrategy); this.store.load([ diff --git a/projects/demo/src/app/geo/feature/feature.module.ts b/projects/demo/src/app/geo/feature/feature.module.ts deleted file mode 100644 index 5b938531f3..0000000000 --- a/projects/demo/src/app/geo/feature/feature.module.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoEntityTableModule, IgoPanelModule } from '@igo2/common'; -import { IgoFeatureModule, IgoMapModule } from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppFeatureRoutingModule } from './feature-routing.module'; -import { AppFeatureComponent } from './feature.component'; - -@NgModule({ - declarations: [AppFeatureComponent], - imports: [ - SharedModule, - AppFeatureRoutingModule, - IgoPanelModule, - IgoEntityTableModule, - IgoMapModule, - IgoFeatureModule - ], - exports: [AppFeatureComponent] -}) -export class AppFeatureModule {} diff --git a/projects/demo/src/app/geo/geo.routing.ts b/projects/demo/src/app/geo/geo.routing.ts new file mode 100644 index 0000000000..134e6b798d --- /dev/null +++ b/projects/demo/src/app/geo/geo.routing.ts @@ -0,0 +1,120 @@ +import { Routes } from '@angular/router'; + +import { AppCatalogComponent } from './catalog/catalog.component'; +import { AppDirectionsComponent } from './directions/directions.component'; +import { AppFeatureComponent } from './feature/feature.component'; +import { AppGeometryComponent } from './geometry/geometry.component'; +import { AppHoverComponent } from './hover/hover.component'; +import { AppImportExportComponent } from './import-export/import-export.component'; +import { AppLayerComponent } from './layer/layer.component'; +import { AppLegendComponent } from './legend/legend.component'; +import { AppMeasureComponent } from './measure/measure.component'; +import { AppOgcFilterComponent } from './ogc-filter/ogc-filter.component'; +import { AppOverlayComponent } from './overlay/overlay.component'; +import { AppPrintComponent } from './print/print.component'; +import { AppQueryComponent } from './query/query.component'; +import { AppSearchComponent } from './search/search.component'; +import { AppSimpleMapComponent } from './simple-map/simple-map.component'; +import { AppSpatialFilterComponent } from './spatial-filter/spatial-filter.component'; +import { AppTimeFilterComponent } from './time-filter/time-filter.component'; +import { AppWorkspaceComponent } from './workspace/workspace.component'; + +export const routes: Routes = [ + { path: '', redirectTo: 'activity', pathMatch: 'full' }, + { + title: 'Simple map', + path: 'simple-map', + component: AppSimpleMapComponent + }, + { + title: 'Layer', + path: 'layer', + component: AppLayerComponent + }, + { + title: 'Legend', + path: 'legend', + component: AppLegendComponent + }, + { + title: 'Overlay', + path: 'overlay', + component: AppOverlayComponent + }, + { + title: 'Geometry', + path: 'geometry', + component: AppGeometryComponent + }, + { + title: 'Feature', + path: 'feature', + component: AppFeatureComponent + }, + { + title: 'Hover', + path: 'hover', + component: AppHoverComponent + }, + { + title: 'Measure', + path: 'measure', + component: AppMeasureComponent + }, + { + title: 'Draw', + path: 'draw', + loadChildren: () => + import('./draw/draw.module').then((m) => m.AppDrawModule) + }, + { + title: 'Query', + path: 'query', + component: AppQueryComponent + }, + { + title: 'Catalog', + path: 'catalog', + component: AppCatalogComponent + }, + { + title: 'Search', + path: 'search', + component: AppSearchComponent + }, + { + title: 'Print', + path: 'print', + component: AppPrintComponent + }, + { + title: 'Import/Export', + path: 'import-export', + component: AppImportExportComponent + }, + { + title: 'Directions', + path: 'directions', + component: AppDirectionsComponent + }, + { + title: 'Time Filter', + path: 'time-filter', + component: AppTimeFilterComponent + }, + { + title: 'OGC Filter', + path: 'ogc-filter', + component: AppOgcFilterComponent + }, + { + title: 'Spatial Filter', + path: 'spatial-filter', + component: AppSpatialFilterComponent + }, + { + title: 'Workspace', + path: 'workspace', + component: AppWorkspaceComponent + } +]; diff --git a/projects/demo/src/app/geo/geometry/geometry-routing.module.ts b/projects/demo/src/app/geo/geometry/geometry-routing.module.ts deleted file mode 100644 index 9510d86a97..0000000000 --- a/projects/demo/src/app/geo/geometry/geometry-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppGeometryComponent } from './geometry.component'; - -const routes: Routes = [ - { - path: 'geometry', - component: AppGeometryComponent - } -]; - -export const AppGeometryRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/geometry/geometry.component.ts b/projects/demo/src/app/geo/geometry/geometry.component.ts index 83dd5a920a..85f9310dad 100644 --- a/projects/demo/src/app/geo/geometry/geometry.component.ts +++ b/projects/demo/src/app/geo/geometry/geometry.component.ts @@ -1,17 +1,49 @@ +import { AsyncPipe, NgIf } from '@angular/common'; import { Component, OnDestroy, OnInit } from '@angular/core'; import { Validators } from '@angular/forms'; - -import { Form, FormField, FormFieldConfig, FormService } from '@igo2/common'; -import { DataSourceService, IgoMap, LayerOptions, LayerService, MapViewOptions, OSMDataSource, OSMDataSourceOptions } from '@igo2/geo'; +import { MatButtonModule } from '@angular/material/button'; + +import { + Form, + FormField, + FormFieldConfig, + FormService, + IgoFormFormModule, + IgoFormGroupModule +} from '@igo2/common'; +import { + DataSourceService, + IgoMap, + IgoMapModule, + LayerOptions, + LayerService, + MapViewOptions, + OSMDataSource, + OSMDataSourceOptions +} from '@igo2/geo'; import * as olstyle from 'ol/style'; import { BehaviorSubject, Subscription } from 'rxjs'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-geometry', templateUrl: './geometry.component.html', - styleUrls: ['./geometry.component.scss'] + styleUrls: ['./geometry.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + IgoMapModule, + NgIf, + IgoFormFormModule, + IgoFormGroupModule, + MatButtonModule, + AsyncPipe + ] }) export class AppGeometryComponent implements OnInit, OnDestroy { map: IgoMap = new IgoMap({ @@ -102,7 +134,9 @@ export class AppGeometryComponent implements OnInit, OnDestroy { } ]; - const fields: FormField[] = fieldConfigs.map((config: FormFieldConfig) => this.formService.field(config)); + const fields: FormField[] = fieldConfigs.map((config: FormFieldConfig) => + this.formService.field(config) + ); const form: Form = this.formService.form( [], [this.formService.group({ name: 'info' }, fields)] diff --git a/projects/demo/src/app/geo/geometry/geometry.module.ts b/projects/demo/src/app/geo/geometry/geometry.module.ts deleted file mode 100644 index f068b7865a..0000000000 --- a/projects/demo/src/app/geo/geometry/geometry.module.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoFormModule } from '@igo2/common'; -import { IgoGeometryModule, IgoMapModule } from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppGeometryRoutingModule } from './geometry-routing.module'; -import { AppGeometryComponent } from './geometry.component'; - -@NgModule({ - declarations: [AppGeometryComponent], - imports: [ - SharedModule, - AppGeometryRoutingModule, - IgoFormModule, - IgoGeometryModule, - IgoMapModule - ], - exports: [AppGeometryComponent] -}) -export class AppGeometryModule {} diff --git a/projects/demo/src/app/geo/hover/hover-routing.module.ts b/projects/demo/src/app/geo/hover/hover-routing.module.ts deleted file mode 100644 index 61e686d2f6..0000000000 --- a/projects/demo/src/app/geo/hover/hover-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppHoverComponent } from './hover.component'; - -const routes: Routes = [ - { - path: 'hover', - component: AppHoverComponent - } -]; - -export const AppHoverRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/hover/hover.component.ts b/projects/demo/src/app/geo/hover/hover.component.ts index 3be0978187..3f6e07b730 100644 --- a/projects/demo/src/app/geo/hover/hover.component.ts +++ b/projects/demo/src/app/geo/hover/hover.component.ts @@ -4,6 +4,7 @@ import { Media, MediaService } from '@igo2/core'; import { DataSourceService, IgoMap, + IgoMapModule, LayerService, MapViewOptions, TileLayer, @@ -13,10 +14,15 @@ import { WFSDataSourceOptions } from '@igo2/geo'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-hover', templateUrl: './hover.component.html', - styleUrls: ['./hover.component.scss'] + styleUrls: ['./hover.component.scss'], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent, IgoMapModule] }) export class AppHoverComponent { public pointerCoordDelay: number = 0; diff --git a/projects/demo/src/app/geo/hover/hover.module.ts b/projects/demo/src/app/geo/hover/hover.module.ts deleted file mode 100644 index adb38d0d92..0000000000 --- a/projects/demo/src/app/geo/hover/hover.module.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoMapModule } from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppHoverRoutingModule } from './hover-routing.module'; -import { AppHoverComponent } from './hover.component'; - -@NgModule({ - declarations: [AppHoverComponent], - imports: [SharedModule, AppHoverRoutingModule, IgoMapModule], - exports: [AppHoverComponent] -}) -export class AppHoverModule {} diff --git a/projects/demo/src/app/geo/import-export/import-export-routing.module.ts b/projects/demo/src/app/geo/import-export/import-export-routing.module.ts deleted file mode 100644 index dfa84c37db..0000000000 --- a/projects/demo/src/app/geo/import-export/import-export-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppImportExportComponent } from './import-export.component'; - -const routes: Routes = [ - { - path: 'import-export', - component: AppImportExportComponent - } -]; - -export const AppImportExportRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/import-export/import-export.component.ts b/projects/demo/src/app/geo/import-export/import-export.component.ts index 376a7a2815..8d012aff0a 100644 --- a/projects/demo/src/app/geo/import-export/import-export.component.ts +++ b/projects/demo/src/app/geo/import-export/import-export.component.ts @@ -1,18 +1,32 @@ import { Component } from '@angular/core'; +import { MatGridListModule } from '@angular/material/grid-list'; import { WorkspaceStore } from '@igo2/common'; import { + IgoImportExportModule, IgoMap, + IgoMapModule, LayerOptions, LayerService, MapViewOptions, TileLayer } from '@igo2/geo'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-import-export', templateUrl: './import-export.component.html', - styleUrls: ['./import-export.component.scss'] + styleUrls: ['./import-export.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + MatGridListModule, + IgoMapModule, + IgoImportExportModule + ] }) export class AppImportExportComponent { public map: IgoMap = new IgoMap({ diff --git a/projects/demo/src/app/geo/import-export/import-export.module.ts b/projects/demo/src/app/geo/import-export/import-export.module.ts deleted file mode 100644 index 22d3a4c36e..0000000000 --- a/projects/demo/src/app/geo/import-export/import-export.module.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoMessageModule } from '@igo2/core'; -import { - IgoImportExportModule, - IgoMapModule, - IgoStyleModule, - provideStyleListOptions -} from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppImportExportRoutingModule } from './import-export-routing.module'; -import { AppImportExportComponent } from './import-export.component'; - -@NgModule({ - declarations: [AppImportExportComponent], - imports: [ - AppImportExportRoutingModule, - SharedModule, - IgoMessageModule, - IgoMapModule, - IgoStyleModule, - IgoImportExportModule - ], - exports: [AppImportExportComponent], - providers: [ - provideStyleListOptions({ - path: './assets/import-style.json' - }) - ] -}) -export class AppImportExport {} diff --git a/projects/demo/src/app/geo/layer/layer-routing.module.ts b/projects/demo/src/app/geo/layer/layer-routing.module.ts deleted file mode 100644 index abad2ba96f..0000000000 --- a/projects/demo/src/app/geo/layer/layer-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppLayerComponent } from './layer.component'; - -const routes: Routes = [ - { - path: 'layer', - component: AppLayerComponent - } -]; - -export const AppLayerRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/layer/layer.component.ts b/projects/demo/src/app/geo/layer/layer.component.ts index d225fd6732..4563ef80a6 100644 --- a/projects/demo/src/app/geo/layer/layer.component.ts +++ b/projects/demo/src/app/geo/layer/layer.component.ts @@ -1,9 +1,16 @@ import { Component } from '@angular/core'; +import { MatGridListModule } from '@angular/material/grid-list'; +import { IgoPanelModule } from '@igo2/common'; import { DataSourceService, FeatureDataSource, + IgoDownloadModule, + IgoFilterModule, + IgoLayerModule, IgoMap, + IgoMapModule, + IgoMetadataModule, ImageLayer, ImageLayerOptions, LayerOptions, @@ -19,10 +26,25 @@ import { WMSDataSourceOptions } from '@igo2/geo'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-layer', templateUrl: './layer.component.html', - styleUrls: ['./layer.component.scss'] + styleUrls: ['./layer.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + MatGridListModule, + IgoMapModule, + IgoPanelModule, + IgoLayerModule, + IgoMetadataModule, + IgoDownloadModule, + IgoFilterModule + ] }) export class AppLayerComponent { public map: IgoMap = new IgoMap({ diff --git a/projects/demo/src/app/geo/layer/layer.module.ts b/projects/demo/src/app/geo/layer/layer.module.ts deleted file mode 100644 index fd32077d63..0000000000 --- a/projects/demo/src/app/geo/layer/layer.module.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { NgModule } from '@angular/core'; -import { MatButtonModule } from '@angular/material/button'; -import { MatCardModule } from '@angular/material/card'; -import { MatIconModule } from '@angular/material/icon'; - -import { IgoPanelModule } from '@igo2/common'; -import { - IgoDownloadModule, - IgoFilterModule, - IgoLayerModule, - IgoMapModule, - IgoMetadataModule -} from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppLayerRoutingModule } from './layer-routing.module'; -import { AppLayerComponent } from './layer.component'; - -@NgModule({ - declarations: [AppLayerComponent], - imports: [ - SharedModule, - AppLayerRoutingModule, - MatCardModule, - MatButtonModule, - MatIconModule, - IgoPanelModule, - IgoMapModule, - IgoLayerModule, - IgoFilterModule, - IgoMetadataModule, - IgoDownloadModule - ], - exports: [AppLayerComponent] -}) -export class AppLayerModule {} diff --git a/projects/demo/src/app/geo/legend/legend-routing.module.ts b/projects/demo/src/app/geo/legend/legend-routing.module.ts deleted file mode 100644 index 7752301e01..0000000000 --- a/projects/demo/src/app/geo/legend/legend-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppLegendComponent } from './legend.component'; - -const routes: Routes = [ - { - path: 'legend', - component: AppLegendComponent - } -]; - -export const AppLegendRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/legend/legend.component.ts b/projects/demo/src/app/geo/legend/legend.component.ts index 0e0436b21b..e464fd382b 100644 --- a/projects/demo/src/app/geo/legend/legend.component.ts +++ b/projects/demo/src/app/geo/legend/legend.component.ts @@ -1,8 +1,11 @@ import { Component } from '@angular/core'; +import { IgoPanelModule } from '@igo2/common'; import { DataSourceService, + IgoLayerModule, IgoMap, + IgoMapModule, ImageLayer, ImageLayerOptions, LayerOptions, @@ -15,10 +18,21 @@ import { WMSDataSourceOptions } from '@igo2/geo'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-legend', templateUrl: './legend.component.html', - styleUrls: ['./legend.component.scss'] + styleUrls: ['./legend.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + IgoMapModule, + IgoPanelModule, + IgoLayerModule + ] }) export class AppLegendComponent { public map: IgoMap = new IgoMap({ diff --git a/projects/demo/src/app/geo/legend/legend.module.ts b/projects/demo/src/app/geo/legend/legend.module.ts deleted file mode 100644 index 81e2b93a49..0000000000 --- a/projects/demo/src/app/geo/legend/legend.module.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { NgModule } from '@angular/core'; -import { MatButtonModule } from '@angular/material/button'; -import { MatCardModule } from '@angular/material/card'; -import { MatIconModule } from '@angular/material/icon'; - -import { IgoPanelModule } from '@igo2/common'; -import { - IgoDownloadModule, - IgoFilterModule, - IgoLayerModule, - IgoMapModule, - IgoMetadataModule -} from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppLegendRoutingModule } from './legend-routing.module'; -import { AppLegendComponent } from './legend.component'; - -@NgModule({ - declarations: [AppLegendComponent], - imports: [ - SharedModule, - AppLegendRoutingModule, - MatCardModule, - MatButtonModule, - MatIconModule, - IgoPanelModule, - IgoMapModule, - IgoLayerModule, - IgoFilterModule, - IgoMetadataModule, - IgoDownloadModule - ], - exports: [AppLegendComponent] -}) -export class AppLegendModule {} diff --git a/projects/demo/src/app/geo/measure/measure-routing.module.ts b/projects/demo/src/app/geo/measure/measure-routing.module.ts deleted file mode 100644 index a2c96453a0..0000000000 --- a/projects/demo/src/app/geo/measure/measure-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppMeasureComponent } from './measure.component'; - -const routes: Routes = [ - { - path: 'measure', - component: AppMeasureComponent - } -]; - -export const AppMeasureRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/measure/measure.component.ts b/projects/demo/src/app/geo/measure/measure.component.ts index c984fe711b..4425de9b40 100644 --- a/projects/demo/src/app/geo/measure/measure.component.ts +++ b/projects/demo/src/app/geo/measure/measure.component.ts @@ -5,6 +5,8 @@ import { FeatureStore, FeatureWithMeasure, IgoMap, + IgoMapModule, + IgoMeasurerModule, LayerOptions, LayerService, MapViewOptions, @@ -12,10 +14,20 @@ import { OSMDataSourceOptions } from '@igo2/geo'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-measure', templateUrl: './measure.component.html', - styleUrls: ['./measure.component.scss'] + styleUrls: ['./measure.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + IgoMapModule, + IgoMeasurerModule + ] }) export class AppMeasureComponent { public map: IgoMap = new IgoMap({ @@ -33,7 +45,9 @@ export class AppMeasureComponent { projection: 'EPSG:3857' }; - public store: FeatureStore = new FeatureStore([], { map: this.map }); + public store: FeatureStore = new FeatureStore([], { + map: this.map + }); constructor( private dataSourceService: DataSourceService, diff --git a/projects/demo/src/app/geo/measure/measure.module.ts b/projects/demo/src/app/geo/measure/measure.module.ts deleted file mode 100644 index 8a591b6503..0000000000 --- a/projects/demo/src/app/geo/measure/measure.module.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoMapModule, IgoMeasureModule } from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppMeasureRoutingModule } from './measure-routing.module'; -import { AppMeasureComponent } from './measure.component'; - -@NgModule({ - declarations: [AppMeasureComponent], - imports: [ - AppMeasureRoutingModule, - SharedModule, - IgoMapModule, - IgoMeasureModule - ], - exports: [AppMeasureComponent] -}) -export class AppMeasureModule {} diff --git a/projects/demo/src/app/geo/ogc-filter/ogc-filter-routing.module.ts b/projects/demo/src/app/geo/ogc-filter/ogc-filter-routing.module.ts deleted file mode 100644 index 7e03b0c805..0000000000 --- a/projects/demo/src/app/geo/ogc-filter/ogc-filter-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppOgcFilterComponent } from './ogc-filter.component'; - -const routes: Routes = [ - { - path: 'ogc-filter', - component: AppOgcFilterComponent - } -]; - -export const AppOgcFilterRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/ogc-filter/ogc-filter.component.ts b/projects/demo/src/app/geo/ogc-filter/ogc-filter.component.ts index 8150a6ad79..eb4be30de3 100644 --- a/projects/demo/src/app/geo/ogc-filter/ogc-filter.component.ts +++ b/projects/demo/src/app/geo/ogc-filter/ogc-filter.component.ts @@ -1,9 +1,13 @@ import { Component } from '@angular/core'; +import { MatGridListModule } from '@angular/material/grid-list'; +import { IgoPanelModule } from '@igo2/common'; import { AnyBaseOgcFilterOptions, DataSourceService, + IgoFilterModule, IgoMap, + IgoMapModule, ImageLayerOptions, LayerOptions, LayerService, @@ -25,10 +29,22 @@ import { import { Circle, Fill, Stroke, Style } from 'ol/style'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-ogc-filter', templateUrl: './ogc-filter.component.html', - styleUrls: ['./ogc-filter.component.scss'] + styleUrls: ['./ogc-filter.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + MatGridListModule, + IgoMapModule, + IgoPanelModule, + IgoFilterModule + ] }) export class AppOgcFilterComponent { public map: IgoMap = new IgoMap({ diff --git a/projects/demo/src/app/geo/ogc-filter/ogc-filter.module.ts b/projects/demo/src/app/geo/ogc-filter/ogc-filter.module.ts deleted file mode 100644 index de7859d6a8..0000000000 --- a/projects/demo/src/app/geo/ogc-filter/ogc-filter.module.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoPanelModule } from '@igo2/common'; -import { IgoFilterModule, IgoMapModule } from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppOgcFilterRoutingModule } from './ogc-filter-routing.module'; -import { AppOgcFilterComponent } from './ogc-filter.component'; - -@NgModule({ - declarations: [AppOgcFilterComponent], - imports: [ - AppOgcFilterRoutingModule, - SharedModule, - IgoPanelModule, - IgoMapModule, - IgoFilterModule - ], - exports: [AppOgcFilterComponent] -}) -export class AppOgcFilterModule {} diff --git a/projects/demo/src/app/geo/overlay/overlay-routing.module.ts b/projects/demo/src/app/geo/overlay/overlay-routing.module.ts deleted file mode 100644 index 60fe7bcae9..0000000000 --- a/projects/demo/src/app/geo/overlay/overlay-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppOverlayComponent } from './overlay.component'; - -const routes: Routes = [ - { - path: 'overlay', - component: AppOverlayComponent - } -]; - -export const AppOverlayRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/overlay/overlay.component.ts b/projects/demo/src/app/geo/overlay/overlay.component.ts index b5a632adad..f84a2548b6 100644 --- a/projects/demo/src/app/geo/overlay/overlay.component.ts +++ b/projects/demo/src/app/geo/overlay/overlay.component.ts @@ -6,6 +6,7 @@ import { Feature, FeatureMotion, IgoMap, + IgoMapModule, LayerOptions, LayerService, MapViewOptions, @@ -13,10 +14,15 @@ import { OSMDataSourceOptions } from '@igo2/geo'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-overlay', templateUrl: './overlay.component.html', - styleUrls: ['./overlay.component.scss'] + styleUrls: ['./overlay.component.scss'], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent, IgoMapModule] }) export class AppOverlayComponent implements OnInit, AfterViewInit { public map: IgoMap = new IgoMap({ diff --git a/projects/demo/src/app/geo/overlay/overlay.module.ts b/projects/demo/src/app/geo/overlay/overlay.module.ts deleted file mode 100644 index f1561b6186..0000000000 --- a/projects/demo/src/app/geo/overlay/overlay.module.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoMapModule, IgoOverlayModule } from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppOverlayRoutingModule } from './overlay-routing.module'; -import { AppOverlayComponent } from './overlay.component'; - -@NgModule({ - declarations: [AppOverlayComponent], - imports: [ - SharedModule, - AppOverlayRoutingModule, - IgoMapModule, - IgoOverlayModule - ], - exports: [AppOverlayComponent] -}) -export class AppOverlayModule {} diff --git a/projects/demo/src/app/geo/print/print-routing.module.ts b/projects/demo/src/app/geo/print/print-routing.module.ts deleted file mode 100644 index 5b4e3765ea..0000000000 --- a/projects/demo/src/app/geo/print/print-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppPrintComponent } from './print.component'; - -const routes: Routes = [ - { - path: 'print', - component: AppPrintComponent - } -]; - -export const AppPrintRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/print/print.component.ts b/projects/demo/src/app/geo/print/print.component.ts index 1e6faf6311..97c4108952 100644 --- a/projects/demo/src/app/geo/print/print.component.ts +++ b/projects/demo/src/app/geo/print/print.component.ts @@ -1,7 +1,10 @@ import { Component } from '@angular/core'; +import { MatGridListModule } from '@angular/material/grid-list'; import { IgoMap, + IgoMapModule, + IgoPrintModule, ImageLayer, ImageLayerOptions, LayerService, @@ -10,10 +13,21 @@ import { TileLayerOptions } from '@igo2/geo'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-print', templateUrl: './print.component.html', - styleUrls: ['./print.component.scss'] + styleUrls: ['./print.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + MatGridListModule, + IgoMapModule, + IgoPrintModule + ] }) export class AppPrintComponent { public map: IgoMap = new IgoMap({ diff --git a/projects/demo/src/app/geo/print/print.module.ts b/projects/demo/src/app/geo/print/print.module.ts deleted file mode 100644 index c740894f8e..0000000000 --- a/projects/demo/src/app/geo/print/print.module.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoMessageModule } from '@igo2/core'; -import { IgoMapModule, IgoPrintModule } from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppPrintRoutingModule } from './print-routing.module'; -import { AppPrintComponent } from './print.component'; - -@NgModule({ - declarations: [AppPrintComponent], - imports: [ - SharedModule, - AppPrintRoutingModule, - IgoMessageModule, - IgoMapModule, - IgoPrintModule - ], - exports: [AppPrintComponent] -}) -export class AppPrintModule {} diff --git a/projects/demo/src/app/geo/query/query-routing.module.ts b/projects/demo/src/app/geo/query/query-routing.module.ts deleted file mode 100644 index 4d4495d6fc..0000000000 --- a/projects/demo/src/app/geo/query/query-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppQueryComponent } from './query.component'; - -const routes: Routes = [ - { - path: 'query', - component: AppQueryComponent - } -]; - -export const AppQueryRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/query/query.component.ts b/projects/demo/src/app/geo/query/query.component.ts index f5c100087c..2de601540c 100644 --- a/projects/demo/src/app/geo/query/query.component.ts +++ b/projects/demo/src/app/geo/query/query.component.ts @@ -1,6 +1,7 @@ +import { AsyncPipe, NgFor, NgIf } from '@angular/common'; import { Component } from '@angular/core'; -import { getEntityTitle } from '@igo2/common'; +import { IgoPanelModule, getEntityTitle } from '@igo2/common'; import { DataSource, DataSourceService, @@ -8,7 +9,11 @@ import { FeatureDataSource, FeatureDataSourceOptions, FeatureMotion, + IgoFeatureDetailsModule, IgoMap, + IgoMapModule, + IgoOverlayModule, + IgoQueryModule, ImageLayer, ImageLayerOptions, LayerOptions, @@ -33,13 +38,31 @@ import * as olproj from 'ol/proj'; import { BehaviorSubject } from 'rxjs'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-query', templateUrl: './query.component.html', - styleUrls: ['./query.component.scss'] + styleUrls: ['./query.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + IgoMapModule, + IgoOverlayModule, + IgoQueryModule, + IgoPanelModule, + NgIf, + NgFor, + IgoFeatureDetailsModule, + AsyncPipe + ] }) export class AppQueryComponent { - public features$: BehaviorSubject = new BehaviorSubject([]); + public features$: BehaviorSubject = new BehaviorSubject( + [] + ); public map: IgoMap = new IgoMap({ controls: { diff --git a/projects/demo/src/app/geo/query/query.module.ts b/projects/demo/src/app/geo/query/query.module.ts deleted file mode 100644 index 5462fda2a1..0000000000 --- a/projects/demo/src/app/geo/query/query.module.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoPanelModule } from '@igo2/common'; -import { - IgoFeatureModule, - IgoMapModule, - IgoOverlayModule, - IgoQueryModule -} from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppQueryRoutingModule } from './query-routing.module'; -import { AppQueryComponent } from './query.component'; - -@NgModule({ - declarations: [AppQueryComponent], - imports: [ - AppQueryRoutingModule, - SharedModule, - IgoPanelModule, - IgoMapModule, - IgoOverlayModule, - IgoQueryModule, - IgoFeatureModule - ], - exports: [AppQueryComponent] -}) -export class AppQueryModule {} diff --git a/projects/demo/src/app/geo/search/search-routing.module.ts b/projects/demo/src/app/geo/search/search-routing.module.ts deleted file mode 100644 index a3fbc822e7..0000000000 --- a/projects/demo/src/app/geo/search/search-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppSearchComponent } from './search.component'; - -const routes: Routes = [ - { - path: 'search', - component: AppSearchComponent - } -]; - -export const AppSearchRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/search/search.component.ts b/projects/demo/src/app/geo/search/search.component.ts index a7b8c5d783..d94b4e4ec4 100644 --- a/projects/demo/src/app/geo/search/search.component.ts +++ b/projects/demo/src/app/geo/search/search.component.ts @@ -1,3 +1,4 @@ +import { NgIf } from '@angular/common'; import { Component, ElementRef, @@ -6,21 +7,35 @@ import { ViewChild } from '@angular/core'; -import { Action, ActionStore, EntityStore } from '@igo2/common'; +import { ActionStore, EntityStore } from '@igo2/common'; +import { + IgoActionbarModule, + IgoContextMenuModule, + IgoPanelModule +} from '@igo2/common'; import { MediaService, StorageService } from '@igo2/core'; import { FEATURE, Feature, FeatureMotion, GoogleLinks, + IgoFeatureDetailsModule, IgoMap, + IgoMapModule, + IgoSearchBarModule, + IgoSearchModule, + IgoSearchResultsModule, LayerOptions, LayerService, MapService, MapViewOptions, Research, SearchResult, - TileLayer + SearchService, + provideDefaultCoordinatesSearchResultFormatter, + provideDefaultIChercheSearchResultFormatter, + provideILayerSearchResultFormatter, + provideSearchSourceService } from '@igo2/geo'; import { SearchState } from '@igo2/integration'; @@ -30,10 +45,34 @@ import * as proj from 'ol/proj'; import { BehaviorSubject } from 'rxjs'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-search', templateUrl: './search.component.html', - styleUrls: ['./search.component.scss'] + styleUrls: ['./search.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + NgIf, + IgoMapModule, + IgoContextMenuModule, + IgoSearchModule, + IgoPanelModule, + IgoSearchBarModule, + IgoSearchResultsModule, + IgoFeatureDetailsModule, + IgoActionbarModule + ], + providers: [ + SearchService, + provideSearchSourceService(), + provideDefaultIChercheSearchResultFormatter(), + provideDefaultCoordinatesSearchResultFormatter(), + provideILayerSearchResultFormatter() + ] }) export class AppSearchComponent implements OnInit, OnDestroy { public store: ActionStore = new ActionStore([]); @@ -95,7 +134,7 @@ export class AppSearchComponent implements OnInit, OnDestroy { type: 'osm' } } satisfies LayerOptions) - .subscribe((layer: TileLayer) => this.map.addLayer(layer)); + .subscribe((layer) => this.map.addLayer(layer)); this.igoReverseSearchCoordsFormatEnabled = Boolean(this.storageService.get('reverseSearchCoordsFormatEnabled')) || @@ -181,7 +220,7 @@ export class AppSearchComponent implements OnInit, OnDestroy { title: 'googleStreetView', handler: () => this.openGoogleStreetView(this.lonlat) } - ] satisfies Action[]); + ]); } ngOnDestroy(): void { diff --git a/projects/demo/src/app/geo/search/search.module.ts b/projects/demo/src/app/geo/search/search.module.ts deleted file mode 100644 index 13e019f71c..0000000000 --- a/projects/demo/src/app/geo/search/search.module.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { - IgoActionbarModule, - IgoContextMenuModule, - IgoPanelModule -} from '@igo2/common'; -import { IgoMessageModule } from '@igo2/core'; -import { - IgoFeatureModule, - IgoMapModule, - IgoSearchModule, - provideCadastreSearchSource, - provideCoordinatesReverseSearchSource, - provideIChercheReverseSearchSource, - provideIChercheSearchSource, - provideILayerSearchSource, - provideNominatimSearchSource, - provideStoredQueriesReverseSearchSource, - provideStoredQueriesSearchSource, - provideWorkspaceSearchSource -} from '@igo2/geo'; -import { IgoAppSearchModule } from '@igo2/integration'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppSearchRoutingModule } from './search-routing.module'; -import { AppSearchComponent } from './search.component'; - -@NgModule({ - declarations: [AppSearchComponent], - imports: [ - SharedModule, - AppSearchRoutingModule, - IgoMessageModule.forRoot(), - IgoPanelModule, - IgoMapModule, - IgoSearchModule.forRoot(), - IgoAppSearchModule, - IgoActionbarModule, - IgoContextMenuModule, - IgoFeatureModule - ], - exports: [AppSearchComponent], - providers: [ - provideCoordinatesReverseSearchSource(), - provideCadastreSearchSource(), - provideIChercheSearchSource(), - provideWorkspaceSearchSource(), - provideILayerSearchSource(), - provideNominatimSearchSource(), - provideIChercheReverseSearchSource(), - provideStoredQueriesSearchSource(), - provideStoredQueriesReverseSearchSource() - ] -}) -export class AppSearchModule {} diff --git a/projects/demo/src/app/geo/simple-map/simple-map-routing.module.ts b/projects/demo/src/app/geo/simple-map/simple-map-routing.module.ts deleted file mode 100644 index 4165a7a88b..0000000000 --- a/projects/demo/src/app/geo/simple-map/simple-map-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppSimpleMapComponent } from './simple-map.component'; - -const routes: Routes = [ - { - path: 'simple-map', - component: AppSimpleMapComponent - } -]; - -export const AppSimpleMapRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/simple-map/simple-map.component.ts b/projects/demo/src/app/geo/simple-map/simple-map.component.ts index 2df87d17b2..f41ae2a52b 100644 --- a/projects/demo/src/app/geo/simple-map/simple-map.component.ts +++ b/projects/demo/src/app/geo/simple-map/simple-map.component.ts @@ -1,12 +1,27 @@ +import { NgIf } from '@angular/common'; import { Component } from '@angular/core'; import { Media, MediaService } from '@igo2/core'; -import { DataSourceService, IgoMap, LayerOptions, LayerService, MapViewOptions, OSMDataSource, OSMDataSourceOptions } from '@igo2/geo'; +import { + DataSourceService, + IgoMap, + IgoMapModule, + LayerOptions, + LayerService, + MapViewOptions, + OSMDataSource, + OSMDataSourceOptions +} from '@igo2/geo'; + +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; @Component({ selector: 'app-simple-map', templateUrl: './simple-map.component.html', - styleUrls: ['./simple-map.component.scss'] + styleUrls: ['./simple-map.component.scss'], + standalone: true, + imports: [DocViewerComponent, ExampleViewerComponent, IgoMapModule, NgIf] }) export class AppSimpleMapComponent { public pointerCoord: string; diff --git a/projects/demo/src/app/geo/simple-map/simple-map.module.ts b/projects/demo/src/app/geo/simple-map/simple-map.module.ts deleted file mode 100644 index 510fbdbf1c..0000000000 --- a/projects/demo/src/app/geo/simple-map/simple-map.module.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { NgModule } from '@angular/core'; -import { MatButtonModule } from '@angular/material/button'; -import { MatCardModule } from '@angular/material/card'; - -import { IgoMapModule } from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppSimpleMapRoutingModule } from './simple-map-routing.module'; -import { AppSimpleMapComponent } from './simple-map.component'; - -@NgModule({ - declarations: [AppSimpleMapComponent], - imports: [ - SharedModule, - AppSimpleMapRoutingModule, - MatCardModule, - MatButtonModule, - IgoMapModule - ], - exports: [AppSimpleMapComponent] -}) -export class AppSimpleMapModule {} diff --git a/projects/demo/src/app/geo/spatial-filter/spatial-filter-routing.module.ts b/projects/demo/src/app/geo/spatial-filter/spatial-filter-routing.module.ts deleted file mode 100644 index b8ab3fcb12..0000000000 --- a/projects/demo/src/app/geo/spatial-filter/spatial-filter-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppSpatialFilterComponent } from './spatial-filter.component'; - -const routes: Routes = [ - { - path: 'spatial-filter', - component: AppSpatialFilterComponent - } -]; - -export const AppSpatialFilterRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/spatial-filter/spatial-filter.component.ts b/projects/demo/src/app/geo/spatial-filter/spatial-filter.component.ts index 05489f60c5..02d02eb350 100644 --- a/projects/demo/src/app/geo/spatial-filter/spatial-filter.component.ts +++ b/projects/demo/src/app/geo/spatial-filter/spatial-filter.component.ts @@ -1,3 +1,4 @@ +import { AsyncPipe, NgIf } from '@angular/common'; import { ChangeDetectionStrategy, ChangeDetectorRef, @@ -6,16 +7,26 @@ import { OnDestroy, OnInit } from '@angular/core'; +import { MatGridListModule } from '@angular/material/grid-list'; import { MatIconRegistry } from '@angular/material/icon'; -import { EntityKey, EntityStore, EntityStoreWithStrategy } from '@igo2/common'; +import { + EntityKey, + EntityStore, + EntityStoreWithStrategy, + IgoPanelModule +} from '@igo2/common'; import { LanguageService, MessageService } from '@igo2/core'; import { ClusterDataSource, DataSourceService, Feature, FeatureMotion, + IgoFeatureDetailsModule, + IgoFilterModule, IgoMap, + IgoMapModule, + IgoQueryModule, Layer, LayerOptions, LayerService, @@ -35,8 +46,8 @@ import { featureToOl, moveToOlFeatures } from '@igo2/geo'; -import { Coordinate } from 'ol/coordinate'; +import { Coordinate } from 'ol/coordinate'; import olFormatGeoJSON from 'ol/format/GeoJSON'; import type { default as OlGeometry } from 'ol/geom/Geometry'; import olSourceCluster from 'ol/source/Cluster'; @@ -47,6 +58,9 @@ import { Observable, Subject, forkJoin } from 'rxjs'; import { BehaviorSubject } from 'rxjs'; import { take, takeUntil, tap } from 'rxjs/operators'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + /** * Spatial Filter Type */ @@ -54,7 +68,20 @@ import { take, takeUntil, tap } from 'rxjs/operators'; selector: 'app-spatial-filter', templateUrl: './spatial-filter.component.html', styleUrls: ['./spatial-filter.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + MatGridListModule, + IgoMapModule, + IgoQueryModule, + IgoPanelModule, + IgoFilterModule, + NgIf, + IgoFeatureDetailsModule, + AsyncPipe + ] }) export class AppSpatialFilterComponent implements OnInit, OnDestroy { public map: IgoMap = new IgoMap({ @@ -91,7 +118,9 @@ export class AppSpatialFilterComponent implements OnInit, OnDestroy { private format: olFormatGeoJSON = new olFormatGeoJSON(); - public store: EntityStoreWithStrategy = new EntityStoreWithStrategy([]); // Store to print results at the end + public store: EntityStoreWithStrategy = new EntityStoreWithStrategy( + [] + ); // Store to print results at the end public spatialListStore: EntityStore = new EntityStore([]); @@ -502,19 +531,21 @@ export class AppSpatialFilterComponent implements OnInit, OnDestroy { private createSvgIcon(icon: string): olstyle.Style { let style: olstyle.Style; - this.matIconRegistry.getNamedSvgIcon(icon).subscribe((svgObj: SVGElement) => { - const xmlSerializer: XMLSerializer = new XMLSerializer(); - svgObj.setAttribute('width', '30'); - svgObj.setAttribute('height', '30'); - svgObj.setAttribute('fill', 'rgba(0, 128, 255)'); - svgObj.setAttribute('stroke', 'white'); - const svg: string = xmlSerializer.serializeToString(svgObj); - style = new olstyle.Style({ - image: new olstyle.Icon({ - src: 'data:image/svg+xml;utf8,' + svg - }) + this.matIconRegistry + .getNamedSvgIcon(icon) + .subscribe((svgObj: SVGElement) => { + const xmlSerializer: XMLSerializer = new XMLSerializer(); + svgObj.setAttribute('width', '30'); + svgObj.setAttribute('height', '30'); + svgObj.setAttribute('fill', 'rgba(0, 128, 255)'); + svgObj.setAttribute('stroke', 'white'); + const svg: string = xmlSerializer.serializeToString(svgObj); + style = new olstyle.Style({ + image: new olstyle.Icon({ + src: 'data:image/svg+xml;utf8,' + svg + }) + }); }); - }); return style; } /** diff --git a/projects/demo/src/app/geo/spatial-filter/spatial-filter.module.ts b/projects/demo/src/app/geo/spatial-filter/spatial-filter.module.ts deleted file mode 100644 index c39956bd94..0000000000 --- a/projects/demo/src/app/geo/spatial-filter/spatial-filter.module.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoFormModule, IgoPanelModule } from '@igo2/common'; -import { IgoMessageModule } from '@igo2/core'; -import { - IgoFeatureDetailsModule, - IgoFeatureModule, - IgoFilterModule, - IgoMapModule, - IgoQueryModule -} from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppSpatialFilterRoutingModule } from './spatial-filter-routing.module'; -import { AppSpatialFilterComponent } from './spatial-filter.component'; - -@NgModule({ - declarations: [AppSpatialFilterComponent], - imports: [ - AppSpatialFilterRoutingModule, - SharedModule, - IgoPanelModule, - IgoMapModule, - IgoMessageModule, - IgoQueryModule, - IgoFeatureModule, - IgoFeatureDetailsModule, - IgoFilterModule, - IgoFormModule - ], - exports: [AppSpatialFilterComponent] -}) -export class AppSpatialFilterModule {} diff --git a/projects/demo/src/app/geo/time-filter/time-filter-routing.module.ts b/projects/demo/src/app/geo/time-filter/time-filter-routing.module.ts deleted file mode 100644 index 556df96c36..0000000000 --- a/projects/demo/src/app/geo/time-filter/time-filter-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppTimeFilterComponent } from './time-filter.component'; - -const routes: Routes = [ - { - path: 'time-filter', - component: AppTimeFilterComponent - } -]; - -export const AppTimeFilterRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/time-filter/time-filter.component.ts b/projects/demo/src/app/geo/time-filter/time-filter.component.ts index 208bee6b57..c00a584969 100644 --- a/projects/demo/src/app/geo/time-filter/time-filter.component.ts +++ b/projects/demo/src/app/geo/time-filter/time-filter.component.ts @@ -1,8 +1,12 @@ import { Component } from '@angular/core'; +import { MatGridListModule } from '@angular/material/grid-list'; +import { IgoPanelModule } from '@igo2/common'; import { DataSourceService, + IgoFilterModule, IgoMap, + IgoMapModule, LayerOptions, LayerService, MapViewOptions, @@ -14,10 +18,22 @@ import { TimeFilterableDataSourceOptions } from '@igo2/geo'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-time-filter', templateUrl: './time-filter.component.html', - styleUrls: ['./time-filter.component.scss'] + styleUrls: ['./time-filter.component.scss'], + standalone: true, + imports: [ + DocViewerComponent, + ExampleViewerComponent, + MatGridListModule, + IgoMapModule, + IgoPanelModule, + IgoFilterModule + ] }) export class AppTimeFilterComponent { public map: IgoMap = new IgoMap({ diff --git a/projects/demo/src/app/geo/time-filter/time-filter.module.ts b/projects/demo/src/app/geo/time-filter/time-filter.module.ts deleted file mode 100644 index fef4fbd540..0000000000 --- a/projects/demo/src/app/geo/time-filter/time-filter.module.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { IgoPanelModule } from '@igo2/common'; -import { IgoFilterModule, IgoMapModule } from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppTimeFilterRoutingModule } from './time-filter-routing.module'; -import { AppTimeFilterComponent } from './time-filter.component'; - -@NgModule({ - declarations: [AppTimeFilterComponent], - imports: [ - AppTimeFilterRoutingModule, - SharedModule, - IgoPanelModule, - IgoMapModule, - IgoFilterModule - ], - exports: [AppTimeFilterComponent] -}) -export class AppTimeFilterModule {} diff --git a/projects/demo/src/app/geo/workspace/workspace-routing.module.ts b/projects/demo/src/app/geo/workspace/workspace-routing.module.ts deleted file mode 100644 index d93f823f9c..0000000000 --- a/projects/demo/src/app/geo/workspace/workspace-routing.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { RouterModule, Routes } from '@angular/router'; - -import { AppWorkspaceComponent } from './workspace.component'; - -const routes: Routes = [ - { - path: 'workspace', - component: AppWorkspaceComponent - } -]; - -export const AppWorkspaceRoutingModule = RouterModule.forChild(routes); diff --git a/projects/demo/src/app/geo/workspace/workspace.component.ts b/projects/demo/src/app/geo/workspace/workspace.component.ts index 6e03e74129..139fb07a28 100644 --- a/projects/demo/src/app/geo/workspace/workspace.component.ts +++ b/projects/demo/src/app/geo/workspace/workspace.component.ts @@ -1,4 +1,6 @@ +import { AsyncPipe, NgIf } from '@angular/common'; import { Component, OnInit } from '@angular/core'; +import { MatCardModule } from '@angular/material/card'; import { MatPaginator } from '@angular/material/paginator'; import { @@ -7,11 +9,17 @@ import { EntityRecord, EntityTablePaginatorOptions, EntityTableScrollBehavior, + IgoActionbarModule, + IgoEntityTableModule, + IgoEntityTablePaginatorModule, + IgoWorkspaceSelectorModule, + IgoWorkspaceWidgetOutletModule, Workspace, WorkspaceStore } from '@igo2/common'; import { DataSourceService, + IgoGeoWorkspaceModule, IgoMap, LayerOptions, LayerService, @@ -22,15 +30,34 @@ import { WFSDataSource, WFSDataSourceOptions } from '@igo2/geo'; +import { IgoMapModule } from '@igo2/geo'; import { WorkspaceState } from '@igo2/integration'; import { BehaviorSubject, Observable } from 'rxjs'; import { map } from 'rxjs/operators'; +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; +import { ExampleViewerComponent } from '../../components/example/example-viewer/example-viewer.component'; + @Component({ selector: 'app-workspace', templateUrl: './workspace.component.html', - styleUrls: ['./workspace.component.scss'] + styleUrls: ['./workspace.component.scss'], + standalone: true, + imports: [ + AsyncPipe, + DocViewerComponent, + ExampleViewerComponent, + IgoActionbarModule, + IgoEntityTableModule, + IgoEntityTablePaginatorModule, + IgoGeoWorkspaceModule, + IgoMapModule, + IgoWorkspaceSelectorModule, + IgoWorkspaceWidgetOutletModule, + MatCardModule, + NgIf + ] }) export class AppWorkspaceComponent implements OnInit { public workspacePaginator: MatPaginator; @@ -62,7 +89,8 @@ export class AppWorkspaceComponent implements OnInit { public actionbarMode: ActionbarMode = ActionbarMode.Overlay; - public scrollBehavior: EntityTableScrollBehavior = EntityTableScrollBehavior.Instant; + public scrollBehavior: EntityTableScrollBehavior = + EntityTableScrollBehavior.Instant; constructor( private dataSourceService: DataSourceService, @@ -77,7 +105,8 @@ export class AppWorkspaceComponent implements OnInit { ) .pipe( map((record: EntityRecord) => { - const entity: Workspace = record === undefined ? undefined : record.entity; + const entity: Workspace = + record === undefined ? undefined : record.entity; if (entity) { // In fact, the download action is not fully functionnal into the igo2-lib demo // The button triggers a tool (importExport) and this tool is not available in the igo2-lib demo. diff --git a/projects/demo/src/app/geo/workspace/workspace.module.ts b/projects/demo/src/app/geo/workspace/workspace.module.ts deleted file mode 100644 index 8993e04263..0000000000 --- a/projects/demo/src/app/geo/workspace/workspace.module.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { - IgoActionModule, - IgoEntityModule, - IgoPanelModule, - IgoWorkspaceModule -} from '@igo2/common'; -import { IgoGeoWorkspaceModule, IgoMapModule } from '@igo2/geo'; - -import { SharedModule } from '../../shared/shared.module'; -import { AppWorkspaceRoutingModule } from './workspace-routing.module'; -import { AppWorkspaceComponent } from './workspace.component'; - -@NgModule({ - declarations: [AppWorkspaceComponent], - imports: [ - SharedModule, - AppWorkspaceRoutingModule, - IgoActionModule, - IgoEntityModule, - IgoWorkspaceModule, - IgoPanelModule, - IgoMapModule, - IgoGeoWorkspaceModule - ], - exports: [AppWorkspaceComponent] -}) -export class AppWorkspaceModule {} diff --git a/projects/demo/src/app/core/home/home.component.html b/projects/demo/src/app/pages/home/home.component.html similarity index 98% rename from projects/demo/src/app/core/home/home.component.html rename to projects/demo/src/app/pages/home/home.component.html index a2eeab6f55..8e86dace22 100644 --- a/projects/demo/src/app/core/home/home.component.html +++ b/projects/demo/src/app/pages/home/home.component.html @@ -39,8 +39,8 @@

IGO2 library is divided into several elements:

module
  • - @igo2/geo : Library containing the geomatic components. Depends on - Openlayers. + @igo2/geo : Library containing the geomatic components. Depends + on Openlayers.
  • @igo2/context : Library of components uniting @igo2/geo and diff --git a/projects/demo/src/app/core/home/home.component.scss b/projects/demo/src/app/pages/home/home.component.scss similarity index 100% rename from projects/demo/src/app/core/home/home.component.scss rename to projects/demo/src/app/pages/home/home.component.scss diff --git a/projects/demo/src/app/core/home/home.component.ts b/projects/demo/src/app/pages/home/home.component.ts similarity index 51% rename from projects/demo/src/app/core/home/home.component.ts rename to projects/demo/src/app/pages/home/home.component.ts index 58d1562608..724879eee5 100644 --- a/projects/demo/src/app/core/home/home.component.ts +++ b/projects/demo/src/app/pages/home/home.component.ts @@ -1,11 +1,15 @@ import { Component } from '@angular/core'; -import { InteractiveTourService } from '@igo2/common'; +import { IgoInteractiveTourModule, InteractiveTourService } from '@igo2/common'; + +import { DocViewerComponent } from '../../components/doc-viewer/doc-viewer.component'; @Component({ selector: 'app-home', templateUrl: './home.component.html', - styleUrls: ['./home.component.scss'] + styleUrls: ['./home.component.scss'], + standalone: true, + imports: [DocViewerComponent, IgoInteractiveTourModule] }) export class AppHomeComponent { constructor(private interactiveTourService: InteractiveTourService) {} diff --git a/projects/demo/src/app/shared/shared.module.ts b/projects/demo/src/app/shared/shared.module.ts deleted file mode 100644 index 4b7cd60187..0000000000 --- a/projects/demo/src/app/shared/shared.module.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { MatButtonModule } from '@angular/material/button'; -import { MatCardModule } from '@angular/material/card'; -import { MatGridListModule } from '@angular/material/grid-list'; -import { MatIconModule } from '@angular/material/icon'; -import { MatInputModule } from '@angular/material/input'; -import { MatTooltipModule } from '@angular/material/tooltip'; - -import { DocViewerModule } from '../components/doc-viewer/doc-viewer.module'; -import { ExampleModule } from '../components/example/example.module'; - -@NgModule({ - declarations: [], - exports: [ - CommonModule, - ExampleModule, - DocViewerModule, - MatCardModule, - MatButtonModule, - MatGridListModule, - MatIconModule, - MatInputModule, - MatTooltipModule - ], - imports: [CommonModule] -}) -export class SharedModule {} diff --git a/projects/demo/src/main.ts b/projects/demo/src/main.ts index 0fa4f834be..203fd510e2 100644 --- a/projects/demo/src/main.ts +++ b/projects/demo/src/main.ts @@ -1,15 +1,117 @@ -import { enableProdMode } from '@angular/core'; -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +import { DatePipe } from '@angular/common'; +import { + APP_INITIALIZER, + ApplicationRef, + enableProdMode, + importProvidersFrom +} from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; +import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field'; +import { MatIconModule } from '@angular/material/icon'; +import { MatListModule } from '@angular/material/list'; +import { MatSidenavModule } from '@angular/material/sidenav'; +import { MatToolbarModule } from '@angular/material/toolbar'; +import { + MAT_TOOLTIP_DEFAULT_OPTIONS, + MatTooltipDefaultOptions +} from '@angular/material/tooltip'; +import { + BrowserModule, + HammerModule, + bootstrapApplication +} from '@angular/platform-browser'; +import { provideAnimations } from '@angular/platform-browser/animations'; +import { + PreloadAllModules, + provideRouter, + withPreloading +} from '@angular/router'; -import 'hammerjs'; +import { + IgoCoreModule, + LanguageService, + provideConfigOptions +} from '@igo2/core'; +import { + IgoDirectionsModule, + IgoGeoWorkspaceModule, + provideIChercheSearchSource, + provideOsrmDirectionsSource, + provideWorkspaceSearchSource +} from '@igo2/geo'; -import { AppModule } from './app/app.module'; +import { concatMap, first } from 'rxjs'; + +import { AppComponent } from './app/app.component'; +import { routes } from './app/app.routing'; import { environment } from './environments/environment'; +export const defaultTooltipOptions: MatTooltipDefaultOptions = { + showDelay: 500, + hideDelay: 0, + touchendHideDelay: 0, + disableTooltipInteractivity: true +}; + if (environment.production) { enableProdMode(); } -platformBrowserDynamic() - .bootstrapModule(AppModule) - .catch((err) => console.log(err)); +bootstrapApplication(AppComponent, { + providers: [ + importProvidersFrom( + IgoCoreModule, + BrowserModule, + HammerModule, + MatButtonModule, + MatIconModule, + MatListModule, + MatSidenavModule, + MatToolbarModule, + IgoGeoWorkspaceModule, + IgoDirectionsModule + ), + provideConfigOptions({ + default: environment.igo + }), + provideRouter(routes, withPreloading(PreloadAllModules)), + { + provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, + useValue: { appearance: 'outline' } + }, + { + provide: APP_INITIALIZER, + useFactory: appInitializerFactory, + deps: [ApplicationRef, LanguageService], + multi: true + }, + { provide: MAT_TOOLTIP_DEFAULT_OPTIONS, useValue: defaultTooltipOptions }, + DatePipe, + provideAnimations(), + provideOsrmDirectionsSource(), + provideIChercheSearchSource(), + provideWorkspaceSearchSource() + ] +}).catch((err) => console.log(err)); + +export function appInitializerFactory( + applicationRef: ApplicationRef, + languageService: LanguageService +) { + return () => + new Promise((resolve: any) => { + applicationRef.isStable + .pipe( + first((isStable) => isStable === true), + concatMap(() => { + const lang = languageService.getLanguage(); + return languageService.translate.getTranslation(lang); + }) + ) + .subscribe((translations) => { + const lang = languageService.getLanguage(); + languageService.translate.setTranslation(lang, translations); + resolve(); + }); + }); +} diff --git a/projects/demo/src/style/theme.scss b/projects/demo/src/style/theme.scss index 62c0ebb999..cd724b9ebe 100644 --- a/projects/demo/src/style/theme.scss +++ b/projects/demo/src/style/theme.scss @@ -3,6 +3,7 @@ @use '../../../../packages/core/src/index' as igo; @use '../../../../packages/core/src/theming/all-theme'; + @use '../app/app.theme' as app; $primary: mat.define-palette(mat.$deep-purple-palette);