From 1ff144bcb1adb10ddcb744f458fa0f4005bed008 Mon Sep 17 00:00:00 2001 From: Deepika Mahindroo Date: Wed, 4 Oct 2023 16:57:32 +0530 Subject: [PATCH 1/4] Storybook setup --- angular.json | 96 +- package-lock.json | 29615 ++++++++++++---- package.json | 18 +- projects/arc-lib/.storybook/main.ts | 22 + projects/arc-lib/.storybook/preview.ts | 18 + projects/arc-lib/.storybook/tsconfig.json | 11 + projects/arc-lib/.storybook/typings.d.ts | 4 + projects/arc-lib/documentation.json | 19471 ++++++++++ projects/arc-lib/package.json | 12 + .../lib/components/auth/auth.component.html | 2 +- .../auth/login/login.component.html | 4 +- .../gantt-bars/gantt-bars.component.scss | 61 +- .../gantt-column/gantt-column.component.html | 154 +- .../gantt-column/gantt-column.component.scss | 69 +- .../gantt-column/gantt-column.component.ts | 6 + .../gantt-header/gantt-header.component.html | 4 +- .../gantt-header/gantt-header.component.scss | 58 +- .../gantt-tooltip.component.html | 6 +- .../gantt-tooltip.component.scss | 17 +- .../gantt-tooltip/gantt-tooltip.component.ts | 2 +- .../src/lib/components/gantt/gantt.module.ts | 4 +- projects/arc-lib/src/lib/components/index.ts | 1 - .../lib/components/list/list.component.html | 100 - .../selector/list/list.component.html | 58 + .../{ => selector}/list/list.component.scss | 0 .../list/list.component.spec.ts | 2 +- .../{ => selector}/list/list.component.ts | 20 +- .../lib/components/selector/select.module.ts | 24 +- .../selector/select/select.component.html | 9 +- .../selector/select/select.component.ts | 2 +- .../src/lib/components/selector/types.ts | 4 + projects/arc-lib/src/lib/core/constants.ts | 4 + projects/arc-lib/src/stories/.eslintrc.json | 5 + .../arc-lib/src/stories/Button.stories.ts | 51 + projects/arc-lib/src/stories/Configure.mdx | 364 + .../arc-lib/src/stories/Header.stories.ts | 37 + projects/arc-lib/src/stories/Page.stories.ts | 46 + projects/arc-lib/src/stories/User.ts | 2 + .../src/stories/assets/accessibility.png | Bin 0 -> 42336 bytes .../src/stories/assets/accessibility.svg | 5 + .../src/stories/assets/addon-library.png | Bin 0 -> 467366 bytes .../arc-lib/src/stories/assets/assets.png | Bin 0 -> 3899 bytes .../arc-lib/src/stories/assets/context.png | Bin 0 -> 6119 bytes .../arc-lib/src/stories/assets/discord.svg | 15 + projects/arc-lib/src/stories/assets/docs.png | Bin 0 -> 27875 bytes .../src/stories/assets/figma-plugin.png | Bin 0 -> 44246 bytes .../arc-lib/src/stories/assets/github.svg | 3 + projects/arc-lib/src/stories/assets/share.png | Bin 0 -> 40767 bytes .../arc-lib/src/stories/assets/styling.png | Bin 0 -> 7237 bytes .../arc-lib/src/stories/assets/testing.png | Bin 0 -> 49313 bytes .../arc-lib/src/stories/assets/theming.png | Bin 0 -> 44374 bytes .../arc-lib/src/stories/assets/tutorials.svg | 12 + .../arc-lib/src/stories/assets/youtube.svg | 4 + .../arc-lib/src/stories/button.component.ts | 55 + projects/arc-lib/src/stories/button.css | 30 + .../stories/components/HomePage.stories.ts | 68 + .../src/stories/components/List.stories.ts | 59 + .../stories/components/LoginPage.stories.ts | 47 + .../stories/components/ganttBar.stories.ts | 69 + .../stories/components/ganttcolumn.stories.ts | 77 + .../stories/components/ganttheader.stories.ts | 49 + .../stories/components/select-test.stories.ts | 34 + .../src/stories/components/select.stories.ts | 51 + .../src/stories/components/tooltip.stories.ts | 54 + .../arc-lib/src/stories/header.component.ts | 75 + projects/arc-lib/src/stories/header.css | 32 + .../arc-lib/src/stories/page.component.ts | 77 + projects/arc-lib/src/stories/page.css | 69 + projects/arc-lib/src/styles.scss | 144 + projects/arc/src/app/app-routing.module.ts | 2 +- projects/arc/src/app/app.component.html | 51 + projects/arc/src/app/app.component.ts | 55 +- projects/arc/src/app/app.module.ts | 38 +- .../src/app/main/home/home-routing.module.ts | 1 - .../arc/src/app/main/home/home.component.html | 3 +- .../arc/src/app/main/home/home.component.ts | 8 +- projects/arc/src/app/main/home/home.module.ts | 1 + .../arc/src/app/main/main-routing.module.ts | 14 +- projects/arc/src/styles.scss | 4 +- projects/package.json | 12 + 80 files changed, 44623 insertions(+), 6978 deletions(-) create mode 100644 projects/arc-lib/.storybook/main.ts create mode 100644 projects/arc-lib/.storybook/preview.ts create mode 100644 projects/arc-lib/.storybook/tsconfig.json create mode 100644 projects/arc-lib/.storybook/typings.d.ts create mode 100644 projects/arc-lib/documentation.json create mode 100644 projects/arc-lib/package.json delete mode 100644 projects/arc-lib/src/lib/components/list/list.component.html create mode 100644 projects/arc-lib/src/lib/components/selector/list/list.component.html rename projects/arc-lib/src/lib/components/{ => selector}/list/list.component.scss (100%) rename projects/arc-lib/src/lib/components/{ => selector}/list/list.component.spec.ts (94%) rename projects/arc-lib/src/lib/components/{ => selector}/list/list.component.ts (92%) create mode 100644 projects/arc-lib/src/stories/.eslintrc.json create mode 100644 projects/arc-lib/src/stories/Button.stories.ts create mode 100644 projects/arc-lib/src/stories/Configure.mdx create mode 100644 projects/arc-lib/src/stories/Header.stories.ts create mode 100644 projects/arc-lib/src/stories/Page.stories.ts create mode 100644 projects/arc-lib/src/stories/User.ts create mode 100644 projects/arc-lib/src/stories/assets/accessibility.png create mode 100644 projects/arc-lib/src/stories/assets/accessibility.svg create mode 100644 projects/arc-lib/src/stories/assets/addon-library.png create mode 100644 projects/arc-lib/src/stories/assets/assets.png create mode 100644 projects/arc-lib/src/stories/assets/context.png create mode 100644 projects/arc-lib/src/stories/assets/discord.svg create mode 100644 projects/arc-lib/src/stories/assets/docs.png create mode 100644 projects/arc-lib/src/stories/assets/figma-plugin.png create mode 100644 projects/arc-lib/src/stories/assets/github.svg create mode 100644 projects/arc-lib/src/stories/assets/share.png create mode 100644 projects/arc-lib/src/stories/assets/styling.png create mode 100644 projects/arc-lib/src/stories/assets/testing.png create mode 100644 projects/arc-lib/src/stories/assets/theming.png create mode 100644 projects/arc-lib/src/stories/assets/tutorials.svg create mode 100644 projects/arc-lib/src/stories/assets/youtube.svg create mode 100644 projects/arc-lib/src/stories/button.component.ts create mode 100644 projects/arc-lib/src/stories/button.css create mode 100644 projects/arc-lib/src/stories/components/HomePage.stories.ts create mode 100644 projects/arc-lib/src/stories/components/List.stories.ts create mode 100644 projects/arc-lib/src/stories/components/LoginPage.stories.ts create mode 100644 projects/arc-lib/src/stories/components/ganttBar.stories.ts create mode 100644 projects/arc-lib/src/stories/components/ganttcolumn.stories.ts create mode 100644 projects/arc-lib/src/stories/components/ganttheader.stories.ts create mode 100644 projects/arc-lib/src/stories/components/select-test.stories.ts create mode 100644 projects/arc-lib/src/stories/components/select.stories.ts create mode 100644 projects/arc-lib/src/stories/components/tooltip.stories.ts create mode 100644 projects/arc-lib/src/stories/header.component.ts create mode 100644 projects/arc-lib/src/stories/header.css create mode 100644 projects/arc-lib/src/stories/page.component.ts create mode 100644 projects/arc-lib/src/stories/page.css create mode 100644 projects/arc-lib/src/styles.scss create mode 100644 projects/package.json diff --git a/angular.json b/angular.json index 5b093188..453436e9 100644 --- a/angular.json +++ b/angular.json @@ -20,7 +20,9 @@ "outputPath": "dist/arc", "index": "projects/arc/src/index.html", "main": "projects/arc/src/main.ts", - "polyfills": ["zone.js"], + "polyfills": [ + "zone.js" + ], "tsConfig": "projects/arc/tsconfig.app.json", "inlineStyleLanguage": "scss", "assets": [ @@ -44,8 +46,8 @@ "budgets": [ { "type": "initial", - "maximumWarning": "1mb", - "maximumError": "2mb" + "maximumWarning": "9mb", + "maximumError": "7mb" }, { "type": "anyComponentStyle", @@ -76,8 +78,8 @@ "budgets": [ { "type": "initial", - "maximumWarning": "8mb", - "maximumError": "8mb" + "maximumWarning": "10mb", + "maximumError": "10mb" }, { "type": "anyComponentStyle", @@ -113,7 +115,10 @@ "test": { "builder": "@angular-devkit/build-angular:karma", "options": { - "polyfills": ["zone.js", "zone.js/testing"], + "polyfills": [ + "zone.js", + "zone.js/testing" + ], "tsConfig": "projects/arc/tsconfig.spec.json", "inlineStyleLanguage": "scss", "assets": [ @@ -130,6 +135,36 @@ ], "scripts": [] } + }, + "storybook": { + "builder": "@storybook/angular:start-storybook", + "options": { + "configDir": "projects/arc/.storybook", + "browserTarget": "arc:build", + "compodoc": true, + "compodocArgs": [ + "-e", + "json", + "-d", + "projects/arc" + ], + "port": 6006 + } + }, + "build-storybook": { + "builder": "@storybook/angular:build-storybook", + "options": { + "configDir": "projects/arc/.storybook", + "browserTarget": "arc:build", + "compodoc": true, + "compodocArgs": [ + "-e", + "json", + "-d", + "projects/arc" + ], + "outputDir": "dist/storybook/arc" + } } } }, @@ -158,7 +193,52 @@ "builder": "@angular-devkit/build-angular:karma", "options": { "tsConfig": "projects/arc-lib/tsconfig.spec.json", - "polyfills": ["zone.js", "zone.js/testing"] + "polyfills": [ + "zone.js", + "zone.js/testing" + ] + } + }, + "storybook": { + "builder": "@storybook/angular:start-storybook", + "options": { + "configDir": "projects/arc-lib/.storybook", + "browserTarget": "arc-lib:build", + + "styles": [ + "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css", + "node_modules/eva-icons/style/scss/eva-icons.scss", + "node_modules/@nebular/theme/styles/prebuilt/dark.css" + ], + "compodoc": true, + "compodocArgs": [ + "-e", + "json", + "-d", + "projects/arc-lib" + ], + "port": 6006 + } + }, + "build-storybook": { + "builder": "@storybook/angular:build-storybook", + "options": { + "configDir": "projects/arc-lib/.storybook", + "styles": [ + "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css", + "node_modules/eva-icons/style/scss/eva-icons.scss", + "node_modules/@nebular/theme/styles/prebuilt/dark.css", + "projects/arc/src/styles.scss" + ], + "browserTarget": "arc-lib:build", + "compodoc": true, + "compodocArgs": [ + "-e", + "json", + "-d", + "projects/arc-lib" + ], + "outputDir": "dist/storybook/arc-lib" } } } @@ -168,4 +248,4 @@ "cli": { "analytics": "dcf534a6-f2c3-4c9c-99f0-3de66c9162da" } -} +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index aa2c30ea..2bc3bda9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,56 +1,119 @@ { - "name": "main-project", + "name": "@arc/boiler-plate", "version": "0.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@ampproject/remapping": { + "packages": { + "": { + "name": "@arc/boiler-plate", + "version": "0.0.0", + "dependencies": { + "@angular/animations": "^15.2.8", + "@angular/cdk": "^15.2.8", + "@angular/common": "^15.2.0", + "@angular/compiler": "^15.2.0", + "@angular/core": "^15.2.0", + "@angular/forms": "^15.2.0", + "@angular/material": "^15.2.8", + "@angular/platform-browser": "^15.2.0", + "@angular/platform-browser-dynamic": "^15.2.0", + "@angular/router": "^15.2.0", + "@nebular/auth": "^11.0.0", + "@nebular/date-fns": "^11.0.0", + "@nebular/eva-icons": "11.0.1", + "@nebular/theme": "^11.0.1", + "@ngx-translate/core": "^14.0.0", + "@ngx-translate/http-loader": "^7.0.0", + "@types/lodash": "^4.14.194", + "date-fns": "^2.29.3", + "dotenv": "^16.0.3", + "eva-icons": "^1.1.3", + "lodash": "^4.17.21", + "ngx-logger": "^5.0.12", + "ngx-permissions": "^15.0.1", + "ngx-webstorage-service": "^5.0.0", + "prettier": "^2.8.7", + "rxjs": "~7.8.0", + "ts-node": "^10.9.1", + "tslib": "^2.3.0", + "zone.js": "~0.12.0" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^15.2.6", + "@angular/cli": "~15.2.6", + "@angular/compiler-cli": "^15.2.0", + "@compodoc/compodoc": "^1.1.21", + "@schematics/angular": "~15.2.6", + "@storybook/addon-controls": "^7.4.5", + "@storybook/addon-docs": "^7.4.5", + "@storybook/addon-essentials": "^7.4.2", + "@storybook/addon-interactions": "^7.4.2", + "@storybook/addon-links": "^7.4.2", + "@storybook/angular": "^7.4.2", + "@storybook/blocks": "^7.4.2", + "@storybook/testing-library": "^0.2.1", + "@types/date-fns": "^2.6.0", + "@types/jasmine": "~4.3.0", + "dhtmlx-gantt": "^7.1.13", + "jasmine-core": "~4.5.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.0.0", + "ng-packagr": "^15.2.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "storybook": "^7.4.2", + "typescript": "~4.9.4", + "webpack": "^5.82.1" + } + }, + "node_modules/@aduh95/viz.js": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@aduh95/viz.js/-/viz.js-3.4.0.tgz", + "integrity": "sha512-KI2nVf9JdwWCXqK6RVf+9/096G7VWN4Z84mnynlyZKao2xQENW8WNEjLmvdlxS5X8PNWXFC1zqwm7tveOXw/4A==", + "dev": true + }, + "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, - "requires": { + "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "@angular-devkit/architect": { - "version": "0.1502.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.8.tgz", - "integrity": "sha512-rTltw2ABHrcKc8EGimALvXmrDTP5hlNbEy6nYolJoXEI9EwHgriWrVLVPs3OEF+/ed47dbJi9EGOXUOgzgpB5A==", + "node_modules/@angular-devkit/architect": { + "version": "0.1602.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.2.tgz", + "integrity": "sha512-JFIeKKW7V2+/C8+pTReM6gfQkVU9l1IR1OCb9vvHWTRvuTr7E5h2L1rUInnmLiRWkEvkYfG29B+UPpYlkVl9oQ==", "dev": true, - "requires": { - "@angular-devkit/core": "15.2.8", - "rxjs": "6.6.7" - }, + "peer": true, "dependencies": { - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "@angular-devkit/core": "16.2.2", + "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" } }, - "@angular-devkit/build-angular": { - "version": "15.2.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.2.8.tgz", - "integrity": "sha512-TGDnXhhOG6h6TOrWWzfnkha7wYBOXi7iJc1o1w1VKCayE3T6TZZdF847aK66vL9KG7AKYVdGhWEGw2WBHUBUpg==", + "node_modules/@angular-devkit/build-angular": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.2.9.tgz", + "integrity": "sha512-djOo2Q22zLrxPccSbINz93hD+pES/nNPoze4Ys/0IdtMlLmxO/YGsA+FG5eNeNAf2jK/JRoNydaYOh7XpGoCzA==", "dev": true, - "requires": { + "dependencies": { "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1502.8", - "@angular-devkit/build-webpack": "0.1502.8", - "@angular-devkit/core": "15.2.8", + "@angular-devkit/architect": "0.1502.9", + "@angular-devkit/build-webpack": "0.1502.9", + "@angular-devkit/core": "15.2.9", "@babel/core": "7.20.12", "@babel/generator": "7.20.14", "@babel/helper-annotate-as-pure": "7.18.6", @@ -62,7 +125,7 @@ "@babel/runtime": "7.20.13", "@babel/template": "7.20.7", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "15.2.8", + "@ngtools/webpack": "15.2.9", "ansi-colors": "4.1.3", "autoprefixer": "10.4.13", "babel-loader": "9.1.2", @@ -73,7 +136,6 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild": "0.17.8", "esbuild-wasm": "0.17.8", "glob": "8.1.0", "https-proxy-agent": "5.0.1", @@ -96,7 +158,7 @@ "rxjs": "6.6.7", "sass": "1.58.1", "sass-loader": "13.2.0", - "semver": "7.3.8", + "semver": "7.5.3", "source-map-loader": "4.0.1", "source-map-support": "0.5.21", "terser": "5.16.3", @@ -109,5388 +171,16830 @@ "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, - "dependencies": { - "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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 + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.17.8" + }, + "peerDependencies": { + "@angular/compiler-cli": "^15.0.0", + "@angular/localize": "^15.0.0", + "@angular/platform-server": "^15.0.0", + "@angular/service-worker": "^15.0.0", + "karma": "^6.3.0", + "ng-packagr": "^15.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=4.8.2 <5.0" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true + "@angular/platform-server": { + "optional": true }, - "esbuild": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.8.tgz", - "integrity": "sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==", - "dev": true, - "optional": true, - "requires": { - "@esbuild/android-arm": "0.17.8", - "@esbuild/android-arm64": "0.17.8", - "@esbuild/android-x64": "0.17.8", - "@esbuild/darwin-arm64": "0.17.8", - "@esbuild/darwin-x64": "0.17.8", - "@esbuild/freebsd-arm64": "0.17.8", - "@esbuild/freebsd-x64": "0.17.8", - "@esbuild/linux-arm": "0.17.8", - "@esbuild/linux-arm64": "0.17.8", - "@esbuild/linux-ia32": "0.17.8", - "@esbuild/linux-loong64": "0.17.8", - "@esbuild/linux-mips64el": "0.17.8", - "@esbuild/linux-ppc64": "0.17.8", - "@esbuild/linux-riscv64": "0.17.8", - "@esbuild/linux-s390x": "0.17.8", - "@esbuild/linux-x64": "0.17.8", - "@esbuild/netbsd-x64": "0.17.8", - "@esbuild/openbsd-x64": "0.17.8", - "@esbuild/sunos-x64": "0.17.8", - "@esbuild/win32-arm64": "0.17.8", - "@esbuild/win32-ia32": "0.17.8", - "@esbuild/win32-x64": "0.17.8" - } + "@angular/service-worker": { + "optional": true }, - "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 + "karma": { + "optional": true }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } + "ng-packagr": { + "optional": true }, - "schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } + "protractor": { + "optional": true }, - "webpack": { - "version": "5.76.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", - "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "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.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - } + "tailwindcss": { + "optional": true } } }, - "@angular-devkit/build-webpack": { - "version": "0.1502.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1502.8.tgz", - "integrity": "sha512-jWtNv+S03FFLDe/C8SPCcRvkz3bSb2R+919IT086Q9axIPQ1VowOEwzt2k3qXPSSrC7GSYuASM+X92dB47NTQQ==", + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { + "version": "0.1502.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.9.tgz", + "integrity": "sha512-CFn+LbtYeLG7WqO+BBSjogl764StHpwgfJnNAXQ/3UouUktZ92z4lxhUm0PwIPb5k0lILsf81ubcS1vzwoXEEg==", "dev": true, - "requires": { - "@angular-devkit/architect": "0.1502.8", + "dependencies": { + "@angular-devkit/core": "15.2.9", "rxjs": "6.6.7" }, - "dependencies": { - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "@angular-devkit/core": { - "version": "15.2.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.8.tgz", - "integrity": "sha512-Lo4XrbDMtXarKnMrFgWLmQdSX+3QPNAg4otG8cmp/U4jJyjV4dAYKEAsb1sCNGUSM4h4v09EQU/5ugVjDU29lQ==", + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/core": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.9.tgz", + "integrity": "sha512-6u44YJ9tEG2hiWITL1rwA9yP6ot4a3cyN/UOMRkYSa/XO2Gz5/dM3U74E2kwg+P1NcxLXffBWl0rz8/Y/lSZyQ==", "dev": true, - "requires": { + "dependencies": { "ajv": "8.12.0", "ajv-formats": "2.1.1", "jsonc-parser": "3.2.0", "rxjs": "6.6.7", "source-map": "0.7.4" }, - "dependencies": { - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true } } }, - "@angular-devkit/schematics": { - "version": "15.2.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.2.8.tgz", - "integrity": "sha512-w6EUGC96kVsH9f8sEzajzbONMawezyVBiSo+JYp5r25rQArAz/a+KZntbuETWHQ0rQOEsKmUNKxwmr11BaptSQ==", + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", "dev": true, - "requires": { - "@angular-devkit/core": "15.2.8", - "jsonc-parser": "3.2.0", - "magic-string": "0.29.0", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, "dependencies": { - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@angular/animations": { - "version": "15.2.9", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-15.2.9.tgz", - "integrity": "sha512-GQujLhI0cQFcl4Q8y0oSYKSRnW23GIeSL+Arl4eFufziJ9hGAAQNuesaNs/7i+9UlTHDMkPH3kd5ScXuYYz6wg==", - "requires": { - "tslib": "^2.3.0" + "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" } }, - "@angular/cdk": { - "version": "15.2.9", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.2.9.tgz", - "integrity": "sha512-koaM07N1AIQ5oHU27l0/FoQSSoYAwlAYwVZ4Di3bYrJsTBNCN2Xsby7wI8gZxdepMnV4Fe9si382BDBov+oO4Q==", - "requires": { - "parse5": "^7.1.2", - "tslib": "^2.3.0" + "node_modules/@angular-devkit/build-angular/node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, - "@angular/cli": { - "version": "15.2.8", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.2.8.tgz", - "integrity": "sha512-3VlTfm6DUZfFHBY43vQSAaqmFTxy3VtRd/iDBCHcEPhHwYLWBvNwReJuJfNja8O105QQ6DBiYVBExEBtPmjQ4w==", + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, - "requires": { - "@angular-devkit/architect": "0.1502.8", - "@angular-devkit/core": "15.2.8", - "@angular-devkit/schematics": "15.2.8", - "@schematics/angular": "15.2.8", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.3", - "ini": "3.0.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.1", - "ora": "5.4.1", - "pacote": "15.1.0", - "resolve": "1.22.1", - "semver": "7.3.8", - "symbol-observable": "4.0.0", - "yargs": "17.6.2" - }, "dependencies": { - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - } + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" } }, - "@angular/common": { - "version": "15.2.9", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.2.9.tgz", - "integrity": "sha512-LM9/UHG2dRrOzlu2KovrFwWIziFMjRxHzSP3Igw6Symw/wIl0kXGq8Fn6RpFP78zmLqnv+IQOoRiby9MCXsI4g==", - "requires": { - "tslib": "^2.3.0" + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, - "@angular/compiler": { - "version": "15.2.9", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.2.9.tgz", - "integrity": "sha512-MoKugbjk+E0wRBj12uvIyDLELlVLonnqjA2+XiF+7FxALIeyds3/qQeEoMmYIqAbN3NnTT5pV92RxWwG4tHFwA==", - "requires": { - "tslib": "^2.3.0" + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" } }, - "@angular/compiler-cli": { - "version": "15.2.9", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.2.9.tgz", - "integrity": "sha512-zsbI8G2xHOeYWI0hjFzrI//ZhZV9il/uQW5dAimfwJp06KZDeXZ3PdwY9JQslf6F+saLwOObxy6QMrIVvfjy9w==", + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, - "requires": { - "@babel/core": "7.19.3", - "@jridgewell/sourcemap-codec": "^1.4.14", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.11.0", - "magic-string": "^0.27.0", - "reflect-metadata": "^0.1.2", - "semver": "^7.0.0", - "tslib": "^2.3.0", - "yargs": "^17.2.1" - }, "dependencies": { - "@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - } + "@xtuc/long": "4.2.2" } }, - "@angular/core": { - "version": "15.2.9", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.2.9.tgz", - "integrity": "sha512-w46Z1yUXCQfKV7XfnamOoLA2VD0MVUUYVrUjO73mHSskDXSXxfZAEHO9kfUS71Cj35PvhP3mbkqWscpea2WeYg==", - "requires": { - "tslib": "^2.3.0" + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, - "@angular/forms": { - "version": "15.2.9", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.2.9.tgz", - "integrity": "sha512-sk0pC2EFi2Ohg5J0q0NYptbT+2WOkoiERSMYA39ncDvlSZBWsNlxpkbGUSck7NIxjK2QfcVN1ldGbHlZTFvtqg==", - "requires": { - "tslib": "^2.3.0" + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, - "@angular/material": { - "version": "15.2.9", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-15.2.9.tgz", - "integrity": "sha512-emuFF/7+91Jq+6kVCl3FiVoFLtAZoh+woFQWNuK8nhx0HmD4ckLFI8d9a6ERYR3zRuKhq5deSRE2kYsfpjrrsQ==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/auto-init": "15.0.0-canary.684e33d25.0", - "@material/banner": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/button": "15.0.0-canary.684e33d25.0", - "@material/card": "15.0.0-canary.684e33d25.0", - "@material/checkbox": "15.0.0-canary.684e33d25.0", - "@material/chips": "15.0.0-canary.684e33d25.0", - "@material/circular-progress": "15.0.0-canary.684e33d25.0", - "@material/data-table": "15.0.0-canary.684e33d25.0", - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/dialog": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/drawer": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/fab": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/floating-label": "15.0.0-canary.684e33d25.0", - "@material/form-field": "15.0.0-canary.684e33d25.0", - "@material/icon-button": "15.0.0-canary.684e33d25.0", - "@material/image-list": "15.0.0-canary.684e33d25.0", - "@material/layout-grid": "15.0.0-canary.684e33d25.0", - "@material/line-ripple": "15.0.0-canary.684e33d25.0", - "@material/linear-progress": "15.0.0-canary.684e33d25.0", - "@material/list": "15.0.0-canary.684e33d25.0", - "@material/menu": "15.0.0-canary.684e33d25.0", - "@material/menu-surface": "15.0.0-canary.684e33d25.0", - "@material/notched-outline": "15.0.0-canary.684e33d25.0", - "@material/radio": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/segmented-button": "15.0.0-canary.684e33d25.0", - "@material/select": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/slider": "15.0.0-canary.684e33d25.0", - "@material/snackbar": "15.0.0-canary.684e33d25.0", - "@material/switch": "15.0.0-canary.684e33d25.0", - "@material/tab": "15.0.0-canary.684e33d25.0", - "@material/tab-bar": "15.0.0-canary.684e33d25.0", - "@material/tab-indicator": "15.0.0-canary.684e33d25.0", - "@material/tab-scroller": "15.0.0-canary.684e33d25.0", - "@material/textfield": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tooltip": "15.0.0-canary.684e33d25.0", - "@material/top-app-bar": "15.0.0-canary.684e33d25.0", - "@material/touch-target": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.3.0" + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, - "@angular/platform-browser": { - "version": "15.2.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.2.9.tgz", - "integrity": "sha512-ufCHeSX+U6d43YOMkn3igwfqtlozoCXADcbyfUEG8m2y9XASobqmCKvdSk/zfl62oyiA8msntWBJVBE2l4xKXg==", - "requires": { - "tslib": "^2.3.0" + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, - "@angular/platform-browser-dynamic": { - "version": "15.2.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.9.tgz", - "integrity": "sha512-ZIYDM6MShblb8OyV1m4+18lJJ2LCeICmeg2uSbpFYptYBSOClrTiYOOFVDJvn7HLvNzljLs16XPrgyaYVqNpcw==", - "requires": { - "tslib": "^2.3.0" + "node_modules/@angular-devkit/build-angular/node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" } }, - "@angular/router": { - "version": "15.2.9", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.2.9.tgz", - "integrity": "sha512-UCbh5DLSDhybv0xKYT7kGQMfOVdyhHIHOZz5EYVebbhste6S+W1LE57vTHq7QtxJsyKBa/WSkaUkCLXD6ntCAg==", - "requires": { - "tslib": "^2.3.0" + "node_modules/@angular-devkit/build-angular/node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "@assemblyscript/loader": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", - "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "node_modules/@angular-devkit/build-angular/node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, - "@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "node_modules/@angular-devkit/build-angular/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 + }, + "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" } }, - "@babel/compat-data": { - "version": "7.21.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", - "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", + "node_modules/@angular-devkit/build-angular/node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "@babel/core": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", - "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "node_modules/@angular-devkit/build-angular/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, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@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" } }, - "@babel/generator": { - "version": "7.20.14", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz", - "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==", + "node_modules/@angular-devkit/build-angular/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, - "requires": { - "@babel/types": "^7.20.7", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } + "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" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "node_modules/@angular-devkit/build-angular/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, - "requires": { - "@babel/types": "^7.18.6" + "peerDependencies": { + "ajv": "^6.9.1" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz", - "integrity": "sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==", - "dev": true, - "requires": { - "@babel/types": "^7.21.5" - } + "node_modules/@angular-devkit/build-angular/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true }, - "@babel/helper-compilation-targets": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", - "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "node_modules/@angular-devkit/build-angular/node_modules/webpack": { + "version": "5.76.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", + "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", "dev": true, - "requires": { - "@babel/compat-data": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "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.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "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 } } }, - "@babel/helper-create-class-features-plugin": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz", - "integrity": "sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==", + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1502.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1502.9.tgz", + "integrity": "sha512-VzMXoZjrbL1XlcSegqpZCBDbVvKFGPs3cKp4bXDD5ht95jcCyJPk5FA/wrh0pGGwbOF8ae/XOWFcPRzctC35iA==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.5", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.21.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6", - "semver": "^6.3.0" - }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@angular-devkit/architect": "0.1502.9", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.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" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz", - "integrity": "sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==", + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { + "version": "0.1502.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.9.tgz", + "integrity": "sha512-CFn+LbtYeLG7WqO+BBSjogl764StHpwgfJnNAXQ/3UouUktZ92z4lxhUm0PwIPb5k0lILsf81ubcS1vzwoXEEg==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" - }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@angular-devkit/core": "15.2.9", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/core": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.9.tgz", + "integrity": "sha512-6u44YJ9tEG2hiWITL1rwA9yP6ot4a3cyN/UOMRkYSa/XO2Gz5/dM3U74E2kwg+P1NcxLXffBWl0rz8/Y/lSZyQ==", "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true } } }, - "@babel/helper-environment-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", - "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" } }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } + "node_modules/@angular-devkit/build-webpack/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, - "@babel/helper-member-expression-to-functions": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz", - "integrity": "sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==", + "node_modules/@angular-devkit/core": { + "version": "16.2.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.2.tgz", + "integrity": "sha512-6H4FsvP3rLJaGiWpIhCFPS7ZeNoM4sSrnFtRhhecu6s7MidzE4aqzuGdzJpzLammw1KL+DuTlN0gpLtM1Bvcwg==", "dev": true, - "requires": { - "@babel/types": "^7.21.5" + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "picomatch": "2.3.1", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } } }, - "@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "node_modules/@angular-devkit/schematics": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.2.9.tgz", + "integrity": "sha512-o08nE8sTpfq/Fknrr1rzBsM8vY36BDox+8dOo9Zc/KqcVPwDy94YKRzHb+xxVaU9jy1VYeCjy63mkyELy7Z3zQ==", "dev": true, - "requires": { - "@babel/types": "^7.21.4" + "dependencies": { + "@angular-devkit/core": "15.2.9", + "jsonc-parser": "3.2.0", + "magic-string": "0.29.0", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "@babel/helper-module-transforms": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", - "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.9.tgz", + "integrity": "sha512-6u44YJ9tEG2hiWITL1rwA9yP6ot4a3cyN/UOMRkYSa/XO2Gz5/dM3U74E2kwg+P1NcxLXffBWl0rz8/Y/lSZyQ==", "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } } }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, - "requires": { - "@babel/types": "^7.18.6" + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" } }, - "@babel/helper-plugin-utils": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", - "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "node_modules/@angular-devkit/schematics/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" + "node_modules/@angular/animations": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-15.2.9.tgz", + "integrity": "sha512-GQujLhI0cQFcl4Q8y0oSYKSRnW23GIeSL+Arl4eFufziJ9hGAAQNuesaNs/7i+9UlTHDMkPH3kd5ScXuYYz6wg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "15.2.9" + } + }, + "node_modules/@angular/cdk": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.2.9.tgz", + "integrity": "sha512-koaM07N1AIQ5oHU27l0/FoQSSoYAwlAYwVZ4Di3bYrJsTBNCN2Xsby7wI8gZxdepMnV4Fe9si382BDBov+oO4Q==", + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^7.1.2" + }, + "peerDependencies": { + "@angular/common": "^15.0.0 || ^16.0.0", + "@angular/core": "^15.0.0 || ^16.0.0", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "@babel/helper-replace-supers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz", - "integrity": "sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==", + "node_modules/@angular/cli": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.2.9.tgz", + "integrity": "sha512-mI6hkGyIJDKd8MRiBl3p5chsUhgnluwmpsq3g1FFPw+wv+eXsPYgCiHqXS/OsK+shFxii9XMxoZQO28bJ4NAOQ==", "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-member-expression-to-functions": "^7.21.5", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "dependencies": { + "@angular-devkit/architect": "0.1502.9", + "@angular-devkit/core": "15.2.9", + "@angular-devkit/schematics": "15.2.9", + "@schematics/angular": "15.2.9", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.3", + "ini": "3.0.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.1", + "ora": "5.4.1", + "pacote": "15.1.0", + "resolve": "1.22.1", + "semver": "7.5.3", + "symbol-observable": "4.0.0", + "yargs": "17.6.2" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "@babel/helper-simple-access": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", - "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { + "version": "0.1502.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.9.tgz", + "integrity": "sha512-CFn+LbtYeLG7WqO+BBSjogl764StHpwgfJnNAXQ/3UouUktZ92z4lxhUm0PwIPb5k0lILsf81ubcS1vzwoXEEg==", "dev": true, - "requires": { - "@babel/types": "^7.21.5" + "dependencies": { + "@angular-devkit/core": "15.2.9", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "node_modules/@angular/cli/node_modules/@angular-devkit/core": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.9.tgz", + "integrity": "sha512-6u44YJ9tEG2hiWITL1rwA9yP6ot4a3cyN/UOMRkYSa/XO2Gz5/dM3U74E2kwg+P1NcxLXffBWl0rz8/Y/lSZyQ==", "dev": true, - "requires": { - "@babel/types": "^7.20.0" + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } } }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "node_modules/@angular/cli/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, - "requires": { - "@babel/types": "^7.18.6" + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" } }, - "@babel/helper-string-parser": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", - "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "node_modules/@angular/cli/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true + "node_modules/@angular/common": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.2.9.tgz", + "integrity": "sha512-LM9/UHG2dRrOzlu2KovrFwWIziFMjRxHzSP3Igw6Symw/wIl0kXGq8Fn6RpFP78zmLqnv+IQOoRiby9MCXsI4g==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "15.2.9", + "rxjs": "^6.5.3 || ^7.4.0" + } }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", - "dev": true + "node_modules/@angular/compiler": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.2.9.tgz", + "integrity": "sha512-MoKugbjk+E0wRBj12uvIyDLELlVLonnqjA2+XiF+7FxALIeyds3/qQeEoMmYIqAbN3NnTT5pV92RxWwG4tHFwA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "15.2.9" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } }, - "@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "node_modules/@angular/compiler-cli": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.2.9.tgz", + "integrity": "sha512-zsbI8G2xHOeYWI0hjFzrI//ZhZV9il/uQW5dAimfwJp06KZDeXZ3PdwY9JQslf6F+saLwOObxy6QMrIVvfjy9w==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" + "dependencies": { + "@babel/core": "7.19.3", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.27.0", + "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/main-ngcc.js" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/compiler": "15.2.9", + "typescript": ">=4.8.2 <5.0" } }, - "@babel/helpers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", - "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "node_modules/@angular/compiler-cli/node_modules/@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "node_modules/@angular/compiler-cli/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, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "bin": { + "semver": "bin/semver.js" } }, - "@babel/parser": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", - "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "node_modules/@angular/compiler-cli/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" } }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" + "node_modules/@angular/core": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.2.9.tgz", + "integrity": "sha512-w46Z1yUXCQfKV7XfnamOoLA2VD0MVUUYVrUjO73mHSskDXSXxfZAEHO9kfUS71Cj35PvhP3mbkqWscpea2WeYg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.11.4 || ~0.12.0 || ~0.13.0" } }, - "@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==", - "dev": true, - "requires": { - "@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" + "node_modules/@angular/forms": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.2.9.tgz", + "integrity": "sha512-sk0pC2EFi2Ohg5J0q0NYptbT+2WOkoiERSMYA39ncDvlSZBWsNlxpkbGUSck7NIxjK2QfcVN1ldGbHlZTFvtqg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "15.2.9", + "@angular/core": "15.2.9", + "@angular/platform-browser": "15.2.9", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "node_modules/@angular/material": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-15.2.9.tgz", + "integrity": "sha512-emuFF/7+91Jq+6kVCl3FiVoFLtAZoh+woFQWNuK8nhx0HmD4ckLFI8d9a6ERYR3zRuKhq5deSRE2kYsfpjrrsQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/auto-init": "15.0.0-canary.684e33d25.0", + "@material/banner": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/card": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/chips": "15.0.0-canary.684e33d25.0", + "@material/circular-progress": "15.0.0-canary.684e33d25.0", + "@material/data-table": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dialog": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/drawer": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/fab": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/form-field": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/image-list": "15.0.0-canary.684e33d25.0", + "@material/layout-grid": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/radio": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/segmented-button": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/slider": "15.0.0-canary.684e33d25.0", + "@material/snackbar": "15.0.0-canary.684e33d25.0", + "@material/switch": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-bar": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/textfield": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tooltip": "15.0.0-canary.684e33d25.0", + "@material/top-app-bar": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/animations": "^15.0.0 || ^16.0.0", + "@angular/cdk": "15.2.9", + "@angular/common": "^15.0.0 || ^16.0.0", + "@angular/core": "^15.0.0 || ^16.0.0", + "@angular/forms": "^15.0.0 || ^16.0.0", + "@angular/platform-browser": "^15.0.0 || ^16.0.0", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", - "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "node_modules/@angular/platform-browser": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.2.9.tgz", + "integrity": "sha512-ufCHeSX+U6d43YOMkn3igwfqtlozoCXADcbyfUEG8m2y9XASobqmCKvdSk/zfl62oyiA8msntWBJVBE2l4xKXg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/animations": "15.2.9", + "@angular/common": "15.2.9", + "@angular/core": "15.2.9" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "node_modules/@angular/platform-browser-dynamic": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.9.tgz", + "integrity": "sha512-ZIYDM6MShblb8OyV1m4+18lJJ2LCeICmeg2uSbpFYptYBSOClrTiYOOFVDJvn7HLvNzljLs16XPrgyaYVqNpcw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "15.2.9", + "@angular/compiler": "15.2.9", + "@angular/core": "15.2.9", + "@angular/platform-browser": "15.2.9" } }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "node_modules/@angular/router": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.2.9.tgz", + "integrity": "sha512-UCbh5DLSDhybv0xKYT7kGQMfOVdyhHIHOZz5EYVebbhste6S+W1LE57vTHq7QtxJsyKBa/WSkaUkCLXD6ntCAg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "15.2.9", + "@angular/core": "15.2.9", + "@angular/platform-browser": "15.2.9", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true + }, + "node_modules/@aw-web-design/x-default-browser": { + "version": "1.4.126", + "resolved": "https://registry.npmjs.org/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz", + "integrity": "sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "dependencies": { + "default-browser-id": "3.0.0" + }, + "bin": { + "x-default-browser": "bin/x-default-browser.js" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "node_modules/@babel/compat-data": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "node_modules/@babel/core": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.20.tgz", + "integrity": "sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.22.20", + "@babel/helpers": "^7.22.15", + "@babel/parser": "^7.22.16", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.20", + "@babel/types": "^7.22.19", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "node_modules/@babel/core/node_modules/@babel/generator": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.15.tgz", + "integrity": "sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "dependencies": { + "@babel/types": "^7.22.15", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "node_modules/@babel/core/node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "node_modules/@babel/core/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "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, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "bin": { + "semver": "bin/semver.js" } }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "node_modules/@babel/generator": { + "version": "7.20.14", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz", + "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==", "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-proposal-unicode-property-regex": { + "node_modules/@babel/helper-annotate-as-pure": { "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==", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "node_modules/@babel/helper-compilation-targets/node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@babel/helper-compilation-targets/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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "bin": { + "semver": "bin/semver.js" } }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@babel/helper-create-class-features-plugin/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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "bin": { + "semver": "bin/semver.js" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@babel/helper-create-regexp-features-plugin/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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "bin": { + "semver": "bin/semver.js" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" } }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@babel/helper-define-polyfill-provider/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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "bin": { + "semver": "bin/semver.js" } }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz", - "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==", + "node_modules/@babel/helper-function-name/node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.21.5" + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.15.tgz", + "integrity": "sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-classes": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", - "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.20.tgz", + "integrity": "sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz", - "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==", + "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/template": "^7.20.7" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", - "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "node_modules/@babel/helper-remap-async-to-generator/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-for-of": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz", - "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==", + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.21.5" + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-member-expression-literals": { + "node_modules/@babel/helper-split-export-declaration": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz", - "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-simple-access": "^7.21.5" + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "node_modules/@babel/helper-wrap-function/node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "node_modules/@babel/helpers": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.15.tgz", + "integrity": "sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "node_modules/@babel/helpers/node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-parameters": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", - "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "node_modules/@babel/parser": { + "version": "7.22.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz", + "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz", - "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.21.5", - "regenerator-transform": "^0.15.1" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" } }, - "@babel/plugin-transform-runtime": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", - "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "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, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@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" } }, - "@babel/plugin-transform-shorthand-properties": { + "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", "dev": true, - "requires": { + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", + "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead.", "dev": true, - "requires": { + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.21.0", "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "@babel/plugin-transform-sticky-regex": { + "node_modules/@babel/plugin-proposal-dynamic-import": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-template-literals": { + "node_modules/@babel/plugin-proposal-export-namespace-from": { "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz", - "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==", + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.21.5" + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-unicode-regex": { + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", "dev": true, - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@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.20.0", - "@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-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" + "@babel/plugin-transform-parameters": "^7.20.7" }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", "dev": true, - "requires": { - "@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" + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "@babel/runtime": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz", - "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==", + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", "dev": true, - "requires": { - "regenerator-runtime": "^0.13.11" + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/traverse": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", - "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.5", - "@babel/types": "^7.21.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", + "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", + "dev": true, "dependencies": { - "@babel/generator": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", - "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", - "dev": true, - "requires": { - "@babel/types": "^7.21.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/types": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", - "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "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, - "requires": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" + "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" } }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true - }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true - }, - "@esbuild/android-arm": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.8.tgz", - "integrity": "sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/android-arm64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.8.tgz", - "integrity": "sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/android-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.8.tgz", - "integrity": "sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/darwin-arm64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.8.tgz", - "integrity": "sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==", + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/darwin-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.8.tgz", - "integrity": "sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==", + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/freebsd-arm64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz", - "integrity": "sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/freebsd-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz", - "integrity": "sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/linux-arm": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz", - "integrity": "sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/linux-arm64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz", - "integrity": "sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/linux-ia32": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz", - "integrity": "sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/linux-loong64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz", - "integrity": "sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/linux-mips64el": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz", - "integrity": "sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/linux-ppc64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz", - "integrity": "sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/linux-riscv64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz", - "integrity": "sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/linux-s390x": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz", - "integrity": "sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/linux-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz", - "integrity": "sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/netbsd-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz", - "integrity": "sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/openbsd-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz", - "integrity": "sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/sunos-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz", - "integrity": "sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/win32-arm64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz", - "integrity": "sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "@esbuild/win32-ia32": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz", - "integrity": "sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", "dev": true, - "optional": true + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@esbuild/win32-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz", - "integrity": "sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz", + "integrity": "sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==", "dev": true, - "optional": true - }, - "@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 + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", "dev": true, - "requires": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - } - } + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.15.tgz", + "integrity": "sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw==", "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true + "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } }, - "@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "dependencies": { + "@babel/types": "^7.22.5" }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dev": true, "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "node_modules/@babel/plugin-transform-computed-properties/node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.15.tgz", + "integrity": "sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==", "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "dev": true, "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - } + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "dev": true + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@material/animation": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-5osi1z4JQIXcklPALbH/zTfOm2pDzHt9Fxm7ZyURy250xIZj6QjULRzPTnzOhC2ropfix9ra2Cfggbf0dcRbEQ==", - "requires": { - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/auto-init": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-OigQTmrVzkcGvxNjOaIe5oItTFPgrO9xLewvharDI6m6yvO1z7OBnkcW+sFN6ggLNYNxd0O1u9v64vMsmeDABQ==", - "requires": { - "@material/base": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/banner": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-PqtGp3KWzdu58rWv/DIvSfe38m5YKOBbAAbBinSvgadBb/da+IE1t5F7YPNKE1T5lJsQBGVUYx6QBIeXm+aI/A==", - "requires": { - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/button": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/base": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-oOaqb/SfjWwTKsdJUZmeh/Qrs41nIJI0N+zELsxnvbGjSIN1ZMAKYZFPMahqvC68OJ6+5CvJM8PoTNs5l+B8IQ==", - "requires": { - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/button": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-Nkekk4edeX+ObVOa7UlwavaHdmckPV5wU4SAJf3iA3R61cmz+KsgAgpzfcwv5WfNhIlc2nLu8QYEecpHdo9d/w==", - "requires": { - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/focus-ring": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/touch-target": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/card": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-xhyB7XX5KkEiCEqwSPkl58ZGYL6xFdnY62zimyBXJRG/Eaa0Swj3kW20hVCpt4f7c9Zmp8Se27rg8vnKmhvO3g==", - "requires": { - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/checkbox": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-NFpM3TS924PmVsk2KQLNU95OYCf8ZwYgzeqfnAexU0bEfjUJXINBun2Go0AaeOUMjuvWUe+byjrXgv8SFYbMUA==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/focus-ring": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/touch-target": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/chips": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-z4ajQ4NnsAQ/Si9tZ4xmxzjj2Qb+vW++4QjCjjjwAGIZbCe0xglAnMh2t66XLJUxt7RoKZuZVEO7ZqcFZpvJFQ==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/checkbox": "15.0.0-canary.684e33d25.0", - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/focus-ring": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/touch-target": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "safevalues": "^0.3.4", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/circular-progress": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-G6qD0nGNtEUwWnAMJuA9INYFpZoKtx7KFjBaPF4Ol2YLHtmShALNAYyn54TMAK8AZ2IpW08PXjGS7Ye88vrdEQ==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/progress-indicator": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/data-table": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-+wDw1DDDFfAsKAMzs84f/5GCjux39zjNfW8tL4wFbkWNwewmQrG9zaQMJhBpVOtLCrM8Gj6SOgOANqgqoCjvGg==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/checkbox": "15.0.0-canary.684e33d25.0", - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/icon-button": "15.0.0-canary.684e33d25.0", - "@material/linear-progress": "15.0.0-canary.684e33d25.0", - "@material/list": "15.0.0-canary.684e33d25.0", - "@material/menu": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/select": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/touch-target": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/density": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-661yEVRMGrlq6S6WuSbPRO+ZwpdUOg2glCc7y96doM6itSLOa3UEAldjOLfsYZVB74GnKCiuDp//QmfoRyYTfA==", - "requires": { - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/dialog": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-szn0dHnfeQTSOC6SSRSGAzX6Tnx+4NnSMUwNkXm+3bwjds8ZVK26+DXwLrP5f3ID5F1K5sFsRf2INo5/TNTHyQ==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/button": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/icon-button": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/touch-target": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.15.tgz", + "integrity": "sha512-jWL4eh90w0HQOTKP2MoXXUpVxilxsB2Vl4ji69rSjS3EcZ/v4sBmn+A3NpepuJzBhOaEBbR7udonlHHn5DWidg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/dom": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-7pEJLYov+tGgfuD8mZxoVU6rWtPI8ppjTAhz+F27Hz9FG0JETMWTKpDPBXLnKvX7vhIxL83GvZ9geNHCe8Hfog==", - "requires": { - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.11.tgz", + "integrity": "sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/drawer": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-/KMckLf1PYU/H3PXnS4e0aFl03qG3JlSv4LGgX6juJufcONqGTl/m63EMO/L/eUy6H1CRrXmVDjik/jzHLyDhg==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/list": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/elevation": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-WDF8SsRtq3rXUbVVbd9K4DUijIPH0bUFSOreVYxudpuxAfTlDS5+aeS1EK9UIBFYLuba4u5wVT2tDv6e1RTfrQ==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@material/fab": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-KCu87rWOKEAe9vZcAm6K8XazYSWPNjMG+OhrbPjHW6bCO7as1YCgtmkBkhff7csY/rFmcVpIy884xtUfLmSudQ==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/focus-ring": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/touch-target": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/feature-targeting": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-HyH1erNTSjS63sigNSUMaCd0nJhTNdDFeC+myrxwtDaQm+uYJ8troCNtQM3g6mx0XATNtX5aTOoPmrM6yVVi1A==", - "requires": { - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/floating-label": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-f7TPp6bKpGvV3sYYiZHSGlrixXKkXXITW3Esp7KB9jRq42c0H82novmdwvY0eTef4ootmA2JEysr78KQfHBUPg==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.15.tgz", + "integrity": "sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", + "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.20.0", + "@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-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + } + }, + "node_modules/@babel/preset-flow": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.15.tgz", + "integrity": "sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-flow-strip-types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.15.tgz", + "integrity": "sha512-HblhNmh6yM+cU4VwbBRpxFhxsTdfS1zsvH9W+gEjD0ARV9+8B4sNfpI6GuhePti84nuvhiwKS539jKPFHskA9A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.15", + "@babel/plugin-transform-typescript": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", + "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/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, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/register/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/register/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/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, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz", + "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.20.tgz", + "integrity": "sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.16", + "@babel/types": "^7.22.19", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.15.tgz", + "integrity": "sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@compodoc/compodoc": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/@compodoc/compodoc/-/compodoc-1.1.21.tgz", + "integrity": "sha512-/FDlwRgKzmkGuorDnURuCzoGY6rZ0KY7Mj5/PwnEjMs0y1CRRPHBJC9I0yVIjn8j8gxVy8PPc6dna0lY1MWwhg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@angular-devkit/schematics": "^16.0.1", + "@babel/core": "^7.21.8", + "@babel/preset-env": "^7.21.5", + "@compodoc/live-server": "^1.2.3", + "@compodoc/ngd-transformer": "^2.1.3", + "chalk": "4.1.2", + "cheerio": "^1.0.0-rc.12", + "chokidar": "^3.5.3", + "colors": "1.4.0", + "commander": "^10.0.1", + "cosmiconfig": "^8.1.3", + "decache": "^4.6.1", + "fancy-log": "^2.0.0", + "fast-glob": "^3.2.12", + "fs-extra": "^11.1.1", + "glob": "^10.2.4", + "handlebars": "^4.7.7", + "html-entities": "^2.3.3", + "i18next": "^22.4.15", + "inside": "^1.0.0", + "json5": "^2.2.3", + "lodash": "^4.17.21", + "loglevel": "^1.8.1", + "loglevel-plugin-prefix": "^0.8.4", + "lunr": "^2.3.9", + "marked": "4.3.0", + "minimist": "^1.2.8", + "opencollective-postinstall": "^2.0.3", + "os-name": "4.0.1", + "pdfjs-dist": "2.12.313", + "pdfmake": "^0.2.7", + "semver": "^7.5.1", + "traverse": "^0.6.7", + "ts-morph": "^18.0.0", + "uuid": "^9.0.0" + }, + "bin": { + "compodoc": "bin/index-cli.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@compodoc/compodoc/node_modules/@angular-devkit/schematics": { + "version": "16.2.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.2.tgz", + "integrity": "sha512-KeXIlibVrQEwIKbR9GViLKc3m1SXi/xuSXgIvSv+22FNu5i91ScsAhYLe65sDUL6m6MM1XQQMS46XN1Z9bRqQw==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.2.2", + "jsonc-parser": "3.2.0", + "magic-string": "0.30.1", + "ora": "5.4.1", + "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" + } + }, + "node_modules/@compodoc/compodoc/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@compodoc/compodoc/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@compodoc/compodoc/node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@compodoc/compodoc/node_modules/@babel/preset-env": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.20.tgz", + "integrity": "sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.20", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@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.15", + "@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.15", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.15", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.15", + "@babel/plugin-transform-modules-systemjs": "^7.22.11", + "@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.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.22.15", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@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.10", + "@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.6-no-external-plugins", + "@babel/types": "^7.22.19", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@compodoc/compodoc/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" + } + }, + "node_modules/@compodoc/compodoc/node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@compodoc/compodoc/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/@compodoc/compodoc/node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@compodoc/compodoc/node_modules/babel-plugin-polyfill-corejs2/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" + } + }, + "node_modules/@compodoc/compodoc/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@compodoc/compodoc/node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@compodoc/compodoc/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" + } + }, + "node_modules/@compodoc/compodoc/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/@compodoc/compodoc/node_modules/glob": { + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz", + "integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@compodoc/compodoc/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/@compodoc/compodoc/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" + } + }, + "node_modules/@compodoc/compodoc/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" + } + }, + "node_modules/@compodoc/compodoc/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/@compodoc/compodoc/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/@compodoc/live-server": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@compodoc/live-server/-/live-server-1.2.3.tgz", + "integrity": "sha512-hDmntVCyjjaxuJzPzBx68orNZ7TW4BtHWMnXlIVn5dqhK7vuFF/11hspO1cMmc+2QTYgqde1TBcb3127S7Zrow==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.2", + "colors": "1.4.0", + "connect": "^3.7.0", + "cors": "latest", + "event-stream": "4.0.1", + "faye-websocket": "0.11.x", + "http-auth": "4.1.9", + "http-auth-connect": "^1.0.5", + "morgan": "^1.10.0", + "object-assign": "latest", + "open": "8.4.0", + "proxy-middleware": "latest", + "send": "latest", + "serve-index": "^1.9.1" + }, + "bin": { + "live-server": "live-server.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@compodoc/live-server/node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@compodoc/ngd-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@compodoc/ngd-core/-/ngd-core-2.1.1.tgz", + "integrity": "sha512-Z+wE6wWZYVnudRYg6qunDlyh3Orw39Ib66Gvrz5kX5u7So+iu3tr6sQJdqH6yGS3hAjig5avlfhWLlgsb6/x1Q==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.3", + "fancy-log": "^2.0.0", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@compodoc/ngd-core/node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@compodoc/ngd-transformer": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@compodoc/ngd-transformer/-/ngd-transformer-2.1.3.tgz", + "integrity": "sha512-oWxJza7CpWR8/FeWYfE6j+jgncnGBsTWnZLt5rD2GUpsGSQTuGrsFPnmbbaVLgRS5QIVWBJYke7QFBr/7qVMWg==", + "dev": true, + "dependencies": { + "@aduh95/viz.js": "3.4.0", + "@compodoc/ngd-core": "~2.1.1", + "dot": "^2.0.0-beta.1", + "fs-extra": "^11.1.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "dev": true, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.8.tgz", + "integrity": "sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.8.tgz", + "integrity": "sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.8.tgz", + "integrity": "sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.8.tgz", + "integrity": "sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.8.tgz", + "integrity": "sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz", + "integrity": "sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz", + "integrity": "sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz", + "integrity": "sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz", + "integrity": "sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz", + "integrity": "sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz", + "integrity": "sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz", + "integrity": "sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz", + "integrity": "sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz", + "integrity": "sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz", + "integrity": "sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz", + "integrity": "sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz", + "integrity": "sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz", + "integrity": "sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz", + "integrity": "sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz", + "integrity": "sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz", + "integrity": "sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz", + "integrity": "sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@fal-works/esbuild-plugin-global-externals": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz", + "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", + "dev": true + }, + "node_modules/@floating-ui/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", + "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", + "dev": true, + "dependencies": { + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "dev": true, + "dependencies": { + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.2.tgz", + "integrity": "sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==", + "dev": true, + "dependencies": { + "@floating-ui/dom": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.4.tgz", + "integrity": "sha512-qprfWkn82Iw821mcKofJ5Pk9wgioHicxcQMxx+5zt5GSKoqdWvgG5AxVmpmUUjzTLPVSH5auBrhI93Deayn/DA==", + "dev": true + }, + "node_modules/@foliojs-fork/fontkit": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@foliojs-fork/fontkit/-/fontkit-1.9.1.tgz", + "integrity": "sha512-U589voc2/ROnvx1CyH9aNzOQWJp127JGU1QAylXGQ7LoEAF6hMmahZLQ4eqAcgHUw+uyW4PjtCItq9qudPkK3A==", + "dev": true, + "dependencies": { + "@foliojs-fork/restructure": "^2.0.2", + "brfs": "^2.0.0", + "brotli": "^1.2.0", + "browserify-optional": "^1.0.1", + "clone": "^1.0.4", + "deep-equal": "^1.0.0", + "dfa": "^1.2.0", + "tiny-inflate": "^1.0.2", + "unicode-properties": "^1.2.2", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/@foliojs-fork/fontkit/node_modules/deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@foliojs-fork/linebreak": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@foliojs-fork/linebreak/-/linebreak-1.1.1.tgz", + "integrity": "sha512-pgY/+53GqGQI+mvDiyprvPWgkTlVBS8cxqee03ejm6gKAQNsR1tCYCIvN9FHy7otZajzMqCgPOgC4cHdt4JPig==", + "dev": true, + "dependencies": { + "base64-js": "1.3.1", + "brfs": "^2.0.2", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/@foliojs-fork/linebreak/node_modules/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "node_modules/@foliojs-fork/pdfkit": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@foliojs-fork/pdfkit/-/pdfkit-0.13.0.tgz", + "integrity": "sha512-YXeG1fml9k97YNC9K8e292Pj2JzGt9uOIiBFuQFxHsdQ45BlxW+JU3RQK6JAvXU7kjhjP8rCcYvpk36JLD33sQ==", + "dev": true, + "dependencies": { + "@foliojs-fork/fontkit": "^1.9.1", + "@foliojs-fork/linebreak": "^1.1.1", + "crypto-js": "^4.0.0", + "png-js": "^1.0.0" + } + }, + "node_modules/@foliojs-fork/restructure": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@foliojs-fork/restructure/-/restructure-2.0.2.tgz", + "integrity": "sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/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/@jest/transform/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/@jest/transform/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 + }, + "node_modules/@jest/transform/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/@jest/transform/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/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/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/@jest/types/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/@jest/types/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/@jest/types/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/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@juggle/resize-observer": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", + "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", + "dev": true + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@material/animation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-5osi1z4JQIXcklPALbH/zTfOm2pDzHt9Fxm7ZyURy250xIZj6QjULRzPTnzOhC2ropfix9ra2Cfggbf0dcRbEQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/auto-init": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OigQTmrVzkcGvxNjOaIe5oItTFPgrO9xLewvharDI6m6yvO1z7OBnkcW+sFN6ggLNYNxd0O1u9v64vMsmeDABQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/banner": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-PqtGp3KWzdu58rWv/DIvSfe38m5YKOBbAAbBinSvgadBb/da+IE1t5F7YPNKE1T5lJsQBGVUYx6QBIeXm+aI/A==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/base": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-oOaqb/SfjWwTKsdJUZmeh/Qrs41nIJI0N+zELsxnvbGjSIN1ZMAKYZFPMahqvC68OJ6+5CvJM8PoTNs5l+B8IQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Nkekk4edeX+ObVOa7UlwavaHdmckPV5wU4SAJf3iA3R61cmz+KsgAgpzfcwv5WfNhIlc2nLu8QYEecpHdo9d/w==", + "dependencies": { + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/card": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-xhyB7XX5KkEiCEqwSPkl58ZGYL6xFdnY62zimyBXJRG/Eaa0Swj3kW20hVCpt4f7c9Zmp8Se27rg8vnKmhvO3g==", + "dependencies": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/checkbox": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NFpM3TS924PmVsk2KQLNU95OYCf8ZwYgzeqfnAexU0bEfjUJXINBun2Go0AaeOUMjuvWUe+byjrXgv8SFYbMUA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/chips": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-z4ajQ4NnsAQ/Si9tZ4xmxzjj2Qb+vW++4QjCjjjwAGIZbCe0xglAnMh2t66XLJUxt7RoKZuZVEO7ZqcFZpvJFQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/circular-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-G6qD0nGNtEUwWnAMJuA9INYFpZoKtx7KFjBaPF4Ol2YLHtmShALNAYyn54TMAK8AZ2IpW08PXjGS7Ye88vrdEQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/data-table": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-+wDw1DDDFfAsKAMzs84f/5GCjux39zjNfW8tL4wFbkWNwewmQrG9zaQMJhBpVOtLCrM8Gj6SOgOANqgqoCjvGg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/density": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-661yEVRMGrlq6S6WuSbPRO+ZwpdUOg2glCc7y96doM6itSLOa3UEAldjOLfsYZVB74GnKCiuDp//QmfoRyYTfA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dialog": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-szn0dHnfeQTSOC6SSRSGAzX6Tnx+4NnSMUwNkXm+3bwjds8ZVK26+DXwLrP5f3ID5F1K5sFsRf2INo5/TNTHyQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dom": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7pEJLYov+tGgfuD8mZxoVU6rWtPI8ppjTAhz+F27Hz9FG0JETMWTKpDPBXLnKvX7vhIxL83GvZ9geNHCe8Hfog==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/drawer": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-/KMckLf1PYU/H3PXnS4e0aFl03qG3JlSv4LGgX6juJufcONqGTl/m63EMO/L/eUy6H1CRrXmVDjik/jzHLyDhg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/elevation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WDF8SsRtq3rXUbVVbd9K4DUijIPH0bUFSOreVYxudpuxAfTlDS5+aeS1EK9UIBFYLuba4u5wVT2tDv6e1RTfrQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/fab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-KCu87rWOKEAe9vZcAm6K8XazYSWPNjMG+OhrbPjHW6bCO7as1YCgtmkBkhff7csY/rFmcVpIy884xtUfLmSudQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/feature-targeting": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-HyH1erNTSjS63sigNSUMaCd0nJhTNdDFeC+myrxwtDaQm+uYJ8troCNtQM3g6mx0XATNtX5aTOoPmrM6yVVi1A==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/floating-label": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-f7TPp6bKpGvV3sYYiZHSGlrixXKkXXITW3Esp7KB9jRq42c0H82novmdwvY0eTef4ootmA2JEysr78KQfHBUPg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/focus-ring": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ikw2RVUfgzXChpWIzPH1VzRvTjYb5ZKj4H+CZf7jqPUXMstFOZg90Bp7ARLZHqYiyNMuUq3zUTHozS6iHorSqg==", + "dependencies": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0" + } + }, + "node_modules/@material/form-field": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-vpF9N/uq5no/7+8GAbEH0868FhOuBgxAWRr1Sfb+jthKfBr8OS/wPU/AHzZHdHdAm7PQynbeOXfDsX2dI//PDA==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/icon-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wMI+XGzmIN/o2ePBKg2hLyx7H4pXCRAyyIKMQS1FMp1UKa2tYmiHVX/V8skhKwCqxg3i6Ls/LxMjfPxTR18WvQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/image-list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Ol+uaHYBe5R/cgzlfh5ONnMVX0wO6fV74JMUcQCQlxP6lXau/edARo4tkRc7A7UJUkU3VRv0EpEjLoCRNUPGaA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/layout-grid": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ALXE1mqFNb/RB2lVRQ3/r1Aufw2mFZnOjRE+boYDVepmAG/xWyPCyaGoavELJF5l4GAb0tXi8wA/8HeGbLOpuA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/line-ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7hRx8C/e9i0P6pgQpNOMfTwSS2r1fwEvBL72QDVGLtLuoKKwsjjgP6Z0Jat/GeHJe87u9LQvGBoD4upt+of/HA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/linear-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-iJclt7mKmcMk6pqD7ocXKfCWZhqBoODp7N593jYlxVpTJuEz2wiVAjZUDn/YGj/Uz3CRH+2YFfOiLr9pwWjhDg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-rQ+FCSdzmwTcT00IYE0uRV3CS4oGSccKFl9hkcF+aHFW61L7ORh/SCGUDPrEfQFrFkMn5f8qroVJjpUAMXBz4g==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-r7wzDLSGSI9629/mfpvsMzkVxpmV75kcD3IrW0Pcu6/Bv/1xi0EvjcUXzNJJoQlwN4Zj35Ymz/PCjZkIDIz68Q==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu-surface": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RVO5GAYcfWPaKwxsF/NhUAmrYXQCQBKvRQW0TIlbmAJz6lcFeTs6YZqF3u1C7qrL3ZQGz+sur/7ywj6QU0oMow==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/notched-outline": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-9YHcBkvJLPVYzkHcWoTpBZAFrEd+j1hjhGxLhh0LuNrZe8VroUkZD1TTnUAPHRG3os6EqEWWaKb0RN+aPIF2yQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/progress-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-c0icji4faeNWUoqGENGC7Hav0Puxh0RwXIDVizffaUxKIGbajpIp5+4Zop73fK/xFLGMB/npg7TbP+aCGjQ3fw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/radio": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-U3Eh8sNUA8trDla1Bq8Bo02foxYvtoewaKeF8A8tAju81XZ4jRiftfOsOWZDZEHCVbbCB2QwvutvFlnay5n+Aw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RyePu7SjIm/OuyyEieZ/gxiPYkNZOZHeid72WRcN9ofdlljj2pifcdPvcfZA+v/DMS33xo5GjG2L/Qj6ClWrKw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/rtl": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NqdJl8Ayupp1Th+vCNCpVQHbUFOuF7TCte9LD1norTIBUF/QizIxWby2W5uUEiPbnh5j9PmE1CJtfLwKun3pcw==", + "dependencies": { + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/segmented-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-bEGgg8vgXNLyukyV8HRjFMuQ6t6nm5LQ4Pgm22um61Yc8qyi0BOqV41OR4SVdUrUqZxh1aVD+p+4NN03+LfQXw==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/select": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kf178/2TeEinTv0mgmSBcmmExQ2h7a7dtR1E3WuqQgisJ/R6+zVLMkC2CnfIyzxYX2vkuUTG0ue3Reh/6XiqSg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/shape": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aEelpaTFmpnCji3TUGP9bVCS/bRVjUmLTHBPZtuu1gOrUVVtJ6kYOg73dZNJF+XOoNL2yOX/LRcKwsop29tptA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/slider": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WVyK+2pSNSZmj07M2K/a3TADoQ9FBCndfNC/vE7/wGIg4dddJJK5KvQ+yruf9R2cSzTL/S1sZ5WpyyeM8E9HTw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/snackbar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-itO+DCkOannZzR1/cCHcqAm7ifhuFvXmDItNoA8qLEcAyJDJJRkhpwj3XQ01yuo9gBFcSctp7Txt7e+Hncm/Jg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/switch": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Jxi0gl92yvvZZsAPxvVHzXx2ga+T/djMow98jvEczmpUorWnAhgiCr9CsSSRoosahWyRB8NLZOxUQrACxvffjw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WQL3wj9syHNcfe8KbgGGUcA34M8C/xZ+n0Fkkh8Kk6puVwaU+xqUNihsxPY6YzKpmh4PZ4oJaBdiN8zvFT1zqQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-SW/cMaDsIGGkM1ag3A7GJRlmr8eXmObWsvitQJzh6Azr5zzZtSI+GQygkMesAEE1gbpqOVN8d40rh3H7VVIAcA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kKICqSPqOlaf0lzaFFCmuOqPXJC+cK48Qmsc+m5o6fJhkmuZRCYpIwB2JeP+uZSOq/bTH+SrPtCtnVlgWg6ksA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-scroller": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-H6EU/TSiK/M2DyyORX5GEtXD9rKYxTMHC2VxsNWARPMFJGzgeW2ugYkFv+rKI1/c0bs0CJ4e+qFnOlBsQXZvyQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/textfield": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OvgpDXjvpyJTtAWskO69IDybFvDNzr9w2PN/Fk7yFm+uNVupaWz1Ew8lZ4gGslaTNSVmh2XcsvmzxcLINSiiNg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/theme": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-AZxaXXAvRKzAi20RlMxzt2U5UmkCWyv7DMWEBXsxtG5Tk54mi1HsbVUp3fxDPTlmL7Pq8p1/DESg/o7TgRCVlw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tokens": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wVwbQOTCXDPKYPdHQHLr026y36MMFelID1CmbfRk6mSol4O8yE9U0fXcShfRDW8Qo5E3X31w9c2A6T3neJY7wQ==", + "dependencies": { + "@material/elevation": "15.0.0-canary.684e33d25.0" + } + }, + "node_modules/@material/tooltip": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-dtm26QjxyQdinc8btgz6yys07b7bUW4FZgNF2EBPeGrICrPg7jf+JEvDziz5g8VMaTBQLOQRSCGy0MKuRlOjLw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/top-app-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-1M+oupUxflfW7u81P1XlxoLZB8bLzwtpKofIfDNRbEsiKhlLTERJR3Yak3BGE9xakNMysAaBHlkb5MrN5bNPFw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/touch-target": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-zdE69Slg8+T7sTn1OwqZ6H7WBYac9mxJ/JlJqfTqthzIjZRcCxBSYymQJcDHjsrPnUojOtr9U4Tpm5YZ96TEkQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/typography": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aVnvgMwcfNa/K4wujzpKDIxjGl2hbkEL+m+OKDSQqWYjKcP9QrbzCXJruJBqxrBoPRHLbqo47k5f9uT8raSgjw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@mdx-js/react": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", + "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", + "dev": true, + "dependencies": { + "@types/mdx": "^2.0.0", + "@types/react": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "react": ">=16" + } + }, + "node_modules/@ndelangen/get-tarball": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz", + "integrity": "sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA==", + "dev": true, + "dependencies": { + "gunzip-maybe": "^1.4.2", + "pump": "^3.0.0", + "tar-fs": "^2.1.1" + } + }, + "node_modules/@nebular/auth": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@nebular/auth/-/auth-11.0.1.tgz", + "integrity": "sha512-h7gbh5aoCk95Xr9I4+ep8TABrAwfsxzSSt91s2s6SHVmddggvASUAHbK9UEbdf6oL0zPQPkInWETuMIG5VZUvA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": "^15.0.0", + "@angular/core": "^15.0.0", + "@angular/forms": "^15.0.0", + "@angular/router": "^15.0.0", + "@nebular/theme": "11.0.1", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@nebular/date-fns": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@nebular/date-fns/-/date-fns-11.0.1.tgz", + "integrity": "sha512-bx4MXqQEWfT7c5prchuSuEm5I34H52/ct6kEguHx5yWKt16TjNGTm3xqqGZAco/4WNZaz1J/5rKao7w7PDGL0g==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@nebular/theme": "11.0.1", + "date-fns": "^2.0.0" + } + }, + "node_modules/@nebular/eva-icons": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@nebular/eva-icons/-/eva-icons-11.0.1.tgz", + "integrity": "sha512-dLPhQy0ciVv9jmskFIdaHJlFoEzOHNQv64/mUf70I551TMp9Xl3wubz2iL/DfS5SgTl+F3ZkzUUdGZu0yAAx2g==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@nebular/theme": "11.0.1", + "eva-icons": "^1.1.3" + } + }, + "node_modules/@nebular/theme": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@nebular/theme/-/theme-11.0.1.tgz", + "integrity": "sha512-ncKqg25LdPAsbP2SEAso5xrQgJsjoGXnOLBIGU4uyT0p8k8oAO2VZ5+8lH60j/HfOk1JbZnuUpA5gMbgo/hjNA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/animations": "^15.0.0", + "@angular/cdk": "^15.0.0", + "@angular/common": "^15.0.0", + "@angular/core": "^15.0.0", + "@angular/router": "^15.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@ngtools/webpack": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.9.tgz", + "integrity": "sha512-nOXUGqKkAEMlCcrhkDwWDzcVdKNH7MNRUXfNzsFc9zdeR/5p3qt6SVMN7OOE3NREyI7P6nzARc3S+6QDBjf3Jg==", + "dev": true, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^15.0.0", + "typescript": ">=4.8.2 <5.0", + "webpack": "^5.54.0" + } + }, + "node_modules/@ngx-translate/core": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-14.0.0.tgz", + "integrity": "sha512-UevdwNCXMRCdJv//0kC8h2eSfmi02r29xeE8E9gJ1Al4D4jEJ7eiLPdjslTMc21oJNGguqqWeEVjf64SFtvw2w==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/core": ">=13.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@ngx-translate/http-loader": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-7.0.0.tgz", + "integrity": "sha512-j+NpXXlcGVdyUNyY/qsJrqqeAdJdizCd+GKh3usXExSqy1aE9866jlAIL+xrfDU4w+LiMoma5pgE4emvFebZmA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=13.0.0", + "@ngx-translate/core": ">=14.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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" + } + }, + "node_modules/@npmcli/git/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" + } + }, + "node_modules/@npmcli/git/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" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", + "dev": true, + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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" + } + }, + "node_modules/@npmcli/promise-spawn/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" + } + }, + "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" + } + }, + "node_modules/@npmcli/run-script/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" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@radix-ui/number": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", + "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", + "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz", + "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", + "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz", + "integrity": "sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz", + "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz", + "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.2.tgz", + "integrity": "sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.1", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.2", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz", + "integrity": "sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.3.tgz", + "integrity": "sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle-group": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.4.tgz", + "integrity": "sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-toggle": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toolbar": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.0.4.tgz", + "integrity": "sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-separator": "1.0.3", + "@radix-ui/react-toggle-group": "1.0.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", + "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", + "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", + "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz", + "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.1.tgz", + "integrity": "sha512-nsbUg588+GDSu8/NS8T4UAshO6xeaOfINNuXeVHcKV02LJtoRaM1SiOacClw4kws1SFiNhdLGxlbMY9ga/zs/w==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.4.tgz", + "integrity": "sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@schematics/angular": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.2.9.tgz", + "integrity": "sha512-0Lit6TLNUwcAYiEkXgZp3vY9xAO1cnZCBXuUcp+6v+Ddnrt2w/YOiGe74p21cYe0StkTpTljsqsKBTiX7TMjQg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "15.2.9", + "@angular-devkit/schematics": "15.2.9", + "jsonc-parser": "3.2.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@schematics/angular/node_modules/@angular-devkit/core": { + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.9.tgz", + "integrity": "sha512-6u44YJ9tEG2hiWITL1rwA9yP6ot4a3cyN/UOMRkYSa/XO2Gz5/dM3U74E2kwg+P1NcxLXffBWl0rz8/Y/lSZyQ==", + "dev": true, + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@schematics/angular/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@schematics/angular/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "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" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", + "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "node_modules/@storybook/addon-actions": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.4.2.tgz", + "integrity": "sha512-aKHyYjxcWaOTf/7B8x4EmUNkDAiYJZyJfGTYg2TDEDs89x7/9slujAA01qIgOp74C9nWkHDUVdm7/J+h3kWJWw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/components": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/theming": "7.4.2", + "@storybook/types": "7.4.2", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "polished": "^4.2.2", + "prop-types": "^15.7.2", + "react-inspector": "^6.0.0", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0", + "uuid": "^9.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-backgrounds": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.4.2.tgz", + "integrity": "sha512-Vl6Vw1NzO5jRqlAEpG017z6N79Drlp7Wpw8O9+69/dKtTNmuLqLnPxWrn4nL2CNvghHToLMpToSAFpRo2fBZBg==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/components": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/theming": "7.4.2", + "@storybook/types": "7.4.2", + "memoizerific": "^1.11.3", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-controls": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.4.5.tgz", + "integrity": "sha512-Mxs56jt44HIbZ4gJa0AII1U8GqEGFsvcM5Iob0ETNpxCW5Kj5iHly/4Ws0RFWPH/krrQKaLpWXaUxKmbtEzhJA==", + "dev": true, + "dependencies": { + "@storybook/blocks": "7.4.5", + "@storybook/client-logger": "7.4.5", + "@storybook/components": "7.4.5", + "@storybook/core-common": "7.4.5", + "@storybook/core-events": "7.4.5", + "@storybook/manager-api": "7.4.5", + "@storybook/node-logger": "7.4.5", + "@storybook/preview-api": "7.4.5", + "@storybook/theming": "7.4.5", + "@storybook/types": "7.4.5", + "lodash": "^4.17.21", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/channels": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.5.tgz", + "integrity": "sha512-zWPZn4CxPFXsrrSRQ9JD8GmTeWeFYgr3sTBpe23hnhYookCXVNJ6AcaXogrT9b2ALfbB6MiFDbZIHHTgIgbWpg==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.5", + "@storybook/core-events": "7.4.5", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/client-logger": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.5.tgz", + "integrity": "sha512-Bn6eTAjhPDUfLpvuxhKkpDpOtkadfkSmkBNBZRu3r0Dzk2J1nNyKV5K6D8dOU4PFVof4z/gXYj5bktT29jKsmw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/components": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.4.5.tgz", + "integrity": "sha512-boskkfvMBB8CFYY9+1ofFNyKrdWXTY/ghzt7oK80dz6f2Eseo/WXK3OsCdCq5vWbLRCdbgJ8zXG8pAFi4yBsxA==", + "dev": true, + "dependencies": { + "@radix-ui/react-select": "^1.2.2", + "@radix-ui/react-toolbar": "^1.0.4", + "@storybook/client-logger": "7.4.5", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/theming": "7.4.5", + "@storybook/types": "7.4.5", + "memoizerific": "^1.11.3", + "use-resize-observer": "^9.1.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/core-common": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.4.5.tgz", + "integrity": "sha512-c4pBuILMD4YhSpJ+QpKtsUZpK+/rfolwOvzXfJwlN5EpYzMz6FjVR/LyX0cCT2YLI3X5YWRoCdvMxy5Aeryb8g==", + "dev": true, + "dependencies": { + "@storybook/core-events": "7.4.5", + "@storybook/node-logger": "7.4.5", + "@storybook/types": "7.4.5", + "@types/find-cache-dir": "^3.2.1", + "@types/node": "^16.0.0", + "@types/node-fetch": "^2.6.4", + "@types/pretty-hrtime": "^1.0.0", + "chalk": "^4.1.0", + "esbuild": "^0.18.0", + "esbuild-register": "^3.4.0", + "file-system-cache": "2.3.0", + "find-cache-dir": "^3.0.0", + "find-up": "^5.0.0", + "fs-extra": "^11.1.0", + "glob": "^10.0.0", + "handlebars": "^4.7.7", + "lazy-universal-dotenv": "^4.0.0", + "node-fetch": "^2.0.0", + "picomatch": "^2.3.0", + "pkg-dir": "^5.0.0", + "pretty-hrtime": "^1.0.3", + "resolve-from": "^5.0.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/core-events": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.5.tgz", + "integrity": "sha512-Jzy/adSC95saYCZlgXE5j7jmiMLAXYpnBFBxEtBdXwSWEBb0zt21n1nyWBEAv9s/k2gqDXlPHKHeL5Mn6y40zA==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/manager-api": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.5.tgz", + "integrity": "sha512-8Hdh5Tutet8xRy2fAknczfvpshz09eVnLd8m34vcFceUOYvEnvDbWerufhlEzovsF4v7U32uqbDHKdKTamWEQQ==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.5", + "@storybook/client-logger": "7.4.5", + "@storybook/core-events": "7.4.5", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.5", + "@storybook/theming": "7.4.5", + "@storybook/types": "7.4.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/node-logger": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.4.5.tgz", + "integrity": "sha512-fJSykphbryuEYj1qihbaTH5oOzD4NkptRxyf2uyBrpgkr5tCTq9d7GHheqaBuIdi513dsjlcIR7z5iHxW7ZD+Q==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/preview-api": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.5.tgz", + "integrity": "sha512-6xXQZPyilkGVddfZBI7tMbMMgOyIoZTYgTnwSPTMsXxO0f0TvtNDmGdwhn0I1nREHKfiQGpcQe6gwddEMnGtSg==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.5", + "@storybook/client-logger": "7.4.5", + "@storybook/core-events": "7.4.5", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.5", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/router": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.5.tgz", + "integrity": "sha512-IM4IhiPiXsx3FAUeUOAB47uiuUS8Yd37VQcNlXLBO28GgHoTSYOrjS+VTGLIV5cAGKr8+H5pFB+q35BnlFUpkQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.5", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/theming": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.5.tgz", + "integrity": "sha512-QSIJDIMzOegzlhubIBaYIovf4mlf+AVL0SmQOskPS8GZ6s9t77yUUI6gZTEjO+S4eB3djXRsfTTijQ8+z4XmRA==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.5", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/types": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.5.tgz", + "integrity": "sha512-DTWFNjfRTpncjufDoUs0QnNkgHG2qThGKWL1D6sO18cYI02zWPyHWD8/cbqlvtT7XIGe3s1iUEfCTdU5GcwWBA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.5", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@types/node": { + "version": "16.18.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.54.tgz", + "integrity": "sha512-oTmGy68gxZZ21FhTJVVvZBYpQHEBZxHKTsGshobMqm9qWpbqdZsA5jvsuPZcHu0KwpmLrOHWPdEfg7XDpNT9UA==", + "dev": true + }, + "node_modules/@storybook/addon-controls/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/@storybook/addon-controls/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" + } + }, + "node_modules/@storybook/addon-controls/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/@storybook/addon-controls/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/@storybook/addon-controls/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" + } + }, + "node_modules/@storybook/addon-controls/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/@storybook/addon-controls/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" + } + }, + "node_modules/@storybook/addon-controls/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" + } + }, + "node_modules/@storybook/addon-controls/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/@storybook/addon-docs": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.4.5.tgz", + "integrity": "sha512-KjFVeq8oL7ZC1gsk8iY3Nn0RrHHUpczmOTCd8FeVNmKD4vq+dkPb/8bJLy+jArmIZ8vRhknpTh6kp1BqB7qHGQ==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.3.1", + "@mdx-js/react": "^2.1.5", + "@storybook/blocks": "7.4.5", + "@storybook/client-logger": "7.4.5", + "@storybook/components": "7.4.5", + "@storybook/csf-plugin": "7.4.5", + "@storybook/csf-tools": "7.4.5", + "@storybook/global": "^5.0.0", + "@storybook/mdx2-csf": "^1.0.0", + "@storybook/node-logger": "7.4.5", + "@storybook/postinstall": "7.4.5", + "@storybook/preview-api": "7.4.5", + "@storybook/react-dom-shim": "7.4.5", + "@storybook/theming": "7.4.5", + "@storybook/types": "7.4.5", + "fs-extra": "^11.1.0", + "remark-external-links": "^8.0.0", + "remark-slug": "^6.0.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/channels": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.5.tgz", + "integrity": "sha512-zWPZn4CxPFXsrrSRQ9JD8GmTeWeFYgr3sTBpe23hnhYookCXVNJ6AcaXogrT9b2ALfbB6MiFDbZIHHTgIgbWpg==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.5", + "@storybook/core-events": "7.4.5", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/client-logger": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.5.tgz", + "integrity": "sha512-Bn6eTAjhPDUfLpvuxhKkpDpOtkadfkSmkBNBZRu3r0Dzk2J1nNyKV5K6D8dOU4PFVof4z/gXYj5bktT29jKsmw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/components": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.4.5.tgz", + "integrity": "sha512-boskkfvMBB8CFYY9+1ofFNyKrdWXTY/ghzt7oK80dz6f2Eseo/WXK3OsCdCq5vWbLRCdbgJ8zXG8pAFi4yBsxA==", + "dev": true, + "dependencies": { + "@radix-ui/react-select": "^1.2.2", + "@radix-ui/react-toolbar": "^1.0.4", + "@storybook/client-logger": "7.4.5", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/theming": "7.4.5", + "@storybook/types": "7.4.5", + "memoizerific": "^1.11.3", + "use-resize-observer": "^9.1.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/core-events": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.5.tgz", + "integrity": "sha512-Jzy/adSC95saYCZlgXE5j7jmiMLAXYpnBFBxEtBdXwSWEBb0zt21n1nyWBEAv9s/k2gqDXlPHKHeL5Mn6y40zA==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/csf-tools": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.4.5.tgz", + "integrity": "sha512-xbm5HGYvlwF0Efivx37v9rO7Exel1/Tdb/Yv/vXn4D/hQeljNVLNz4Bomfy4EQ207rRsrGDSOHEhLUbHDimnxg==", + "dev": true, + "dependencies": { + "@babel/generator": "^7.22.9", + "@babel/parser": "^7.22.7", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "@storybook/csf": "^0.1.0", + "@storybook/types": "7.4.5", + "fs-extra": "^11.1.0", + "recast": "^0.23.1", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/node-logger": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.4.5.tgz", + "integrity": "sha512-fJSykphbryuEYj1qihbaTH5oOzD4NkptRxyf2uyBrpgkr5tCTq9d7GHheqaBuIdi513dsjlcIR7z5iHxW7ZD+Q==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/preview-api": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.5.tgz", + "integrity": "sha512-6xXQZPyilkGVddfZBI7tMbMMgOyIoZTYgTnwSPTMsXxO0f0TvtNDmGdwhn0I1nREHKfiQGpcQe6gwddEMnGtSg==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.5", + "@storybook/client-logger": "7.4.5", + "@storybook/core-events": "7.4.5", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.5", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/theming": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.5.tgz", + "integrity": "sha512-QSIJDIMzOegzlhubIBaYIovf4mlf+AVL0SmQOskPS8GZ6s9t77yUUI6gZTEjO+S4eB3djXRsfTTijQ8+z4XmRA==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.5", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/types": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.5.tgz", + "integrity": "sha512-DTWFNjfRTpncjufDoUs0QnNkgHG2qThGKWL1D6sO18cYI02zWPyHWD8/cbqlvtT7XIGe3s1iUEfCTdU5GcwWBA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.5", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-essentials": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.4.2.tgz", + "integrity": "sha512-9VqVe8pUogA9TIAl9xxNSdqU1zfXXdZW6J3BfT3r0DolU4nLusejs2xIu6smhEjZ1KYD6V30Uy9HDft/GRCSnw==", + "dev": true, + "dependencies": { + "@storybook/addon-actions": "7.4.2", + "@storybook/addon-backgrounds": "7.4.2", + "@storybook/addon-controls": "7.4.2", + "@storybook/addon-docs": "7.4.2", + "@storybook/addon-highlight": "7.4.2", + "@storybook/addon-measure": "7.4.2", + "@storybook/addon-outline": "7.4.2", + "@storybook/addon-toolbars": "7.4.2", + "@storybook/addon-viewport": "7.4.2", + "@storybook/core-common": "7.4.2", + "@storybook/manager-api": "7.4.2", + "@storybook/node-logger": "7.4.2", + "@storybook/preview-api": "7.4.2", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.4.2.tgz", + "integrity": "sha512-qzSac1bulSa7mqkfBfyAqbP9PbIio5CjGJ5VyT055ab50e13gj1eS3I9EJHCupYb19E3f465QatrGhoaTsE4hg==", + "dev": true, + "dependencies": { + "@storybook/blocks": "7.4.2", + "@storybook/client-logger": "7.4.2", + "@storybook/components": "7.4.2", + "@storybook/core-common": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/manager-api": "7.4.2", + "@storybook/node-logger": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/theming": "7.4.2", + "@storybook/types": "7.4.2", + "lodash": "^4.17.21", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.4.2.tgz", + "integrity": "sha512-MV49/bGTibk2kvufk1+JEkDe2Ii/wfh5s+zO6a7p/FRy9zK0hQy3nEc56VpQ3+KzgDr0uyZI+mYq26OPwBuKRg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.3.1", + "@mdx-js/react": "^2.1.5", + "@storybook/blocks": "7.4.2", + "@storybook/client-logger": "7.4.2", + "@storybook/components": "7.4.2", + "@storybook/csf-plugin": "7.4.2", + "@storybook/csf-tools": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/mdx2-csf": "^1.0.0", + "@storybook/node-logger": "7.4.2", + "@storybook/postinstall": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/react-dom-shim": "7.4.2", + "@storybook/theming": "7.4.2", + "@storybook/types": "7.4.2", + "fs-extra": "^11.1.0", + "remark-external-links": "^8.0.0", + "remark-slug": "^6.0.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/blocks": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.4.2.tgz", + "integrity": "sha512-ijuZBsYfQBuwMA8Lb1dT6t2PzqhkOtIdc+G5iQ/IgWLX5HT1br+Wq8o3TUWrqACM9VKIASnJk13FMAOeGggD/w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.2", + "@storybook/client-logger": "7.4.2", + "@storybook/components": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/csf": "^0.1.0", + "@storybook/docs-tools": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/theming": "7.4.2", + "@storybook/types": "7.4.2", + "@types/lodash": "^4.14.167", + "color-convert": "^2.0.1", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "markdown-to-jsx": "^7.1.8", + "memoizerific": "^1.11.3", + "polished": "^4.2.2", + "react-colorful": "^5.1.2", + "telejson": "^7.2.0", + "tocbot": "^4.20.1", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/csf-plugin": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.4.2.tgz", + "integrity": "sha512-b0yQ8oXEH0s3SGgjhOVrbjkc3C8IYGyTSnDtPwx/Dgmru/rC6LT7ZOdBegmGqBN1+6Ho0+AxFrmAmuuYK8p2rA==", + "dev": true, + "dependencies": { + "@storybook/csf-tools": "7.4.2", + "unplugin": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/postinstall": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.4.2.tgz", + "integrity": "sha512-L9r14KqS87HPyXw0S3pK2X29ckel/4sdBSmy9nVF8n/ADafKE0pSLKB935VL0+88eMx06aT32SMcQoqjubGKWw==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/react-dom-shim": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.4.2.tgz", + "integrity": "sha512-9Ae2As3Hf//mdFEAv58VgDbi9R5JRGne8Ai6Vspc5FZMCJIjr5kullckBi3n9uKRg2L8V7wjDRK8Cql2tEr0Yg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-highlight": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.4.2.tgz", + "integrity": "sha512-HpwQiYil9RlMz303wQ9+ElW6W+Z0baqBUemlQ1JJZ6Wm47mgVVy8vLPcdH3JQkv7E34f51apPKVKFqq49xDqaA==", + "dev": true, + "dependencies": { + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.4.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-interactions": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.4.2.tgz", + "integrity": "sha512-Gr3UbrPRgtBmwYctFiIxYlg4pfe07sC5gvMJmMdzHSJo0yAmcw2fSzKe4aEPX4trdAIb+diQKi3TDqIBrOfCLQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/components": "7.4.2", + "@storybook/core-common": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/instrumenter": "7.4.2", + "@storybook/manager-api": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/theming": "7.4.2", + "@storybook/types": "7.4.2", + "jest-mock": "^27.0.6", + "polished": "^4.2.2", + "ts-dedent": "^2.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-links": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.4.2.tgz", + "integrity": "sha512-XAspek8kkfiGq3NVt8SD108m54/dJWo+iDSmW3t/BQj2+sDPW8EpOg93X08YGoGMD8FSLOToeVC2Qi+kmAV0iw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/router": "7.4.2", + "@storybook/types": "7.4.2", + "prop-types": "^15.7.2", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-measure": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.4.2.tgz", + "integrity": "sha512-fewNqI3mDAGAhFOFh/rdDS3dJ3e1QDmSVMB0KDJ7K22HOF2To/H9QfXHV24osnBRu6QemSIqObry1leF+u5BmQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/components": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/types": "7.4.2", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-outline": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.4.2.tgz", + "integrity": "sha512-C6Zfoa6k2ef55O16GKV29T0wIYaDyiBtyd/fuTzz7hkpusSqKGFNeQyfG6hRmPv5yAib7+Pzl86cH3wGz85oTw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/components": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/types": "7.4.2", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-toolbars": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.4.2.tgz", + "integrity": "sha512-zSU8GpyMKo3vGxR7LQdvw5jV/6QUOfUepS3HEYGB88vlIPK7UriV8k9HB0FObEyYZKYU7wuPYBYhXApK4ZBVUA==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/components": "7.4.2", + "@storybook/manager-api": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/theming": "7.4.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-viewport": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.4.2.tgz", + "integrity": "sha512-0mlqJmHezyZG9lLpj2LKN6HTZI015T3hYuFP4MwZRj579e246DvcBTw/h3n3bjLRGglapmFqkCw9PRVMhsQ/CA==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/components": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/theming": "7.4.2", + "memoizerific": "^1.11.3", + "prop-types": "^15.7.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addons": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-7.4.2.tgz", + "integrity": "sha512-3snQVlTIKgzk6apNZc9sHr+0n4riiQkKGUkoHS8B1G90qj/9OyRnkDq55A7mJ9CxskqIjei5Q+hlko87g0jDsA==", + "dev": true, + "dependencies": { + "@storybook/manager-api": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/types": "7.4.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/angular": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-7.4.2.tgz", + "integrity": "sha512-70OWUBaLMKLjFtW3yToEbAPUfKHg5695mI8D6t7u31Ny9Rvg64/r9+Gd2Rko8pk2QYIqLLuwVcwMfDBaQAvQRA==", + "dev": true, + "dependencies": { + "@storybook/builder-webpack5": "7.4.2", + "@storybook/cli": "7.4.2", + "@storybook/client-logger": "7.4.2", + "@storybook/core-common": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/core-server": "7.4.2", + "@storybook/core-webpack": "7.4.2", + "@storybook/docs-tools": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.2", + "@storybook/node-logger": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/telemetry": "7.4.2", + "@storybook/types": "7.4.2", + "@types/node": "^16.0.0", + "@types/react": "^16.14.34", + "@types/react-dom": "^16.9.14", + "@types/semver": "^7.3.4", + "@types/webpack-env": "^1.18.0", + "find-up": "^5.0.0", + "read-pkg-up": "^7.0.1", + "semver": "^7.3.7", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0", + "tsconfig-paths-webpack-plugin": "^4.0.1", + "util-deprecate": "^1.0.2", + "webpack": "5" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "@angular-devkit/architect": ">=0.1400.0 < 0.1700.0", + "@angular-devkit/build-angular": ">=14.1.0 < 17.0.0", + "@angular-devkit/core": ">=14.1.0 < 17.0.0", + "@angular/cli": ">=14.1.0 < 17.0.0", + "@angular/common": ">=14.1.0 < 17.0.0", + "@angular/compiler": ">=14.1.0 < 17.0.0", + "@angular/compiler-cli": ">=14.1.0 < 17.0.0", + "@angular/core": ">=14.1.0 < 17.0.0", + "@angular/forms": ">=14.1.0 < 17.0.0", + "@angular/platform-browser": ">=14.1.0 < 17.0.0", + "@angular/platform-browser-dynamic": ">=14.1.0 < 17.0.0", + "@babel/core": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "rxjs": "^6.0.0 || ^7.4.0", + "typescript": "^4.0.0 || ^5.0.0", + "zone.js": "^0.8.29 || >= 0.9.0 < 1.0.0" + }, + "peerDependenciesMeta": { + "@angular/cli": { + "optional": true + } + } + }, + "node_modules/@storybook/angular/node_modules/@types/node": { + "version": "16.18.53", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.53.tgz", + "integrity": "sha512-vVmHeo4tpF8zsknALU90Hh24VueYdu45ZlXzYWFbom61YR4avJqTFDC3QlWzjuTdAv6/3xHaxiO9NrtVZXrkmw==", + "dev": true + }, + "node_modules/@storybook/angular/node_modules/@types/react": { + "version": "16.14.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.46.tgz", + "integrity": "sha512-Am4pyXMrr6cWWw/TN3oqHtEZl0j+G6Up/O8m65+xF/3ZaUgkv1GAtTPWw4yNRmH0HJXmur6xKCKoMo3rBGynuw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@storybook/blocks": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.4.5.tgz", + "integrity": "sha512-FhAIkCT2HrzJcKsC3mL5+uG3GrbS23mYAT1h3iyPjCliZzxfCCI9UCMUXqYx4Z/FmAGJgpsQQXiBFZuoTHO9aQ==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.5", + "@storybook/client-logger": "7.4.5", + "@storybook/components": "7.4.5", + "@storybook/core-events": "7.4.5", + "@storybook/csf": "^0.1.0", + "@storybook/docs-tools": "7.4.5", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.5", + "@storybook/preview-api": "7.4.5", + "@storybook/theming": "7.4.5", + "@storybook/types": "7.4.5", + "@types/lodash": "^4.14.167", + "color-convert": "^2.0.1", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "markdown-to-jsx": "^7.1.8", + "memoizerific": "^1.11.3", + "polished": "^4.2.2", + "react-colorful": "^5.1.2", + "telejson": "^7.2.0", + "tocbot": "^4.20.1", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/channels": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.5.tgz", + "integrity": "sha512-zWPZn4CxPFXsrrSRQ9JD8GmTeWeFYgr3sTBpe23hnhYookCXVNJ6AcaXogrT9b2ALfbB6MiFDbZIHHTgIgbWpg==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.5", + "@storybook/core-events": "7.4.5", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/client-logger": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.5.tgz", + "integrity": "sha512-Bn6eTAjhPDUfLpvuxhKkpDpOtkadfkSmkBNBZRu3r0Dzk2J1nNyKV5K6D8dOU4PFVof4z/gXYj5bktT29jKsmw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/components": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.4.5.tgz", + "integrity": "sha512-boskkfvMBB8CFYY9+1ofFNyKrdWXTY/ghzt7oK80dz6f2Eseo/WXK3OsCdCq5vWbLRCdbgJ8zXG8pAFi4yBsxA==", + "dev": true, + "dependencies": { + "@radix-ui/react-select": "^1.2.2", + "@radix-ui/react-toolbar": "^1.0.4", + "@storybook/client-logger": "7.4.5", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/theming": "7.4.5", + "@storybook/types": "7.4.5", + "memoizerific": "^1.11.3", + "use-resize-observer": "^9.1.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/core-common": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.4.5.tgz", + "integrity": "sha512-c4pBuILMD4YhSpJ+QpKtsUZpK+/rfolwOvzXfJwlN5EpYzMz6FjVR/LyX0cCT2YLI3X5YWRoCdvMxy5Aeryb8g==", + "dev": true, + "dependencies": { + "@storybook/core-events": "7.4.5", + "@storybook/node-logger": "7.4.5", + "@storybook/types": "7.4.5", + "@types/find-cache-dir": "^3.2.1", + "@types/node": "^16.0.0", + "@types/node-fetch": "^2.6.4", + "@types/pretty-hrtime": "^1.0.0", + "chalk": "^4.1.0", + "esbuild": "^0.18.0", + "esbuild-register": "^3.4.0", + "file-system-cache": "2.3.0", + "find-cache-dir": "^3.0.0", + "find-up": "^5.0.0", + "fs-extra": "^11.1.0", + "glob": "^10.0.0", + "handlebars": "^4.7.7", + "lazy-universal-dotenv": "^4.0.0", + "node-fetch": "^2.0.0", + "picomatch": "^2.3.0", + "pkg-dir": "^5.0.0", + "pretty-hrtime": "^1.0.3", + "resolve-from": "^5.0.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/core-events": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.5.tgz", + "integrity": "sha512-Jzy/adSC95saYCZlgXE5j7jmiMLAXYpnBFBxEtBdXwSWEBb0zt21n1nyWBEAv9s/k2gqDXlPHKHeL5Mn6y40zA==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/docs-tools": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.4.5.tgz", + "integrity": "sha512-ctK+yGb2nvWISSvCCzj3ZhDaAb7I2BLjbxuBGTyNPvl4V9UQ9LBYzdJwR50q+DfscxdwSHMSOE/0OnzmJdaSJA==", + "dev": true, + "dependencies": { + "@storybook/core-common": "7.4.5", + "@storybook/preview-api": "7.4.5", + "@storybook/types": "7.4.5", + "@types/doctrine": "^0.0.3", + "doctrine": "^3.0.0", + "lodash": "^4.17.21" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/manager-api": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.5.tgz", + "integrity": "sha512-8Hdh5Tutet8xRy2fAknczfvpshz09eVnLd8m34vcFceUOYvEnvDbWerufhlEzovsF4v7U32uqbDHKdKTamWEQQ==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.5", + "@storybook/client-logger": "7.4.5", + "@storybook/core-events": "7.4.5", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.5", + "@storybook/theming": "7.4.5", + "@storybook/types": "7.4.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/node-logger": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.4.5.tgz", + "integrity": "sha512-fJSykphbryuEYj1qihbaTH5oOzD4NkptRxyf2uyBrpgkr5tCTq9d7GHheqaBuIdi513dsjlcIR7z5iHxW7ZD+Q==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/preview-api": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.5.tgz", + "integrity": "sha512-6xXQZPyilkGVddfZBI7tMbMMgOyIoZTYgTnwSPTMsXxO0f0TvtNDmGdwhn0I1nREHKfiQGpcQe6gwddEMnGtSg==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.5", + "@storybook/client-logger": "7.4.5", + "@storybook/core-events": "7.4.5", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.5", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/router": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.5.tgz", + "integrity": "sha512-IM4IhiPiXsx3FAUeUOAB47uiuUS8Yd37VQcNlXLBO28GgHoTSYOrjS+VTGLIV5cAGKr8+H5pFB+q35BnlFUpkQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.5", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/theming": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.5.tgz", + "integrity": "sha512-QSIJDIMzOegzlhubIBaYIovf4mlf+AVL0SmQOskPS8GZ6s9t77yUUI6gZTEjO+S4eB3djXRsfTTijQ8+z4XmRA==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.5", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/types": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.5.tgz", + "integrity": "sha512-DTWFNjfRTpncjufDoUs0QnNkgHG2qThGKWL1D6sO18cYI02zWPyHWD8/cbqlvtT7XIGe3s1iUEfCTdU5GcwWBA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.5", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/blocks/node_modules/@types/node": { + "version": "16.18.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.54.tgz", + "integrity": "sha512-oTmGy68gxZZ21FhTJVVvZBYpQHEBZxHKTsGshobMqm9qWpbqdZsA5jvsuPZcHu0KwpmLrOHWPdEfg7XDpNT9UA==", + "dev": true + }, + "node_modules/@storybook/blocks/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/@storybook/blocks/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" + } + }, + "node_modules/@storybook/blocks/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/@storybook/blocks/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/@storybook/blocks/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" + } + }, + "node_modules/@storybook/blocks/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/@storybook/blocks/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" + } + }, + "node_modules/@storybook/blocks/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" + } + }, + "node_modules/@storybook/blocks/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/@storybook/builder-manager": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.4.2.tgz", + "integrity": "sha512-MgdXr9QJ2sNk0fUshQ7hk4Ec9IkbPWR6alrmDByIOEU9bThx0j4OxU9uTLBy8r5uZsSL6nNtRyCvSP8YSKaQHQ==", + "dev": true, + "dependencies": { + "@fal-works/esbuild-plugin-global-externals": "^2.1.2", + "@storybook/core-common": "7.4.2", + "@storybook/manager": "7.4.2", + "@storybook/node-logger": "7.4.2", + "@types/ejs": "^3.1.1", + "@types/find-cache-dir": "^3.2.1", + "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", + "browser-assert": "^1.2.1", + "ejs": "^3.1.8", + "esbuild": "^0.18.0", + "esbuild-plugin-alias": "^0.2.1", + "express": "^4.17.3", + "find-cache-dir": "^3.0.0", + "fs-extra": "^11.1.0", + "process": "^0.11.10", + "util": "^0.12.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-manager/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/@storybook/builder-webpack5": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.4.2.tgz", + "integrity": "sha512-NmlHRU4+jie+9z4cxuXUM49JI2ypIc6JHCiuJIqF7rONrsyCExZvPnzk8mNogox+RK1C7rP60g23rywZdxQNNA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@storybook/addons": "7.4.2", + "@storybook/channels": "7.4.2", + "@storybook/client-api": "7.4.2", + "@storybook/client-logger": "7.4.2", + "@storybook/components": "7.4.2", + "@storybook/core-common": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/core-webpack": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.2", + "@storybook/node-logger": "7.4.2", + "@storybook/preview": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/router": "7.4.2", + "@storybook/store": "7.4.2", + "@storybook/theming": "7.4.2", + "@swc/core": "^1.3.49", + "@types/node": "^16.0.0", + "@types/semver": "^7.3.4", + "babel-loader": "^9.0.0", + "babel-plugin-named-exports-order": "^0.0.2", + "browser-assert": "^1.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "constants-browserify": "^1.0.0", + "css-loader": "^6.7.1", + "express": "^4.17.3", + "fork-ts-checker-webpack-plugin": "^8.0.0", + "fs-extra": "^11.1.0", + "html-webpack-plugin": "^5.5.0", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "semver": "^7.3.7", + "style-loader": "^3.3.1", + "swc-loader": "^0.2.3", + "terser-webpack-plugin": "^5.3.1", + "ts-dedent": "^2.0.0", + "url": "^0.11.0", + "util": "^0.12.4", + "util-deprecate": "^1.0.2", + "webpack": "5", + "webpack-dev-middleware": "^6.1.1", + "webpack-hot-middleware": "^2.25.1", + "webpack-virtual-modules": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/@types/node": { + "version": "16.18.53", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.53.tgz", + "integrity": "sha512-vVmHeo4tpF8zsknALU90Hh24VueYdu45ZlXzYWFbom61YR4avJqTFDC3QlWzjuTdAv6/3xHaxiO9NrtVZXrkmw==", + "dev": true + }, + "node_modules/@storybook/builder-webpack5/node_modules/webpack-dev-middleware": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz", + "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.12", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/@storybook/channels": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.2.tgz", + "integrity": "sha512-Q95KnV+fTGaAV3S875+d5LlGg+bdC3bUnki3engODDS4ViSRHJ1bnXnqxKmAaS3O/52geIyWWR766YvwHw3avw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/cli": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.4.2.tgz", + "integrity": "sha512-WleObtC7OU2lT+pI2vTdXZPFMKDGbg3bkUJ+PG8+yqGg53ea5ZkwKWg9qHpXuiMkYDztqhbA8kYrny1GqFuVdg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/types": "^7.22.5", + "@ndelangen/get-tarball": "^3.0.7", + "@storybook/codemod": "7.4.2", + "@storybook/core-common": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/core-server": "7.4.2", + "@storybook/csf-tools": "7.4.2", + "@storybook/node-logger": "7.4.2", + "@storybook/telemetry": "7.4.2", + "@storybook/types": "7.4.2", + "@types/semver": "^7.3.4", + "@yarnpkg/fslib": "2.10.3", + "@yarnpkg/libzip": "2.3.0", + "chalk": "^4.1.0", + "commander": "^6.2.1", + "cross-spawn": "^7.0.3", + "detect-indent": "^6.1.0", + "envinfo": "^7.7.3", + "execa": "^5.0.0", + "express": "^4.17.3", + "find-up": "^5.0.0", + "fs-extra": "^11.1.0", + "get-npm-tarball-url": "^2.0.3", + "get-port": "^5.1.1", + "giget": "^1.0.0", + "globby": "^11.0.2", + "jscodeshift": "^0.14.0", + "leven": "^3.1.0", + "ora": "^5.4.1", + "prettier": "^2.8.0", + "prompts": "^2.4.0", + "puppeteer-core": "^2.1.1", + "read-pkg-up": "^7.0.1", + "semver": "^7.3.7", + "simple-update-notifier": "^2.0.0", + "strip-json-comments": "^3.0.1", + "tempy": "^1.0.1", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "bin": { + "getstorybook": "bin/index.js", + "sb": "bin/index.js" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/cli/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@storybook/cli/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@storybook/cli/node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@storybook/cli/node_modules/@babel/preset-env": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.20.tgz", + "integrity": "sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.20", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@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.15", + "@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.15", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.15", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.15", + "@babel/plugin-transform-modules-systemjs": "^7.22.11", + "@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.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.22.15", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@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.10", + "@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.6-no-external-plugins", + "@babel/types": "^7.22.19", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@storybook/cli/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" + } + }, + "node_modules/@storybook/cli/node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@storybook/cli/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/@storybook/cli/node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@storybook/cli/node_modules/babel-plugin-polyfill-corejs2/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" + } + }, + "node_modules/@storybook/cli/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@storybook/cli/node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@storybook/cli/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/@storybook/cli/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@storybook/cli/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/@storybook/cli/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/@storybook/client-api": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-7.4.2.tgz", + "integrity": "sha512-nmDoEUkUqnHXUKMEs6m59rc4ZPKCVMmHhqccFFIsuLbPtsTqvbWk3Zt+CK6LoI651pafoM4V4zAY5eW0OpApIg==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/preview-api": "7.4.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/client-logger": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.2.tgz", + "integrity": "sha512-LC8tYrYSJwF4DHRdNYh6y8hSvccwUIv5/WOZKJDmKx7mcEm6HsVuUu16C9jsl7iy6IqJYxgVz1va3WS6852E+A==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/codemod": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.4.2.tgz", + "integrity": "sha512-wU+SLHG/PpLptI0aWEhPxwFPcX7uYe+Id21DKNPg/HvYaLG3N+/DPDef+lm3Vaov9w4OD74iuQ3knT67SSkvmw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/types": "^7.22.5", + "@storybook/csf": "^0.1.0", + "@storybook/csf-tools": "7.4.2", + "@storybook/node-logger": "7.4.2", + "@storybook/types": "7.4.2", + "@types/cross-spawn": "^6.0.2", + "cross-spawn": "^7.0.3", + "globby": "^11.0.2", + "jscodeshift": "^0.14.0", + "lodash": "^4.17.21", + "prettier": "^2.8.0", + "recast": "^0.23.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/codemod/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@storybook/codemod/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@storybook/codemod/node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@storybook/codemod/node_modules/@babel/preset-env": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.20.tgz", + "integrity": "sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.20", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@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.15", + "@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.15", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.15", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.15", + "@babel/plugin-transform-modules-systemjs": "^7.22.11", + "@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.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.22.15", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@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.10", + "@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.6-no-external-plugins", + "@babel/types": "^7.22.19", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@storybook/codemod/node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@storybook/codemod/node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@storybook/codemod/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@storybook/codemod/node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@storybook/codemod/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" + } + }, + "node_modules/@storybook/components": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.4.2.tgz", + "integrity": "sha512-ecbDzSUd74vf6IwHsbQr+9mVRxKWLmwd9zJ8RHMcR8UejTRAAR/eVvYoCG331TQ8TrhTmHTy5xCVv47pm6ORkQ==", + "dev": true, + "dependencies": { + "@radix-ui/react-select": "^1.2.2", + "@radix-ui/react-toolbar": "^1.0.4", + "@storybook/client-logger": "7.4.2", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/theming": "7.4.2", + "@storybook/types": "7.4.2", + "memoizerific": "^1.11.3", + "use-resize-observer": "^9.1.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/core-common": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.4.2.tgz", + "integrity": "sha512-Qj9S97TYO+jSNdC2+LrMFtZRvTnELeFnRtn/MDWhkM6mpZgRglxlZuXi5enJjqTh0dISAUxPpTtXNAJDfX99JA==", + "dev": true, + "dependencies": { + "@storybook/core-events": "7.4.2", + "@storybook/node-logger": "7.4.2", + "@storybook/types": "7.4.2", + "@types/find-cache-dir": "^3.2.1", + "@types/node": "^16.0.0", + "@types/node-fetch": "^2.6.4", + "@types/pretty-hrtime": "^1.0.0", + "chalk": "^4.1.0", + "esbuild": "^0.18.0", + "esbuild-register": "^3.4.0", + "file-system-cache": "2.3.0", + "find-cache-dir": "^3.0.0", + "find-up": "^5.0.0", + "fs-extra": "^11.1.0", + "glob": "^10.0.0", + "handlebars": "^4.7.7", + "lazy-universal-dotenv": "^4.0.0", + "node-fetch": "^2.0.0", + "picomatch": "^2.3.0", + "pkg-dir": "^5.0.0", + "pretty-hrtime": "^1.0.3", + "resolve-from": "^5.0.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/core-common/node_modules/@types/node": { + "version": "16.18.53", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.53.tgz", + "integrity": "sha512-vVmHeo4tpF8zsknALU90Hh24VueYdu45ZlXzYWFbom61YR4avJqTFDC3QlWzjuTdAv6/3xHaxiO9NrtVZXrkmw==", + "dev": true + }, + "node_modules/@storybook/core-common/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/@storybook/core-common/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" + } + }, + "node_modules/@storybook/core-common/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/@storybook/core-common/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/@storybook/core-common/node_modules/glob": { + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz", + "integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@storybook/core-common/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/@storybook/core-common/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" + } + }, + "node_modules/@storybook/core-common/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/@storybook/core-common/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/@storybook/core-events": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.2.tgz", + "integrity": "sha512-WCEBw+Ew8DrccnB0hpP9TXadreoOlMnWCyuXU2XrvmK/vde009leWQIsLs1rY+L17zDVuogBms62AxrDDJmMpw==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-server": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.4.2.tgz", + "integrity": "sha512-4aaFQTjb8jsbzJeCs+VTo3gdyK3r3VhQN2sxn6k/lcKjQFeO84+iqGgGmb+oWUVz2TJL+JrNh7SUXkVsMZBXVQ==", + "dev": true, + "dependencies": { + "@aw-web-design/x-default-browser": "1.4.126", + "@discoveryjs/json-ext": "^0.5.3", + "@storybook/builder-manager": "7.4.2", + "@storybook/channels": "7.4.2", + "@storybook/core-common": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/csf": "^0.1.0", + "@storybook/csf-tools": "7.4.2", + "@storybook/docs-mdx": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/manager": "7.4.2", + "@storybook/node-logger": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/telemetry": "7.4.2", + "@storybook/types": "7.4.2", + "@types/detect-port": "^1.3.0", + "@types/node": "^16.0.0", + "@types/pretty-hrtime": "^1.0.0", + "@types/semver": "^7.3.4", + "better-opn": "^3.0.2", + "chalk": "^4.1.0", + "cli-table3": "^0.6.1", + "compression": "^1.7.4", + "detect-port": "^1.3.0", + "express": "^4.17.3", + "fs-extra": "^11.1.0", + "globby": "^11.0.2", + "ip": "^2.0.0", + "lodash": "^4.17.21", + "open": "^8.4.0", + "pretty-hrtime": "^1.0.3", + "prompts": "^2.4.0", + "read-pkg-up": "^7.0.1", + "semver": "^7.3.7", + "serve-favicon": "^2.5.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1", + "ts-dedent": "^2.0.0", + "util": "^0.12.4", + "util-deprecate": "^1.0.2", + "watchpack": "^2.2.0", + "ws": "^8.2.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-server/node_modules/@types/node": { + "version": "16.18.53", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.53.tgz", + "integrity": "sha512-vVmHeo4tpF8zsknALU90Hh24VueYdu45ZlXzYWFbom61YR4avJqTFDC3QlWzjuTdAv6/3xHaxiO9NrtVZXrkmw==", + "dev": true + }, + "node_modules/@storybook/core-server/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/@storybook/core-server/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/@storybook/core-server/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/@storybook/core-server/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/@storybook/core-webpack": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.4.2.tgz", + "integrity": "sha512-k6YBkExt1XtQSx6E25nE9lCq87hbzkwBlAhzPcFKGeKQia7Uc+l5IG73+9sWXXJ2sbL/7eCaFg4L7payo2aOkw==", + "dev": true, + "dependencies": { + "@storybook/core-common": "7.4.2", + "@storybook/node-logger": "7.4.2", + "@storybook/types": "7.4.2", + "@types/node": "^16.0.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-webpack/node_modules/@types/node": { + "version": "16.18.53", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.53.tgz", + "integrity": "sha512-vVmHeo4tpF8zsknALU90Hh24VueYdu45ZlXzYWFbom61YR4avJqTFDC3QlWzjuTdAv6/3xHaxiO9NrtVZXrkmw==", + "dev": true + }, + "node_modules/@storybook/csf": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.1.tgz", + "integrity": "sha512-4hE3AlNVxR60Wc5KSC68ASYzUobjPqtSKyhV6G+ge0FIXU55N5nTY7dXGRZHQGDBPq+XqchMkIdlkHPRs8nTHg==", + "dev": true, + "dependencies": { + "type-fest": "^2.19.0" + } + }, + "node_modules/@storybook/csf-plugin": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.4.5.tgz", + "integrity": "sha512-8p3AnwIm3xXtQhiF7OQ0rBiP/Pn5OCMHRiT4FytRnNimGaw7gxRZ2xzM608QZHQ4A8rHfmgoM2FTwgxdC15ulA==", + "dev": true, + "dependencies": { + "@storybook/csf-tools": "7.4.5", + "unplugin": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/csf-plugin/node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@storybook/csf-plugin/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@storybook/csf-plugin/node_modules/@storybook/channels": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.5.tgz", + "integrity": "sha512-zWPZn4CxPFXsrrSRQ9JD8GmTeWeFYgr3sTBpe23hnhYookCXVNJ6AcaXogrT9b2ALfbB6MiFDbZIHHTgIgbWpg==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.5", + "@storybook/core-events": "7.4.5", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/csf-plugin/node_modules/@storybook/client-logger": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.5.tgz", + "integrity": "sha512-Bn6eTAjhPDUfLpvuxhKkpDpOtkadfkSmkBNBZRu3r0Dzk2J1nNyKV5K6D8dOU4PFVof4z/gXYj5bktT29jKsmw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/csf-plugin/node_modules/@storybook/core-events": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.5.tgz", + "integrity": "sha512-Jzy/adSC95saYCZlgXE5j7jmiMLAXYpnBFBxEtBdXwSWEBb0zt21n1nyWBEAv9s/k2gqDXlPHKHeL5Mn6y40zA==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/csf-plugin/node_modules/@storybook/csf-tools": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.4.5.tgz", + "integrity": "sha512-xbm5HGYvlwF0Efivx37v9rO7Exel1/Tdb/Yv/vXn4D/hQeljNVLNz4Bomfy4EQ207rRsrGDSOHEhLUbHDimnxg==", + "dev": true, + "dependencies": { + "@babel/generator": "^7.22.9", + "@babel/parser": "^7.22.7", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "@storybook/csf": "^0.1.0", + "@storybook/types": "7.4.5", + "fs-extra": "^11.1.0", + "recast": "^0.23.1", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/csf-plugin/node_modules/@storybook/types": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.5.tgz", + "integrity": "sha512-DTWFNjfRTpncjufDoUs0QnNkgHG2qThGKWL1D6sO18cYI02zWPyHWD8/cbqlvtT7XIGe3s1iUEfCTdU5GcwWBA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.5", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/csf-tools": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.4.2.tgz", + "integrity": "sha512-5AvF2YRcYHIqQqskb3R8JvsmSWnNwkP0CGmP8Zq7zIfK/C+npKb/onv5YQlbSgh+2UrVxVdIDLc9AepBeXC3uQ==", + "dev": true, + "dependencies": { + "@babel/generator": "^7.22.9", + "@babel/parser": "^7.22.7", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "@storybook/csf": "^0.1.0", + "@storybook/types": "7.4.2", + "fs-extra": "^11.1.0", + "recast": "^0.23.1", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/csf-tools/node_modules/@babel/generator": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.15.tgz", + "integrity": "sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@storybook/csf-tools/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@storybook/docs-mdx": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz", + "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==", + "dev": true + }, + "node_modules/@storybook/docs-tools": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.4.2.tgz", + "integrity": "sha512-MXW+xaxah+C+aqJ5178oOILqX7dCSwJMKJefIJHHwr9w6UuGRaiPG1NDYK/0N0IEv9H8pNnXPnw3R8S6x7COhQ==", + "dev": true, + "dependencies": { + "@storybook/core-common": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/types": "7.4.2", + "@types/doctrine": "^0.0.3", + "doctrine": "^3.0.0", + "lodash": "^4.17.21" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/global": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", + "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", + "dev": true + }, + "node_modules/@storybook/instrumenter": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-7.4.2.tgz", + "integrity": "sha512-g0tYjfv8q6RLl7PK3cyZGcdhad+4BspT1TXHl5Z4DFSo+bqFyHkP6X9tXzrpfQk+3abNrh5EjPaeec4+YHAOEw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.2", + "@storybook/client-logger": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.4.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/manager": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.4.2.tgz", + "integrity": "sha512-MtjmbAaf4hUObAa2ETQkm0+SzESoPeNm+TyzwZU5qq3Ouj4IOj2Ugd8EJPO3isdHxYt26A255tW/G9mb9v20fQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/manager-api": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.2.tgz", + "integrity": "sha512-gKPG0At9AGhF32iwjiba+ILqswc3ZFj9ZIu5HjGEmaoiOfqI6TayuHoptup0QxkI/Hx8f9mNkHCwR9COrmb69w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.2", + "@storybook/client-logger": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.2", + "@storybook/theming": "7.4.2", + "@storybook/types": "7.4.2", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/mdx2-csf": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz", + "integrity": "sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==", + "dev": true + }, + "node_modules/@storybook/node-logger": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.4.2.tgz", + "integrity": "sha512-iSBjhnMpWY9Hs5KGnf/xfHjGtGl740LUg4Gce874DuL773Mdc4hdppSKr4X/Pp1/AD67mNuifSXYx3V7d6XzTQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/postinstall": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.4.5.tgz", + "integrity": "sha512-MWRjnKkUpEe2VkHNNpv3zkuMvxM2Zu9DMxFENQaEmhqUHkIFh5klfFwzhSBRexVLzIh7DA1p7mntIpY5A6lh+Q==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/preview": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.4.2.tgz", + "integrity": "sha512-T7rAV6qQ7tBeSvgi0RuA5EU8tm1OMhU8PcCqosWGaLhMCR0VMzw1/WGKuR11g1XmzvaAm2xGgMp82nqi4G0i7A==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/preview-api": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.2.tgz", + "integrity": "sha512-ihTHRYzI/sI6bD215aYppiWF+1u38TrlsNjFYJ/Grftbti5d40g5wCwvAXK41SxJNYpk6CRtfvNKOwbEAC33gg==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.2", + "@storybook/client-logger": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.2", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/react-dom-shim": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.4.5.tgz", + "integrity": "sha512-/hGe8yuiWbT7L3ZsllmJPgxT9MEQE3k23FhliyKx6IGHsWoYaEsPYPZ9tygqtKY8RpqqMUKWz8+kbO79zUxaoQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/router": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.2.tgz", + "integrity": "sha512-TFpMrmliklWNSrF84kGnh3WcLZciqIvaAjhxahqD+kx070KLqjxrsiny7UC6PUUYZdjLkbR9m8n3SFdXAVKgLw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/store": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-7.4.2.tgz", + "integrity": "sha512-WYwhdyGEtOZlLkbGqfzsTY5IsVuQCz6J00g63bEQwxiCx3ZNco+HXGoQhV/SH3G+em2++1sh6BETFuZ5sbwmkQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/preview-api": "7.4.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/telemetry": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.4.2.tgz", + "integrity": "sha512-ZAh1Bjk9JVpL5j0Aj3PHr3XEDZcOrFeugVyRuuul2gAyu6SbpPhl8Dd2Wr9YJS0ZDWs3u0CgKRCeFPPAi3QosA==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/core-common": "7.4.2", + "@storybook/csf-tools": "7.4.2", + "chalk": "^4.1.0", + "detect-package-manager": "^2.0.1", + "fetch-retry": "^5.0.2", + "fs-extra": "^11.1.0", + "read-pkg-up": "^7.0.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/telemetry/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/@storybook/telemetry/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/@storybook/telemetry/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/@storybook/telemetry/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/@storybook/testing-library": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@storybook/testing-library/-/testing-library-0.2.1.tgz", + "integrity": "sha512-AdbfLCm1C2nEFrhA3ScdicfW6Fjcorehr6RlGwECMiWwaXisnP971Wd4psqtWxlAqQo4tYBZ0f6rJ3J78JLtsg==", + "dev": true, + "dependencies": { + "@testing-library/dom": "^9.0.0", + "@testing-library/user-event": "~14.4.0", + "ts-dedent": "^2.2.0" + } + }, + "node_modules/@storybook/theming": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.2.tgz", + "integrity": "sha512-wVmxZHVCqDoZgUOXTS4HRV4UClLtCydRNOEuUZ7X08QIPSA1FVL3gEpTQJfgCsyBX/cwSSofAMUbzAGEVNo+9g==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.2", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/types": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.2.tgz", + "integrity": "sha512-OOJ2TeS3Zzc6spHbdH+JXml0q4IHuYt9axmXAv1/pkhqHjA5072pyUacmlYNQeihpQOOsKLiCQUQlvtMy9fTnQ==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.2", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@swc/core": { + "version": "1.3.86", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.86.tgz", + "integrity": "sha512-bEXUtm37bcmJ3q+geG7Zy4rJNUzpxalXQUrrqX1ZoGj3HRtzdeVZ0L/um3fG2j16qe61t8TX/OIZ2G6j6dkG/w==", + "devOptional": true, + "hasInstallScript": true, + "dependencies": { + "@swc/types": "^0.1.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.3.86", + "@swc/core-darwin-x64": "1.3.86", + "@swc/core-linux-arm-gnueabihf": "1.3.86", + "@swc/core-linux-arm64-gnu": "1.3.86", + "@swc/core-linux-arm64-musl": "1.3.86", + "@swc/core-linux-x64-gnu": "1.3.86", + "@swc/core-linux-x64-musl": "1.3.86", + "@swc/core-win32-arm64-msvc": "1.3.86", + "@swc/core-win32-ia32-msvc": "1.3.86", + "@swc/core-win32-x64-msvc": "1.3.86" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.3.86", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.86.tgz", + "integrity": "sha512-hMvSDms0sJJHNtRa3Vhmr9StWN1vmikbf5VE0IZUYGnF1/JZTkXU1h6CdNUY4Hr6i7uCZjH6BEhxFHX1JtKV4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.3.86", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.86.tgz", + "integrity": "sha512-Jro6HVH4uSOBM7tTDaQNKLNc8BJV7n+SO+Ft2HAZINyeKJS/8MfEYneG7Vmqg18gv00c6dz9AOCcyz+BR7BFkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.3.86", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.86.tgz", + "integrity": "sha512-wYB9m0pzXJVSzedXSl4JwS3gKtvcPinpe9MbkddezpqL7OjyDP6pHHW9qIucsfgCrtMtbPC2nqulXLPtAAyIjw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.3.86", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.86.tgz", + "integrity": "sha512-fR44IyK5cdCaO8cC++IEH0Jn03tWnunJnjzA99LxlE5TRInSIOvFm+g5OSUQZDAvEXmQ38sd31LO2HOoDS1Edw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.3.86", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.86.tgz", + "integrity": "sha512-EUPfdbK4dUk/nkX3Vmv/47XH+DqHOa9JI0CTthvJ8/ZXei1MKDUsUc+tI1zMQX2uCuSkSWsEIEpCmA0tMwFhtw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.3.86", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.86.tgz", + "integrity": "sha512-snVZZWv8XgNVaKrTxtO3rUN+BbbB6I8Fqwe8zM/DWGJ096J13r89doQ48x5ZyO+bW4D48eZIWP5pdfSW7oBE3w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.3.86", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.86.tgz", + "integrity": "sha512-PnnksUJymEJkdnbV2orOSOSB441UqsxYbJge9zbr5UTRXUfWO3eFRV0iTBegjTlOQGbW6yN+YRSDkenTbmCI6g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.3.86", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.86.tgz", + "integrity": "sha512-XlGEGyHwLndm08VvgeAPGj40L+Hx575MQC+2fsyB1uSNUN+uf7fvke+wc7k50a92CaQe/8foLyIR5faayozEJA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.3.86", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.86.tgz", + "integrity": "sha512-U1BhZa1x9yn+wZGTQmt1cYR79a0FzW/wL6Jas1Pn0bykKLxdRU4mCeZt2P+T3buLm8jr8LpPWiCrbvr658PzwA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.3.86", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.86.tgz", + "integrity": "sha512-wRoQUajqpE3wITHhZVj/6BPu/QwHriFHLHuJA+9y6PeGtUtTmntL42aBKXIFhfL767dYFtohyNg1uZ9eqbGyGQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/types": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz", + "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==", + "devOptional": true + }, + "node_modules/@testing-library/dom": { + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", + "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@testing-library/dom/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/@testing-library/dom/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/@testing-library/dom/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/@testing-library/dom/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/@testing-library/user-event": { + "version": "14.4.3", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.4.3.tgz", + "integrity": "sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==", + "dev": true, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "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/@ts-morph/common": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.19.0.tgz", + "integrity": "sha512-Unz/WHmd4pGax91rdIKWi51wnVUW11QttMEPpBiBgIewnc9UQIX7UDLxr5vRlqeByXCwhkF6VabSsI0raWcyAQ==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.12", + "minimatch": "^7.4.3", + "mkdirp": "^2.1.6", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@ts-morph/common/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" + } + }, + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@ts-morph/common/node_modules/mkdirp": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz", + "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==", + "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", + "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz", + "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz", + "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz", + "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", + "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.11.tgz", + "integrity": "sha512-isGhjmBtLIxdHBDl2xGwUzEM8AOyOvWsADWq7rqirdi/ZQoHnLWErHvsThcEzTX8juDRiZtzp2Qkv5bgNh6mAg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.1.tgz", + "integrity": "sha512-iaQslNbARe8fctL5Lk+DsmgWOM83lM+7FzP0eQUJs1jd3kBE8NWqBTIT2S8SqQOJjxvt2eyIjpOuYeRXq2AdMw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.14", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.14.tgz", + "integrity": "sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cross-spawn": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.3.tgz", + "integrity": "sha512-BDAkU7WHHRHnvBf5z89lcvACsvkz/n7Tv+HyD/uW76O29HoH1Tk/W6iQrepaZVbisvlEek4ygwT8IW7ow9XLAA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/date-fns": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@types/date-fns/-/date-fns-2.6.0.tgz", + "integrity": "sha512-9DSw2ZRzV0Tmpa6PHHJbMcZn79HHus+BBBohcOaDzkK/G3zMjDUDYjJIWBFLbkh+1+/IOS0A59BpQfdr37hASg==", + "deprecated": "This is a stub types definition for date-fns (https://github.com/date-fns/date-fns). date-fns provides its own type definitions, so you don't need @types/date-fns installed!", + "dev": true, + "dependencies": { + "date-fns": "*" + } + }, + "node_modules/@types/detect-port": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/detect-port/-/detect-port-1.3.3.tgz", + "integrity": "sha512-bV/jQlAJ/nPY3XqSatkGpu+nGzou+uSwrH1cROhn+jBFg47yaNH+blW4C7p9KhopC7QxCv/6M86s37k8dMk0Yg==", + "dev": true + }, + "node_modules/@types/doctrine": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.3.tgz", + "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==", + "dev": true + }, + "node_modules/@types/ejs": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.2.tgz", + "integrity": "sha512-ZmiaE3wglXVWBM9fyVC17aGPkLo/UgaOjEiI2FXQfyczrCefORPxIe+2dVmnmk3zkVIbizjrlQzmPGhSYGXG5g==", + "dev": true + }, + "node_modules/@types/emscripten": { + "version": "1.39.7", + "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.7.tgz", + "integrity": "sha512-tLqYV94vuqDrXh515F/FOGtBcRMTPGvVV1LzLbtYDcQmmhtpf/gLYf+hikBbQk8MzOHNz37wpFfJbYAuSn8HqA==", + "dev": true + }, + "node_modules/@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.36", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz", + "integrity": "sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/find-cache-dir": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz", + "integrity": "sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==", + "dev": true + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true + }, + "node_modules/@types/http-errors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", + "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==", + "dev": true + }, + "node_modules/@types/http-proxy": { + "version": "1.17.12", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.12.tgz", + "integrity": "sha512-kQtujO08dVtQ2wXAuSFfk9ASy3sug4+ogFR8Kd8UgP8PEuc1/G/8yjYRmp//PcDNJEUKOza/MrQu15bouEUCiw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.6.tgz", + "integrity": "sha512-3N0FpQTeiWjm+Oo1WUYWguUS7E6JLceiGTriFrG8k5PU7zRLJCzLcWURU3wjMbZGS//a2/LgjsnO3QxIlwxt9g==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.14.198", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz", + "integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==" + }, + "node_modules/@types/mdx": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.7.tgz", + "integrity": "sha512-BG4tyr+4amr3WsSEmHn/fXPqaCba/AYZ7dsaQTiavihQunHSIxk+uAtqsjvicNpyHN6cm+B9RVrUOtW9VzIKHw==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "node_modules/@types/mime-types": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz", + "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.3.tgz", + "integrity": "sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==" + }, + "node_modules/@types/node-fetch": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-OZsUlr2nxvkqUFLSaY2ZbA+P1q22q+KrlxWOn/38RX+u5kTkYL2mTujEpzUhGkS+K/QCYp9oagfXG39XOzyySg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/pretty-hrtime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz", + "integrity": "sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.6", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.6.tgz", + "integrity": "sha512-RK/kBbYOQQHLYj9Z95eh7S6t7gq4Ojt/NT8HTk8bWVhA5DaF+5SMnxHKkP4gPNN3wAZkKP+VjAf0ebtYzf+fxg==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.22", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.22.tgz", + "integrity": "sha512-60fLTOLqzarLED2O3UQImc/lsNRgG0jE/a1mPW9KjMemY0LMITWEsbS4VvZ4p6rorEHd5YKxxmMKSDK505GHpA==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "16.9.19", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.19.tgz", + "integrity": "sha512-xC8D280Bf6p0zguJ8g62jcEOKZiUbx9sIe6O3tT/lKfR87A7A6g65q13z6D5QUMIa/6yFPkNhqjF5z/VVZEYqQ==", + "dev": true, + "dependencies": { + "@types/react": "^16" + } + }, + "node_modules/@types/react-dom/node_modules/@types/react": { + "version": "16.14.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.46.tgz", + "integrity": "sha512-Am4pyXMrr6cWWw/TN3oqHtEZl0j+G6Up/O8m65+xF/3ZaUgkv1GAtTPWw4yNRmH0HJXmur6xKCKoMo3rBGynuw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.8.tgz", + "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==", + "dev": true + }, + "node_modules/@types/webpack-env": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.1.tgz", + "integrity": "sha512-D0HJET2/UY6k9L6y3f5BL+IDxZmPkYmPT4+qBrRdmRLYRuV0qNKizMgTvYxXZYn+36zjPeoDZAEYBCM6XB+gww==", + "dev": true + }, + "node_modules/@types/ws": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@yarnpkg/esbuild-plugin-pnp": { + "version": "3.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz", + "integrity": "sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==", + "dev": true, + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "esbuild": ">=0.10.0" + } + }, + "node_modules/@yarnpkg/fslib": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz", + "integrity": "sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==", + "dev": true, + "dependencies": { + "@yarnpkg/libzip": "^2.3.0", + "tslib": "^1.13.0" + }, + "engines": { + "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" + } + }, + "node_modules/@yarnpkg/fslib/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@yarnpkg/libzip": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz", + "integrity": "sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==", + "dev": true, + "dependencies": { + "@types/emscripten": "^1.39.6", + "tslib": "^1.13.0" + }, + "engines": { + "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" + } + }, + "node_modules/@yarnpkg/libzip/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "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 + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "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/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": "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" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-styles/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ansi-styles/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/apache-crypt": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.6.tgz", + "integrity": "sha512-072WetlM4blL8PREJVeY+WHiUh1R5VNt2HfceGS8aKqttPHcmqE5pkKuXPz/ULmJOFkc8Hw3kfKl6vy7Qka6DA==", + "dev": true, + "dependencies": { + "unix-crypt-td-js": "^1.1.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/apache-md5": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.8.tgz", + "integrity": "sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/app-root-dir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", + "integrity": "sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==", + "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/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/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dev": true, + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/array-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", + "integrity": "sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" + } + }, + "node_modules/ast-transform": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/ast-transform/-/ast-transform-0.0.0.tgz", + "integrity": "sha512-e/JfLiSoakfmL4wmTGPjv0HpTICVmxwXgYOB8x+mzozHL8v+dSfCbrJ8J8hJ0YBP0XcYu1aLZ6b/3TnxNK3P2A==", + "dev": true, + "dependencies": { + "escodegen": "~1.2.0", + "esprima": "~1.0.4", + "through": "~2.3.4" + } + }, + "node_modules/ast-transform/node_modules/esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ast-types": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz", + "integrity": "sha512-RIOpVnVlltB6PcBJ5BMLx+H+6JJ/zjDGU0t7f0L6c2M1dqcK92VQopLBlPQ9R80AVXelfqYgjcPLtHtDbNFg0Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "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" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-loader": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", + "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.2", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "@material/focus-ring": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-ikw2RVUfgzXChpWIzPH1VzRvTjYb5ZKj4H+CZf7jqPUXMstFOZg90Bp7ARLZHqYiyNMuUq3zUTHozS6iHorSqg==", - "requires": { - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0" + "node_modules/babel-plugin-named-exports-order": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz", + "integrity": "sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==", + "dev": true + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@material/form-field": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-vpF9N/uq5no/7+8GAbEH0868FhOuBgxAWRr1Sfb+jthKfBr8OS/wPU/AHzZHdHdAm7PQynbeOXfDsX2dI//PDA==", - "requires": { - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/babel-plugin-polyfill-corejs2/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" } }, - "@material/icon-button": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-wMI+XGzmIN/o2ePBKg2hLyx7H4pXCRAyyIKMQS1FMp1UKa2tYmiHVX/V8skhKwCqxg3i6Ls/LxMjfPxTR18WvQ==", - "requires": { - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/focus-ring": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/touch-target": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", + "dev": true + }, + "node_modules/better-opn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", + "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", + "dev": true, + "dependencies": { + "open": "^8.0.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/bonjour-service/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brfs": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-2.0.2.tgz", + "integrity": "sha512-IrFjVtwu4eTJZyu8w/V2gxU7iLTtcHih67sgEdzrhjLBMHp2uYefUBfdM4k2UvcuWMgV7PQDZHSLeNWnLFKWVQ==", + "dev": true, + "dependencies": { + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^3.0.2", + "through2": "^2.0.0" + }, + "bin": { + "brfs": "bin/cmd.js" + } + }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "dev": true, + "dependencies": { + "base64-js": "^1.1.2" + } + }, + "node_modules/browser-assert": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", + "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", + "dev": true + }, + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "dependencies": { + "resolve": "1.1.7" + } + }, + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "dev": true + }, + "node_modules/browserify-optional": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-optional/-/browserify-optional-1.0.1.tgz", + "integrity": "sha512-VrhjbZ+Ba5mDiSYEuPelekQMfTbhcA2DhLk2VQWqdcCROWeFqlTcXZ7yfRkXCIl8E+g4gINJYJiRB7WEtfomAQ==", + "dev": true, + "dependencies": { + "ast-transform": "0.0.0", + "ast-types": "^0.7.0", + "browser-resolve": "^1.8.1" + } + }, + "node_modules/browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==", + "dev": true, + "dependencies": { + "pako": "~0.2.0" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "@material/image-list": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-Ol+uaHYBe5R/cgzlfh5ONnMVX0wO6fV74JMUcQCQlxP6lXau/edARo4tkRc7A7UJUkU3VRv0EpEjLoCRNUPGaA==", - "requires": { - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" } }, - "@material/layout-grid": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-ALXE1mqFNb/RB2lVRQ3/r1Aufw2mFZnOjRE+boYDVepmAG/xWyPCyaGoavELJF5l4GAb0tXi8wA/8HeGbLOpuA==", - "requires": { - "tslib": "^2.1.0" + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "@material/line-ripple": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-7hRx8C/e9i0P6pgQpNOMfTwSS2r1fwEvBL72QDVGLtLuoKKwsjjgP6Z0Jat/GeHJe87u9LQvGBoD4upt+of/HA==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" } }, - "@material/linear-progress": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-iJclt7mKmcMk6pqD7ocXKfCWZhqBoODp7N593jYlxVpTJuEz2wiVAjZUDn/YGj/Uz3CRH+2YFfOiLr9pwWjhDg==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/progress-indicator": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", + "dev": true, + "engines": { + "node": ">=0.4.0" } }, - "@material/list": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-rQ+FCSdzmwTcT00IYE0uRV3CS4oGSccKFl9hkcF+aHFW61L7ORh/SCGUDPrEfQFrFkMn5f8qroVJjpUAMXBz4g==", - "requires": { - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@material/menu": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-r7wzDLSGSI9629/mfpvsMzkVxpmV75kcD3IrW0Pcu6/Bv/1xi0EvjcUXzNJJoQlwN4Zj35Ymz/PCjZkIDIz68Q==", - "requires": { - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/list": "15.0.0-canary.684e33d25.0", - "@material/menu-surface": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" } }, - "@material/menu-surface": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-RVO5GAYcfWPaKwxsF/NhUAmrYXQCQBKvRQW0TIlbmAJz6lcFeTs6YZqF3u1C7qrL3ZQGz+sur/7ywj6QU0oMow==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" } }, - "@material/notched-outline": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-9YHcBkvJLPVYzkHcWoTpBZAFrEd+j1hjhGxLhh0LuNrZe8VroUkZD1TTnUAPHRG3os6EqEWWaKb0RN+aPIF2yQ==", - "requires": { - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/floating-label": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/cacache": { + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^8.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@material/progress-indicator": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-c0icji4faeNWUoqGENGC7Hav0Puxh0RwXIDVizffaUxKIGbajpIp5+4Zop73fK/xFLGMB/npg7TbP+aCGjQ3fw==", - "requires": { - "tslib": "^2.1.0" + "node_modules/cacache/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" } }, - "@material/radio": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-U3Eh8sNUA8trDla1Bq8Bo02foxYvtoewaKeF8A8tAju81XZ4jRiftfOsOWZDZEHCVbbCB2QwvutvFlnay5n+Aw==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/focus-ring": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/touch-target": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@material/ripple": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-RyePu7SjIm/OuyyEieZ/gxiPYkNZOZHeid72WRcN9ofdlljj2pifcdPvcfZA+v/DMS33xo5GjG2L/Qj6ClWrKw==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", + "dev": true, + "engines": { + "node": "*" } }, - "@material/rtl": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-NqdJl8Ayupp1Th+vCNCpVQHbUFOuF7TCte9LD1norTIBUF/QizIxWby2W5uUEiPbnh5j9PmE1CJtfLwKun3pcw==", - "requires": { - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" } }, - "@material/segmented-button": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-bEGgg8vgXNLyukyV8HRjFMuQ6t6nm5LQ4Pgm22um61Yc8qyi0BOqV41OR4SVdUrUqZxh1aVD+p+4NN03+LfQXw==", - "requires": { - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/touch-target": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" } }, - "@material/select": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-kf178/2TeEinTv0mgmSBcmmExQ2h7a7dtR1E3WuqQgisJ/R6+zVLMkC2CnfIyzxYX2vkuUTG0ue3Reh/6XiqSg==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/floating-label": "15.0.0-canary.684e33d25.0", - "@material/line-ripple": "15.0.0-canary.684e33d25.0", - "@material/list": "15.0.0-canary.684e33d25.0", - "@material/menu": "15.0.0-canary.684e33d25.0", - "@material/menu-surface": "15.0.0-canary.684e33d25.0", - "@material/notched-outline": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" } }, - "@material/shape": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-aEelpaTFmpnCji3TUGP9bVCS/bRVjUmLTHBPZtuu1gOrUVVtJ6kYOg73dZNJF+XOoNL2yOX/LRcKwsop29tptA==", - "requires": { - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/caniuse-lite": { + "version": "1.0.30001538", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz", + "integrity": "sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "dev": true, + "engines": { + "node": ">=4" } }, - "@material/slider": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-WVyK+2pSNSZmj07M2K/a3TADoQ9FBCndfNC/vE7/wGIg4dddJJK5KvQ+yruf9R2cSzTL/S1sZ5WpyyeM8E9HTw==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "@material/snackbar": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-itO+DCkOannZzR1/cCHcqAm7ifhuFvXmDItNoA8qLEcAyJDJJRkhpwj3XQ01yuo9gBFcSctp7Txt7e+Hncm/Jg==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/button": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/icon-button": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dev": true, + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" } }, - "@material/switch": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-Jxi0gl92yvvZZsAPxvVHzXx2ga+T/djMow98jvEczmpUorWnAhgiCr9CsSSRoosahWyRB8NLZOxUQrACxvffjw==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/focus-ring": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "safevalues": "^0.3.4", - "tslib": "^2.1.0" + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "@material/tab": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-WQL3wj9syHNcfe8KbgGGUcA34M8C/xZ+n0Fkkh8Kk6puVwaU+xqUNihsxPY6YzKpmh4PZ4oJaBdiN8zvFT1zqQ==", - "requires": { - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/focus-ring": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/tab-indicator": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "@material/tab-bar": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-SW/cMaDsIGGkM1ag3A7GJRlmr8eXmObWsvitQJzh6Azr5zzZtSI+GQygkMesAEE1gbpqOVN8d40rh3H7VVIAcA==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/tab": "15.0.0-canary.684e33d25.0", - "@material/tab-indicator": "15.0.0-canary.684e33d25.0", - "@material/tab-scroller": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" } }, - "@material/tab-indicator": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-kKICqSPqOlaf0lzaFFCmuOqPXJC+cK48Qmsc+m5o6fJhkmuZRCYpIwB2JeP+uZSOq/bTH+SrPtCtnVlgWg6ksA==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" } }, - "@material/tab-scroller": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-H6EU/TSiK/M2DyyORX5GEtXD9rKYxTMHC2VxsNWARPMFJGzgeW2ugYkFv+rKI1/c0bs0CJ4e+qFnOlBsQXZvyQ==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/tab": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" } }, - "@material/textfield": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-OvgpDXjvpyJTtAWskO69IDybFvDNzr9w2PN/Fk7yFm+uNVupaWz1Ew8lZ4gGslaTNSVmh2XcsvmzxcLINSiiNg==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/density": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/floating-label": "15.0.0-canary.684e33d25.0", - "@material/line-ripple": "15.0.0-canary.684e33d25.0", - "@material/notched-outline": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" } }, - "@material/theme": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-AZxaXXAvRKzAi20RlMxzt2U5UmkCWyv7DMWEBXsxtG5Tk54mi1HsbVUp3fxDPTlmL7Pq8p1/DESg/o7TgRCVlw==", - "requires": { - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/clean-css/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, + "engines": { + "node": ">=0.10.0" } }, - "@material/tokens": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-wVwbQOTCXDPKYPdHQHLr026y36MMFelID1CmbfRk6mSol4O8yE9U0fXcShfRDW8Qo5E3X31w9c2A6T3neJY7wQ==", - "requires": { - "@material/elevation": "15.0.0-canary.684e33d25.0" + "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" } }, - "@material/tooltip": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-dtm26QjxyQdinc8btgz6yys07b7bUW4FZgNF2EBPeGrICrPg7jf+JEvDziz5g8VMaTBQLOQRSCGy0MKuRlOjLw==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/button": "15.0.0-canary.684e33d25.0", - "@material/dom": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/tokens": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "safevalues": "^0.3.4", - "tslib": "^2.1.0" + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" } }, - "@material/top-app-bar": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-1M+oupUxflfW7u81P1XlxoLZB8bLzwtpKofIfDNRbEsiKhlLTERJR3Yak3BGE9xakNMysAaBHlkb5MrN5bNPFw==", - "requires": { - "@material/animation": "15.0.0-canary.684e33d25.0", - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/elevation": "15.0.0-canary.684e33d25.0", - "@material/ripple": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/shape": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "@material/typography": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/cli-spinners": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", + "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@material/touch-target": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-zdE69Slg8+T7sTn1OwqZ6H7WBYac9mxJ/JlJqfTqthzIjZRcCxBSYymQJcDHjsrPnUojOtr9U4Tpm5YZ96TEkQ==", - "requires": { - "@material/base": "15.0.0-canary.684e33d25.0", - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/rtl": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "@material/typography": { - "version": "15.0.0-canary.684e33d25.0", - "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.684e33d25.0.tgz", - "integrity": "sha512-aVnvgMwcfNa/K4wujzpKDIxjGl2hbkEL+m+OKDSQqWYjKcP9QrbzCXJruJBqxrBoPRHLbqo47k5f9uT8raSgjw==", - "requires": { - "@material/feature-targeting": "15.0.0-canary.684e33d25.0", - "@material/theme": "15.0.0-canary.684e33d25.0", - "tslib": "^2.1.0" + "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" } }, - "@nebular/auth": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@nebular/auth/-/auth-11.0.0.tgz", - "integrity": "sha512-SpbnZwlEYzI9WdYAjcIpzGQp9diOyv0PLVA8DndIXrOTxhawex2xdz/J5ovtc9fmQ7Rh8XY6Wi/WYYFiaWjigg==", - "requires": { - "tslib": "^2.3.0" + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "@nebular/date-fns": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@nebular/date-fns/-/date-fns-11.0.0.tgz", - "integrity": "sha512-fGqDRNovZXBjga8v7moWIB0Pdcsk6qx8KnLrL3jnY+TiOaOTiWvGu35J497cvi7u+E1bAMozZE7I6Or43ABK/w==", - "requires": { - "tslib": "^2.3.0" + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" } }, - "@nebular/eva-icons": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@nebular/eva-icons/-/eva-icons-11.0.0.tgz", - "integrity": "sha512-AGaJHTlScangvPvsWXW2AxaNoCemH5ZP9svS6HlHaJ9AaOsP1I6pQVL5fqfDqCLlVG/leT7Ql5CxLidwXJSujA==", - "requires": { - "tslib": "^2.3.0" + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "@nebular/theme": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@nebular/theme/-/theme-11.0.0.tgz", - "integrity": "sha512-3bwHe9e8MfrQSn0ksZe329gKtnH6aPhkDLZ7TCp+zBqTGvgJeuGP8QxkNtuTZt7EaSjYVp9w/alcQN6yROjVxQ==", - "requires": { - "tslib": "^2.3.0" + "node_modules/code-block-writer": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-12.0.0.tgz", + "integrity": "sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==", + "dev": true + }, + "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" } }, - "@ngtools/webpack": { - "version": "15.2.8", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.8.tgz", - "integrity": "sha512-BJexeT4FxMtToVBGa3wdl6rrkYXgilP0kkSH4Qzu4MPlLPbeBSr4XQalQriewlpC2uzG0r2SJfrAe2eDhtSykA==", + "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 }, - "@ngx-translate/core": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-14.0.0.tgz", - "integrity": "sha512-UevdwNCXMRCdJv//0kC8h2eSfmi02r29xeE8E9gJ1Al4D4jEJ7eiLPdjslTMc21oJNGguqqWeEVjf64SFtvw2w==", - "requires": { - "tslib": "^2.3.0" + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" } }, - "@ngx-translate/http-loader": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-7.0.0.tgz", - "integrity": "sha512-j+NpXXlcGVdyUNyY/qsJrqqeAdJdizCd+GKh3usXExSqy1aE9866jlAIL+xrfDU4w+LiMoma5pgE4emvFebZmA==", - "requires": { - "tslib": "^2.3.0" - } + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "engines": { + "node": ">=0.1.90" } }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, - "requires": { - "semver": "^7.3.5" + "engines": { + "node": ">=14" } }, - "@npmcli/git": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz", - "integrity": "sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==", + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, - "requires": { - "@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" - }, "dependencies": { - "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 - }, - "which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "@npmcli/installed-package-contents": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", - "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, - "requires": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "@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==", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "dependencies": { + "ms": "2.0.0" } }, - "@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "@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==", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, - "requires": { - "which": "^3.0.0" - }, + "engines": [ + "node >= 0.8" + ], "dependencies": { - "which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "@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==", + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "requires": { - "@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" - }, "dependencies": { - "which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true - }, - "@rollup/plugin-json": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz", - "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==", + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "requires": { - "@rollup/pluginutils": "^5.0.1" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "@rollup/plugin-node-resolve": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.2.tgz", - "integrity": "sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==", + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, - "requires": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", - "is-module": "^1.0.0", - "resolve": "^1.22.1" + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" } }, - "@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true, - "requires": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "engines": { + "node": ">=0.8" } }, - "@schematics/angular": { - "version": "15.2.8", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.2.8.tgz", - "integrity": "sha512-F49IEzCFxQlpaMIgTO/wF1l/CLQKif7VaiDdyiTKOeT22IMmyd61FUmWDyZYfCBqMlvBmvDGx64HaHWes1HYCg==", + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "requires": { - "@angular-devkit/core": "15.2.8", - "@angular-devkit/schematics": "15.2.8", - "jsonc-parser": "3.2.0" + "dependencies": { + "ms": "2.0.0" } }, - "@sigstore/protobuf-specs": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz", - "integrity": "sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==", - "dev": true - }, - "@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", - "dev": true - }, - "@tootallnate/once": { + "node_modules/connect/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" - }, - "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + "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 }, - "@tufjs/canonical-json": { + "node_modules/constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", - "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", "dev": true }, - "@tufjs/models": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz", - "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==", + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, - "requires": { - "@tufjs/canonical-json": "1.0.0", - "minimatch": "^9.0.0" - }, "dependencies": { - "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, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, - "requires": { - "@types/node": "*" + "engines": { + "node": ">= 0.6" } }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "requires": { - "@types/node": "*" - } + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, - "@types/connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" + "engines": { + "node": ">= 0.6" } }, - "@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, - "@types/cors": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", - "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/date-fns": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@types/date-fns/-/date-fns-2.6.0.tgz", - "integrity": "sha512-9DSw2ZRzV0Tmpa6PHHJbMcZn79HHus+BBBohcOaDzkK/G3zMjDUDYjJIWBFLbkh+1+/IOS0A59BpQfdr37hASg==", + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", "dev": true, - "requires": { - "date-fns": "*" + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" } }, - "@types/eslint": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", - "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" } }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true - }, - "@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@types/express-serve-static-core": { - "version": "4.17.35", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", - "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@types/http-proxy": { - "version": "1.17.11", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", - "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", + "node_modules/core-js-compat": { + "version": "3.32.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.2.tgz", + "integrity": "sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==", "dev": true, - "requires": { - "@types/node": "*" + "dependencies": { + "browserslist": "^4.21.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "@types/jasmine": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.1.tgz", - "integrity": "sha512-Vu8l+UGcshYmV1VWwULgnV/2RDbBaO6i2Ptx7nd//oJPIZGhoI1YLST4VKagD2Pq/Bc2/7zvtvhM7F3p4SN7kQ==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@types/lodash": { - "version": "4.14.194", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.194.tgz", - "integrity": "sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==" - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true + "node_modules/core-js-compat/node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } }, - "@types/node": { - "version": "20.1.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.2.tgz", - "integrity": "sha512-CTO/wa8x+rZU626cL2BlbCDzydgnFNgc19h4YvizpTO88MFQxab8wqisxaofQJ/9bLGugRdWIuX/TbIs6VVF6g==", + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "node_modules/cosmiconfig/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 }, - "@types/resolve": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", - "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", - "dev": true + "node_modules/cosmiconfig/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" + } }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "dev": true + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, - "@types/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", - "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "node_modules/critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" } }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "node_modules/critters/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, - "requires": { - "@types/express": "*" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@types/serve-static": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", - "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", + "node_modules/critters/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, - "requires": { - "@types/mime": "*", - "@types/node": "*" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "node_modules/critters/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, - "requires": { - "@types/node": "*" + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "node_modules/critters/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, - "requires": { - "@types/node": "*" + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "node_modules/critters/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true + "node_modules/critters/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true + "node_modules/critters/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "node_modules/critters/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, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "engines": { + "node": ">=8" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "node_modules/critters/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "node_modules/critters/node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "dependencies": { + "parse5": "^6.0.1" } }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "node_modules/critters/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, - "requires": { - "@xtuc/ieee754": "^1.2.0" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "requires": { - "@xtuc/long": "4.2.2" + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "node_modules/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==", "dev": true }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "engines": { + "node": ">=8" } }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "node_modules/css-loader": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.19", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" } }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", "dev": true }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "node_modules/cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==", "dev": true }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", "dev": true }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "node_modules/dash-ast": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-2.0.1.tgz", + "integrity": "sha512-5TXltWJGc+RdnabUGzhRae1TRq6m4gr+3K2wQX0is5/F2yS6MJXJvLyI3ErAnsAXuJoGqvfVD5icRgim07DrxQ==", "dev": true }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" } }, - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" + "node_modules/date-fns/node_modules/@babel/runtime": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz", + "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true + "node_modules/date-fns/node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" + } }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, "dependencies": { - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "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==", + "node_modules/decache": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.2.tgz", + "integrity": "sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==", "dev": true, - "requires": { - "debug": "4" + "dependencies": { + "callsite": "^1.0.0" } }, - "agentkeepalive": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", - "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", + "node_modules/deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", "dev": true, - "requires": { - "debug": "^4.1.0", - "depd": "^2.0.0", - "humanize-ms": "^1.2.1" + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.1", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "engines": { + "node": ">=0.10.0" } }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "dependencies": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, - "requires": { - "ajv": "^8.0.0" + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" } }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", "dev": true, - "requires": { - "type-fest": "^0.21.3" + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, - "requires": { - "color-convert": "^1.9.0" + "engines": { + "node": ">=8" } }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/defu": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", + "integrity": "sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==", "dev": true }, - "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==", + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, - "requires": { - "sprintf-js": "~1.0.2" + "engines": { + "node": ">=0.4.0" } }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "autoprefixer": { - "version": "10.4.13", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", - "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", - "dev": true, - "requires": { - "browserslist": "^4.21.4", - "caniuse-lite": "^1.0.30001426", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.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 }, - "babel-loader": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", - "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "requires": { - "find-cache-dir": "^3.3.2", - "schema-utils": "^4.0.0" + "engines": { + "node": ">= 0.8" } }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "engines": { + "node": ">= 0.6.0" } }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "engines": { + "node": ">=6" } }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "engines": { + "node": ">=8" } }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", "dev": true }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true + "node_modules/detect-package-manager": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-2.0.1.tgz", + "integrity": "sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==", + "dev": true, + "dependencies": { + "execa": "^5.1.1" + }, + "engines": { + "node": ">=12" + } }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "node_modules/detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "dev": true, + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + } + }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", "dev": true }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "node_modules/dhtmlx-gantt": { + "version": "7.1.13", + "resolved": "https://registry.npmjs.org/dhtmlx-gantt/-/dhtmlx-gantt-7.1.13.tgz", + "integrity": "sha512-PnVk6HI8LcOu1E6o9sJ5UpeWRiaXLnNa5t3i0oFPXPVkDrDyZdNr0KduryF45R7DWMSyMkxJ9RGJ+iUiqQCDhg==", "dev": true }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", "dev": true }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" } }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "dependencies": { + "path-type": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" } }, - "bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "dependencies": { + "utila": "~0.4" } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", "dev": true, - "requires": { - "fill-range": "^7.0.1" + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" } }, - "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] }, - "builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } }, - "builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dev": true, - "requires": { - "semver": "^7.0.0" + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "node_modules/dot": { + "version": "2.0.0-beta.1", + "resolved": "https://registry.npmjs.org/dot/-/dot-2.0.0-beta.1.tgz", + "integrity": "sha512-kxM7fSnNQTXOmaeGuBSXM8O3fEsBb7XSDBllkGbRwa0lJSJTxxDE/4eSNGLKZUmlFw0f1vJ5qSV2BljrgQtgIA==", "dev": true }, - "cacache": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", - "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", "dev": true, - "requires": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^8.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, "dependencies": { - "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 - } + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/dotenv-expand": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", + "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "engines": { + "node": ">=12" } }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } }, - "caniuse-lite": { - "version": "1.0.30001487", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001487.tgz", - "integrity": "sha512-83564Z3yWGqXsh2vaH/mhXfEM0wX+NlBCm1jYHOb97TrTWJEmPTccZgeLTPBUUb0PNVo+oomb7wkimZBIERClA==", + "node_modules/duplexer2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "dev": true, - "requires": { - "restore-cursor": "^3.1.0" + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" } }, - "cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "node_modules/electron-to-chromium": { + "version": "1.4.525", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.525.tgz", + "integrity": "sha512-GIZ620hDK4YmIqAWkscG4W6RwY6gOx1y5J6f4JUQwctiJrqH2oxZYU4mXHi35oV32tr630UcepBzSBGJ/WYcZA==", "dev": true }, - "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==", + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "engines": { + "node": ">= 4" } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, - "requires": { - "color-name": "1.1.3" + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true + "node_modules/engine.io": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.2.tgz", + "integrity": "sha512-IXsMcGpw/xRfjra46sVZVHiSWo/nJ/3g1337q9KNXtS6YRzbW5yIzTCb9DjhrBe7r3GZQR0I4+nq+4ODk5g/cA==", + "dev": true, + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0" + }, + "engines": { + "node": ">=10.2.0" + } }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true + "node_modules/engine.io-parser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } }, - "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 + "node_modules/engine.io/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "node_modules/engine.io/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", "dev": true }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "devOptional": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" + "engines": { + "node": ">=6" } }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "bin": { + "envinfo": "dist/cli.js" }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } + "engines": { + "node": ">=4" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "dev": true }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" + "optional": true, + "dependencies": { + "prr": "~1.0.1" }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true - } + "is-arrayish": "^0.2.1" } }, - "connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "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==", + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", "dev": true }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", "dev": true, - "requires": { - "safe-buffer": "5.2.1" + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "node_modules/es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "node_modules/es6-set": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.6.tgz", + "integrity": "sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "es6-iterator": "~2.0.3", + "es6-symbol": "^3.1.3", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/es6-set/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", "dev": true }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "node_modules/esbuild": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.8.tgz", + "integrity": "sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.8", + "@esbuild/android-arm64": "0.17.8", + "@esbuild/android-x64": "0.17.8", + "@esbuild/darwin-arm64": "0.17.8", + "@esbuild/darwin-x64": "0.17.8", + "@esbuild/freebsd-arm64": "0.17.8", + "@esbuild/freebsd-x64": "0.17.8", + "@esbuild/linux-arm": "0.17.8", + "@esbuild/linux-arm64": "0.17.8", + "@esbuild/linux-ia32": "0.17.8", + "@esbuild/linux-loong64": "0.17.8", + "@esbuild/linux-mips64el": "0.17.8", + "@esbuild/linux-ppc64": "0.17.8", + "@esbuild/linux-riscv64": "0.17.8", + "@esbuild/linux-s390x": "0.17.8", + "@esbuild/linux-x64": "0.17.8", + "@esbuild/netbsd-x64": "0.17.8", + "@esbuild/openbsd-x64": "0.17.8", + "@esbuild/sunos-x64": "0.17.8", + "@esbuild/win32-arm64": "0.17.8", + "@esbuild/win32-ia32": "0.17.8", + "@esbuild/win32-x64": "0.17.8" + } + }, + "node_modules/esbuild-plugin-alias": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz", + "integrity": "sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==", "dev": true }, - "copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "node_modules/esbuild-register": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.5.0.tgz", + "integrity": "sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==", "dev": true, - "requires": { - "is-what": "^3.14.1" + "dependencies": { + "debug": "^4.3.4" + }, + "peerDependencies": { + "esbuild": ">=0.12 <1" } }, - "copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "node_modules/esbuild-wasm": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.8.tgz", + "integrity": "sha512-zCmpxv95E0FuCmvdw1K836UHnj4EdiQnFfjTby35y3LAjRPtXMj3sbHDRHjbD8Mqg5lTwq3knacr/1qIFU51CQ==", "dev": true, - "requires": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" + "bin": { + "esbuild": "bin/esbuild" }, - "dependencies": { - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - } + "engines": { + "node": ">=12" } }, - "core-js-compat": { - "version": "3.30.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz", - "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "requires": { - "browserslist": "^4.21.5" + "engines": { + "node": ">=6" } }, - "core-util-is": { + "node_modules/escape-html": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "requires": { - "object-assign": "^4", - "vary": "^1" + "engines": { + "node": ">=0.8.0" } }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "node_modules/escodegen": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.2.0.tgz", + "integrity": "sha512-yLy3Cc+zAC0WSmoT2fig3J87TpQ8UaZGx8ahCAs9FL8qNbyV7CVyPKS74DG4bsHiL5ew9sxdYx131OkBQMFnvA==", "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "dependencies": { + "esprima": "~1.0.4", + "estraverse": "~1.5.0", + "esutils": "~1.0.0" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.4.0" + }, + "optionalDependencies": { + "source-map": "~0.1.30" } }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + "node_modules/escodegen/node_modules/esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } }, - "critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "node_modules/escodegen/node_modules/esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", "dev": true, - "requires": { - "chalk": "^4.1.0", - "css-select": "^4.2.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", + "dev": true, + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" }, + "engines": { + "node": ">=0.8.0" + } + }, + "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": { - "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, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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, - "requires": { - "color-name": "~1.1.4" - } - }, - "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 - }, - "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 - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - } + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "engines": { + "node": ">=4.0" } }, - "css-loader": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", - "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.19", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" } }, - "css-select": { + "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/estree-is-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-is-function/-/estree-is-function-1.0.0.tgz", + "integrity": "sha512-nSCWn1jkSq2QAtkaVLJZY2ezwcFO161HVc174zL1KPW3RJ+O6C3eJb8Nx7OXzvhoEv+nLgSR1g71oWUHUDTrJA==", "dev": true }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, - "cuint": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", - "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eva-icons": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/eva-icons/-/eva-icons-1.1.3.tgz", + "integrity": "sha512-QBSEWNbEx1H0numXP1qgxKVCZHonRaky5ft4pGzQBcO4cy7mEja6TuJ8rc7BqX2pmkvetVQWKDH+DK/8y7GTag==" + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/event-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz", + "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.1", + "from": "^0.1.7", + "map-stream": "0.0.7", + "pause-stream": "^0.0.11", + "split": "^1.0.1", + "stream-combiner": "^0.2.2", + "through": "^2.3.8" + } + }, + "node_modules/eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", "dev": true }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, - "date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "requires": { - "@babel/runtime": "^7.21.0" - }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, "dependencies": { - "@babel/runtime": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", - "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", - "requires": { - "regenerator-runtime": "^0.13.11" - } - } + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", "dev": true }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, - "requires": { - "ms": "2.1.2" + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" } }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "requires": { - "execa": "^5.0.0" + "dependencies": { + "ms": "2.0.0" } }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, - "requires": { - "clone": "^1.0.2" + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true - }, - "depd": { + "node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "dhtmlx-gantt": { - "version": "7.1.13", - "resolved": "https://registry.npmjs.org/dhtmlx-gantt/-/dhtmlx-gantt-7.1.13.tgz", - "integrity": "sha512-PnVk6HI8LcOu1E6o9sJ5UpeWRiaXLnNa5t3i0oFPXPVkDrDyZdNr0KduryF45R7DWMSyMkxJ9RGJ+iUiqQCDhg==", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", - "dev": true + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", "dev": true, - "requires": { - "path-type": "^4.0.0" + "dependencies": { + "type": "^2.7.2" } }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", "dev": true }, - "dns-packet": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", - "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" } }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "node_modules/extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", "dev": true, - "requires": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" + "dependencies": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" } }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "node_modules/extract-zip/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "dependencies": { + "ms": "2.0.0" } }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "node_modules/extract-zip/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "node_modules/fancy-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", + "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==", "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "dependencies": { + "color-support": "^1.1.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "electron-to-chromium": { - "version": "1.4.394", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.394.tgz", - "integrity": "sha512-0IbC2cfr8w5LxTz+nmn2cJTGafsK9iauV2r5A5scfzyovqLrxuLoxOHE5OBobP3oVIggJT+0JfKnw9sm87c8Hw==", - "dev": true + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "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.6.0" + } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" + "dependencies": { + "websocket-driver": ">=0.5.1" }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } + "bser": "2.1.1" } }, - "engine.io": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz", - "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==", + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, - "requires": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.11.0" - }, "dependencies": { - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "dev": true - }, - "ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true - } + "pend": "~1.2.0" } }, - "engine.io-parser": { + "node_modules/fetch-retry": { "version": "5.0.6", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", - "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", + "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.6.tgz", + "integrity": "sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==", "dev": true }, - "enhanced-resolve": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz", - "integrity": "sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==", + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", - "dev": true - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "node_modules/file-system-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-2.3.0.tgz", + "integrity": "sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==", + "dev": true, + "dependencies": { + "fs-extra": "11.1.1", + "ramda": "0.29.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dev": true, - "optional": true, - "requires": { - "prr": "~1.0.1" + "dependencies": { + "minimatch": "^5.0.1" } }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/filelist/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, - "requires": { - "is-arrayish": "^0.2.1" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", - "dev": true + "node_modules/filelist/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" + } }, - "esbuild-wasm": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.8.tgz", - "integrity": "sha512-zCmpxv95E0FuCmvdw1K836UHnj4EdiQnFfjTby35y3LAjRPtXMj3sbHDRHjbD8Mqg5lTwq3knacr/1qIFU51CQ==", - "dev": true + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "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==", + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "node_modules/finalhandler/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "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, - "requires": { - "estraverse": "^5.2.0" - }, "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } + "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" } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "eva-icons": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/eva-icons/-/eva-icons-1.1.3.tgz", - "integrity": "sha512-QBSEWNbEx1H0numXP1qgxKVCZHonRaky5ft4pGzQBcO4cy7mEja6TuJ8rc7BqX2pmkvetVQWKDH+DK/8y7GTag==" + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } }, - "eventemitter-asyncresource": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", - "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", - "dev": true + "node_modules/find-cache-dir/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, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/flow-parser": { + "version": "0.216.1", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.216.1.tgz", + "integrity": "sha512-wstw46/C/8bRv/8RySCl15lK376j8DHxm41xFjD9eVL+jSS1UmVpbdLdA0LzGuS2v5uGgQiBLEj6mgSJQwW+MA==", "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "engines": { + "node": ">=0.4.0" } }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "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==", "dev": true, - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, + "peerDependenciesMeta": { "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "optional": true } } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz", + "integrity": "sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==", "dev": true, - "requires": { - "@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" + "dependencies": { + "@babel/code-frame": "^7.16.7", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "fs-extra": "^10.0.0", + "memfs": "^3.4.1", + "minimatch": "^3.0.4", + "node-abort-controller": "^3.0.1", + "schema-utils": "^3.1.1", + "semver": "^7.3.5", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">=12.13.0", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "typescript": ">3.6.0", + "webpack": "^5.11.0" } }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node_modules/fork-ts-checker-webpack-plugin/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, - "requires": { - "reusify": "^1.0.4" + "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" } }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "node_modules/fork-ts-checker-webpack-plugin/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, - "requires": { - "websocket-driver": ">=0.5.1" + "peerDependencies": { + "ajv": "^6.9.1" } }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/fork-ts-checker-webpack-plugin/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, - "requires": { - "escape-string-regexp": "^1.0.5" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/fork-ts-checker-webpack-plugin/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, - "requires": { - "to-regex-range": "^5.0.1" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" } }, - "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==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/fork-ts-checker-webpack-plugin/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, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "engines": { + "node": ">=8" } }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "node_modules/fork-ts-checker-webpack-plugin/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 }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "dev": true + "node_modules/fork-ts-checker-webpack-plugin/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" + } }, - "foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "node_modules/fork-ts-checker-webpack-plugin/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, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "dependencies": { + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "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": { - "signal-exit": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", - "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", - "dev": true - } + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, - "forwarded": { + "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true + "node_modules/fraction.js": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz", + "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } }, - "fresh": { + "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", "dev": true }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" } }, - "fs-minipass": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz", - "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==", + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", "dev": true, - "requires": { - "minipass": "^5.0.0" - }, "dependencies": { - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true - } + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "node_modules/fs-minipass/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", + "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==", "dev": true }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "optional": true + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "gauge": { + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "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, - "requires": { + "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.3", "console-control-strings": "^1.1.0", @@ -5499,479 +17003,923 @@ "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" } }, - "gensync": { + "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", "dev": true }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "get-intrinsic": { + "node_modules/get-intrinsic": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, - "requires": { + "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-proto": "^1.0.1", "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "dev": true, + "engines": { + "node": ">=6" } }, - "get-package-type": { + "node_modules/get-npm-tarball-url": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/get-npm-tarball-url/-/get-npm-tarball-url-2.0.3.tgz", + "integrity": "sha512-R/PW6RqyaBQNWYaSyfrh54/qtcnOp22FHCCiRhSSZj0FP3KQWCsxxt0DzIdVTbwTqe9CtQfvl/FPD4UIPt4pqw==", + "dev": true, + "engines": { + "node": ">=12.17" + } + }, + "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-port": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "get-stream": { + "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/giget": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", + "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", + "dev": true, + "dependencies": { + "colorette": "^2.0.19", + "defu": "^6.1.2", + "https-proxy-agent": "^5.0.1", + "mri": "^1.2.0", + "node-fetch-native": "^1.0.2", + "pathe": "^1.1.0", + "tar": "^6.1.13" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", "dev": true }, - "glob": { + "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, - "requires": { + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", "once": "^1.3.0" }, - "dependencies": { - "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, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "glob-parent": { + "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "requires": { + "dependencies": { "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "glob-to-regexp": { + "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, - "globals": { + "node_modules/glob/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" + } + }, + "node_modules/glob/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" + } + }, + "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "requires": { + "dependencies": { + "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", + "fast-glob": "^3.2.9", "ignore": "^5.2.0", "merge2": "^1.4.1", - "slash": "^4.0.0" + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "graceful-fs": { + "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "handle-thing": { + "node_modules/gunzip-maybe": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz", + "integrity": "sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==", + "dev": true, + "dependencies": { + "browserify-zlib": "^0.1.4", + "is-deflate": "^1.0.0", + "is-gzip": "^1.0.0", + "peek-stream": "^1.1.0", + "pumpify": "^1.3.3", + "through2": "^2.0.3" + }, + "bin": { + "gunzip-maybe": "bin.js" + } + }, + "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "has": { + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "requires": { + "dependencies": { "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "has-flag": { + "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-proto": { + "node_modules/has-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-symbols": { + "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-unicode": { + "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 }, - "hdr-histogram-js": { + "node_modules/hdr-histogram-js": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", "dev": true, - "requires": { + "dependencies": { "@assemblyscript/loader": "^0.10.1", "base64-js": "^1.2.0", "pako": "^1.0.3" } }, - "hdr-histogram-percentiles-obj": { + "node_modules/hdr-histogram-js/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/hdr-histogram-percentiles-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", "dev": true }, - "hosted-git-info": { + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "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, - "requires": { + "dependencies": { "lru-cache": "^7.5.1" }, - "dependencies": { - "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": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/hosted-git-info/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" } }, - "hpack.js": { + "node_modules/hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, - "html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "html-escaper": { + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "http-cache-semantics": { + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "dev": true, + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-auth": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-4.1.9.tgz", + "integrity": "sha512-kvPYxNGc9EKGTXvOMnTBQw2RZfuiSihK/mLw/a4pbtRueTE45S55Lw/3k5CktIf7Ak0veMKEIteDj4YkNmCzmQ==", + "dev": true, + "dependencies": { + "apache-crypt": "^1.1.2", + "apache-md5": "^1.0.6", + "bcryptjs": "^2.4.3", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-auth-connect": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/http-auth-connect/-/http-auth-connect-1.0.6.tgz", + "integrity": "sha512-yaO0QSCPqGCjPrl3qEEHjJP+lwZ6gMpXLuCBE06eWwcXomkI5TARtu0kxf9teFuBj6iaV3Ybr15jaWUvbzNzHw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-auth/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, - "http-deceiver": { + "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", "dev": true }, - "http-errors": { + "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, - "requires": { + "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" } }, - "http-parser-js": { + "node_modules/http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", "dev": true }, - "http-proxy": { + "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, - "requires": { + "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "http-proxy-agent": { + "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, - "requires": { + "dependencies": { "@tootallnate/once": "2", "agent-base": "6", "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "http-proxy-middleware": { + "node_modules/http-proxy-middleware": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dev": true, - "requires": { + "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, - "https-proxy-agent": { + "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, - "requires": { + "dependencies": { "agent-base": "6", "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "human-signals": { + "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true + "dev": true, + "engines": { + "node": ">=10.17.0" + } }, - "humanize-ms": { + "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, - "requires": { + "dependencies": { "ms": "^2.0.0" } }, - "iconv-lite": { + "node_modules/i18next": { + "version": "22.5.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", + "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "dependencies": { + "@babel/runtime": "^7.20.6" + } + }, + "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "requires": { + "dependencies": { "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" } }, - "icss-utils": { + "node_modules/icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } }, - "ieee754": { + "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "ignore": { + "node_modules/ignore": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true + "dev": true, + "engines": { + "node": ">= 4" + } }, - "ignore-walk": { + "node_modules/ignore-walk": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", "dev": true, - "requires": { + "dependencies": { "minimatch": "^9.0.0" }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ignore-walk/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": { - "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, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } + "balanced-match": "^1.0.0" + } + }, + "node_modules/ignore-walk/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" } }, - "image-size": { + "node_modules/image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "dev": true, - "optional": true + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } }, - "immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "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 }, - "import-fresh": { + "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "requires": { + "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" } }, - "imurmurhash": { + "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8.19" + } }, - "indent-string": { + "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 - }, - "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 + "dev": true, + "engines": { + "node": ">=8" + } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "ini": { + "node_modules/ini": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", - "dev": true + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "injection-js": { + "node_modules/injection-js": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/injection-js/-/injection-js-2.4.0.tgz", "integrity": "sha512-6jiJt0tCAo9zjHbcwLiPL+IuNe9SQ6a9g0PEzafThW3fOQi0mrmiJGBJvDD6tmhPh8cQHIQtCOrJuBfQME4kPA==", "dev": true, - "requires": { + "dependencies": { "tslib": "^2.0.0" } }, - "inquirer": { + "node_modules/inquirer": { "version": "8.2.4", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", "dev": true, - "requires": { + "dependencies": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.1", "cli-cursor": "^3.1.0", @@ -5988,415 +17936,1278 @@ "through": "^2.3.6", "wrap-ansi": "^7.0.0" }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/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": { - "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, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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, - "requires": { - "color-name": "~1.1.4" - } - }, - "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 - }, - "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 - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/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/inquirer/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/inquirer/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/inside": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/inside/-/inside-1.0.0.tgz", + "integrity": "sha512-tvFwvS4g7q6iDot/4FjtWFHwwpv6TVvEumbTdLQilk1F07ojakbXPQcvf3kMAlyNDpzKRzn+d33O3RuXODuxZQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" } }, - "ip": { + "node_modules/ip": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", "dev": true }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "dev": true + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-arrayish": { + "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, - "is-binary-path": { + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "requires": { - "binary-extensions": "^2.0.0" + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, - "requires": { - "builtin-modules": "^3.3.0" + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-core-module": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", - "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "requires": { - "has": "^1.0.3" + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-docker": { + "node_modules/is-deflate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz", + "integrity": "sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==", + "dev": true + }, + "node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "is-fullwidth-code-point": { + "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-glob": { + "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "requires": { + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-gzip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", + "integrity": "sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "is-interactive": { + "node_modules/is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "is-lambda": { + "node_modules/is-lambda": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, - "is-module": { + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", "dev": true }, - "is-number": { + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "is-plain-obj": { + "node_modules/is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "is-plain-object": { + "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "requires": { + "dependencies": { "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-stream": { + "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-unicode-supported": { + "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-what": { + "node_modules/is-what": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", "dev": true }, - "is-wsl": { + "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "requires": { + "dependencies": { "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, - "isbinaryfile": { + "node_modules/isbinaryfile": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/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" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/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/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/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/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/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/jake/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/jake/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/jake/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/jasmine-core": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.5.0.tgz", + "integrity": "sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==", "dev": true }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dev": true, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@types/yargs-parser": "*" } }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "node_modules/jest-mock/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, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-mock/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/jest-mock/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/jest-mock/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": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/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": { - "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 - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "node_modules/jest-util/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, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "jackspeak": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.0.tgz", - "integrity": "sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ==", + "node_modules/jest-util/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, - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" + "engines": { + "node": ">=8" } }, - "jasmine-core": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.5.0.tgz", - "integrity": "sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==", - "dev": true + "node_modules/jest-util/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" + } }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, - "requires": { + "dependencies": { "@types/node": "*", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/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/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { - "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 - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "js-tokens": { + "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "js-yaml": { + "node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "requires": { + "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/jscodeshift/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/jscodeshift/node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jscodeshift/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/jscodeshift/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/jscodeshift/node_modules/recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "dev": true, + "dependencies": { + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/jscodeshift/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/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/jscodeshift/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "jsesc": { + "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } }, - "json-parse-even-better-errors": { + "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "json-schema-traverse": { + "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "json5": { + "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } }, - "jsonc-parser": { + "node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "requires": { + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "jsonparse": { + "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true + "dev": true, + "engines": [ + "node >= 0.2.0" + ] }, - "karma": { + "node_modules/karma": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz", "integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==", "dev": true, - "requires": { + "dependencies": { "@colors/colors": "1.5.0", "body-parser": "^1.19.0", "braces": "^3.0.2", @@ -6422,874 +19233,1275 @@ "ua-parser-js": "^0.7.30", "yargs": "^16.1.1" }, - "dependencies": { - "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, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "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 - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - } + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" } }, - "karma-chrome-launcher": { + "node_modules/karma-chrome-launcher": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz", "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==", "dev": true, - "requires": { + "dependencies": { "which": "^1.2.1" + } + }, + "node_modules/karma-chrome-launcher/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.0.0.tgz", + "integrity": "sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==", + "dev": true, + "peerDependencies": { + "jasmine-core": "^4.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "dependencies": { + "source-map-support": "^0.5.5" + } + }, + "node_modules/karma/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" + } + }, + "node_modules/karma/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "karma-coverage": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.0.tgz", - "integrity": "sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==", + "node_modules/karma/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, - "requires": { - "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.0.5", - "minimatch": "^3.0.4" + "engines": { + "node": ">=0.10.0" } }, - "karma-jasmine": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", - "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "node_modules/karma/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, - "requires": { - "jasmine-core": "^4.1.0" + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" } }, - "karma-jasmine-html-reporter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.0.0.tgz", - "integrity": "sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==", - "dev": true + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } }, - "karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "requires": { - "source-map-support": "^0.5.5" + "engines": { + "node": ">=10" } }, - "kind-of": { + "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "klona": { + "node_modules/klona": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/lazy-universal-dotenv": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-4.0.0.tgz", + "integrity": "sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==", + "dev": true, + "dependencies": { + "app-root-dir": "^1.0.2", + "dotenv": "^16.0.0", + "dotenv-expand": "^10.0.0" + }, + "engines": { + "node": ">=14.0.0" + } }, - "less": { + "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, - "requires": { + "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", - "parse-node-version": "^1.0.1", - "source-map": "~0.6.0", - "tslib": "^2.3.0" - }, - "dependencies": { - "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, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "optional": true - }, - "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 - } + "source-map": "~0.6.0" } }, - "less-loader": { + "node_modules/less-loader": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", "dev": true, - "requires": { + "dependencies": { "klona": "^2.0.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/less/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" + } + }, + "node_modules/less/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" + } + }, + "node_modules/less/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" + } + }, + "node_modules/less/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" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "license-webpack-plugin": { + "node_modules/license-webpack-plugin": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", "dev": true, - "requires": { + "dependencies": { "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } } }, - "lines-and-columns": { + "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "loader-runner": { + "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true + "dev": true, + "engines": { + "node": ">=6.11.5" + } }, - "loader-utils": { + "node_modules/loader-utils": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "dev": true + "dev": true, + "engines": { + "node": ">= 12.13.0" + } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "requires": { - "p-locate": "^4.1.0" + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "lodash.debounce": { + "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, - "log-symbols": { + "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, - "requires": { + "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/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/log-symbols/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": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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, - "requires": { - "color-name": "~1.1.4" - } - }, - "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 - }, - "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 - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/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/log-symbols/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" } }, - "log4js": { + "node_modules/log4js": { "version": "6.9.1", "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", "dev": true, - "requires": { + "dependencies": { "date-format": "^4.0.14", "debug": "^4.3.4", "flatted": "^3.2.7", "rfdc": "^1.3.0", "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/loglevel": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz", + "integrity": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/loglevel-plugin-prefix": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/loglevel-plugin-prefix/-/loglevel-plugin-prefix-0.8.4.tgz", + "integrity": "sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" } }, - "lru-cache": { + "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "requires": { + "dependencies": { "yallist": "^3.0.2" } }, - "magic-string": { + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/macos-release": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.1.tgz", + "integrity": "sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/magic-string": { "version": "0.29.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", "dev": true, - "requires": { + "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" } }, - "make-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, - "requires": { + "dependencies": { "semver": "^6.0.0" }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-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, + "bin": { + "semver": "bin/semver.js" } }, - "make-error": { + "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, - "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==", + "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, - "requires": { + "dependencies": { "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", + "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": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", + "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": "^9.0.0" - }, - "dependencies": { - "@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, - "requires": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - } - }, - "cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "dev": true, - "requires": { - "@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" - } - }, - "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, - "requires": { - "minipass": "^3.0.0" - } - }, - "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 - }, - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "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, - "requires": { - "unique-slug": "^3.0.0" - } - }, - "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, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/make-fetch-happen/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" + } + }, + "node_modules/make-fetch-happen/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" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-or-similar": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", + "integrity": "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==", + "dev": true + }, + "node_modules/map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==", + "dev": true + }, + "node_modules/markdown-to-jsx": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.3.2.tgz", + "integrity": "sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==", + "dev": true, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "react": ">= 0.14.0" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mdast-util-definitions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", + "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "dev": true, + "dependencies": { + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", + "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" } }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true - }, - "memfs": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz", - "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==", + "node_modules/memoizerific": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", + "integrity": "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==", "dev": true, - "requires": { - "fs-monkey": "^1.0.3" + "dependencies": { + "map-or-similar": "^1.5.0" } }, - "merge-descriptors": { + "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, - "merge-stream": { + "node_modules/merge-source-map": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==", + "dev": true, + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/merge-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "merge2": { + "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 8" + } }, - "methods": { + "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "micromatch": { + "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "requires": { + "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } }, - "mime-db": { + "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { + "dependencies": { "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "mimic-fn": { + "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "mini-css-extract-plugin": { + "node_modules/mini-css-extract-plugin": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", "dev": true, - "requires": { + "dependencies": { "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "minimalistic-assert": { + "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, - "minimatch": { + "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "minimist": { + "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "minipass": { + "node_modules/minipass": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "minipass-collect": { + "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, - "requires": { + "dependencies": { "minipass": "^3.0.0" }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-collect/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": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "node_modules/minipass-collect/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 + }, + "node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", + "dependencies": { + "minipass": "^7.0.3", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "minipass-flush": { + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-flush": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "dev": true, - "requires": { + "dependencies": { "minipass": "^3.0.0" }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/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": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "minipass-json-stream": { + "node_modules/minipass-flush/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 + }, + "node_modules/minipass-json-stream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", "dev": true, - "requires": { + "dependencies": { "jsonparse": "^1.3.1", "minipass": "^3.0.0" - }, + } + }, + "node_modules/minipass-json-stream/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": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "minipass-pipeline": { + "node_modules/minipass-json-stream/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 + }, + "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, - "requires": { + "dependencies": { "minipass": "^3.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/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": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "minipass-sized": { + "node_modules/minipass-pipeline/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 + }, + "node_modules/minipass-sized": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dev": true, - "requires": { + "dependencies": { "minipass": "^3.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/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": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "minizlib": { + "node_modules/minipass-sized/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 + }, + "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, - "requires": { + "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/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" + } + }, + "node_modules/minizlib/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 + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dev": true, + "dependencies": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/morgan/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/morgan/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "ms": { + "node_modules/morgan/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "multicast-dns": { + "node_modules/multicast-dns": { "version": "7.2.5", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, - "requires": { + "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" } }, - "mute-stream": { + "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 }, - "nanoid": { + "node_modules/nanoid": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } }, - "needle": { + "node_modules/needle": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", "dev": true, "optional": true, - "requires": { + "dependencies": { "debug": "^3.2.6", "iconv-lite": "^0.6.3", "sax": "^1.2.4" }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } + "ms": "^2.1.1" + } + }, + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "negotiator": { + "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "neo-async": { + "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "ng-packagr": { + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "node_modules/ng-packagr": { "version": "15.2.2", "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-15.2.2.tgz", "integrity": "sha512-+042GBD35ztxbHywGJloAiDM/s3Ja3TZtQh361TWqd/xza3K5DMUu6VRGLTgMwG7CW1YsqYHWgMZslP1c+ng7A==", "dev": true, - "requires": { + "dependencies": { "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-node-resolve": "^15.0.0", "ajv": "^8.11.0", @@ -7301,7 +20513,6 @@ "commander": "^10.0.0", "convert-source-map": "^2.0.0", "dependency-graph": "^0.11.0", - "esbuild": "^0.17.0", "esbuild-wasm": "^0.17.0", "find-cache-dir": "^3.3.2", "glob": "^8.0.3", @@ -7316,265 +20527,165 @@ "rxjs": "^7.5.6", "sass": "^1.55.0" }, - "dependencies": { - "@esbuild/android-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", - "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", - "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", - "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", - "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", - "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", - "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", - "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", - "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", - "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", - "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", - "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", - "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", - "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", - "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", - "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", - "dev": true, - "optional": true - }, - "@esbuild/linux-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", - "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", - "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", - "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", - "dev": true, - "optional": true - }, - "@esbuild/sunos-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", - "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", - "dev": true, - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", - "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", - "dev": true, - "optional": true - }, - "@esbuild/win32-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", - "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", - "dev": true, - "optional": true - }, - "@esbuild/win32-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", - "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", - "dev": true, + "bin": { + "ng-packagr": "cli/main.js" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "optionalDependencies": { + "esbuild": "^0.17.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "tslib": "^2.3.0", + "typescript": ">=4.8.2 <5.0" + }, + "peerDependenciesMeta": { + "tailwindcss": { "optional": true - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "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 - }, - "esbuild": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", - "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", - "dev": true, - "optional": true, - "requires": { - "@esbuild/android-arm": "0.17.19", - "@esbuild/android-arm64": "0.17.19", - "@esbuild/android-x64": "0.17.19", - "@esbuild/darwin-arm64": "0.17.19", - "@esbuild/darwin-x64": "0.17.19", - "@esbuild/freebsd-arm64": "0.17.19", - "@esbuild/freebsd-x64": "0.17.19", - "@esbuild/linux-arm": "0.17.19", - "@esbuild/linux-arm64": "0.17.19", - "@esbuild/linux-ia32": "0.17.19", - "@esbuild/linux-loong64": "0.17.19", - "@esbuild/linux-mips64el": "0.17.19", - "@esbuild/linux-ppc64": "0.17.19", - "@esbuild/linux-riscv64": "0.17.19", - "@esbuild/linux-s390x": "0.17.19", - "@esbuild/linux-x64": "0.17.19", - "@esbuild/netbsd-x64": "0.17.19", - "@esbuild/openbsd-x64": "0.17.19", - "@esbuild/sunos-x64": "0.17.19", - "@esbuild/win32-arm64": "0.17.19", - "@esbuild/win32-ia32": "0.17.19", - "@esbuild/win32-x64": "0.17.19" - } } } }, - "ngx-logger": { + "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 + }, + "node_modules/ngx-logger": { "version": "5.0.12", "resolved": "https://registry.npmjs.org/ngx-logger/-/ngx-logger-5.0.12.tgz", "integrity": "sha512-4kTtPvxQoV2ka6pigtvkbtaLKpMYWqZm7Slu0YQVcwzBKoVR2K+oLmMVcA50S6kCxkZXq7iKcrXUKR2vhMXPqQ==", - "requires": { + "dependencies": { "tslib": "^2.3.0", "vlq": "^1.0.0" + }, + "peerDependencies": { + "rxjs": ">6.0.0" } }, - "ngx-permissions": { + "node_modules/ngx-permissions": { "version": "15.0.1", "resolved": "https://registry.npmjs.org/ngx-permissions/-/ngx-permissions-15.0.1.tgz", "integrity": "sha512-GjPF54B0DYtzqVb95YUh1XZivU4ilpCnx04gtADnIz4grihb/AtVwGwjgeeC1N/zrwUaZWLxTkIm5emN11JlDw==", - "requires": { + "dependencies": { "tslib": "^2.1.0" + }, + "peerDependencies": { + "@angular/core": ">=13 || >18", + "@angular/router": ">=13 || >18", + "rxjs": ">=7 || >11" } }, - "ngx-webstorage-service": { + "node_modules/ngx-webstorage-service": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ngx-webstorage-service/-/ngx-webstorage-service-5.0.0.tgz", "integrity": "sha512-adipYzdVGA1HxPF5n62eJoQGohiJRlpCp7lPuNQcOvkHGfFUByAfXZHmmLFzb5OFfeNWh1XZ8M2qppbC5uNXFQ==", - "requires": { + "dependencies": { "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/core": ">=13.0.0" } }, - "nice-napi": { + "node_modules/nice-napi": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", "dev": true, + "hasInstallScript": true, "optional": true, - "requires": { + "os": [ + "!win32" + ], + "dependencies": { "node-addon-api": "^3.0.0", "node-gyp-build": "^4.2.2" } }, - "node-addon-api": { + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true + }, + "node_modules/node-addon-api": { "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 }, - "node-forge": { + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.10.5" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-native": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.0.tgz", + "integrity": "sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==", + "dev": true + }, + "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 6.13.0" + } }, - "node-gyp": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", - "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", + "node_modules/node-gyp": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz", + "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==", "dev": true, - "requires": { + "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", + "make-fetch-happen": "^11.0.3", "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", @@ -7582,132 +20693,186 @@ "tar": "^6.1.2", "which": "^2.0.2" }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.13 || ^14.13 || >=16" } }, - "node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "node_modules/node-gyp-build": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", "dev": true, - "optional": true + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, - "nopt": { + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "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, - "requires": { + "dependencies": { "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "normalize-package-data": { + "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, - "requires": { + "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" } }, - "normalize-path": { + "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "normalize-range": { + "node_modules/normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "npm-bundled": { + "node_modules/npm-bundled": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", "dev": true, - "requires": { + "dependencies": { "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "npm-install-checks": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.1.tgz", - "integrity": "sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==", + "node_modules/npm-install-checks": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.2.0.tgz", + "integrity": "sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==", "dev": true, - "requires": { + "dependencies": { "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "npm-normalize-package-bin": { + "node_modules/npm-normalize-package-bin": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", - "dev": true + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, - "npm-package-arg": { + "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, - "requires": { + "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" } }, - "npm-packlist": { + "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, - "requires": { + "dependencies": { "ignore-walk": "^6.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "npm-pick-manifest": { + "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, - "requires": { + "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" } }, - "npm-registry-fetch": { + "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, - "requires": { + "dependencies": { "make-fetch-happen": "^11.0.0", "minipass": "^5.0.0", "minipass-fetch": "^3.0.0", @@ -7716,154 +20881,219 @@ "npm-package-arg": "^10.0.0", "proc-log": "^3.0.0" }, - "dependencies": { - "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 - }, - "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, - "requires": { - "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" - } - }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true - }, - "minipass-fetch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", - "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^5.0.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - } + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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" } }, - "npm-run-path": { + "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, - "requires": { + "dependencies": { "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "npmlog": { + "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, - "requires": { + "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" } }, - "nth-check": { + "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "requires": { + "dependencies": { "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "object-assign": { + "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "object-inspect": { + "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "obuf": { + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, - "on-finished": { + "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, - "requires": { + "dependencies": { "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "on-headers": { + "node_modules/on-headers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "requires": { + "dependencies": { "wrappy": "1" } }, - "onetime": { + "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "requires": { + "dependencies": { "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "open": { + "node_modules/open": { "version": "8.4.1", "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", "dev": true, - "requires": { + "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "dev": true, + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" } }, - "ora": { + "node_modules/ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, - "requires": { + "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", @@ -7874,113 +21104,172 @@ "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/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/ora/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": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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, - "requires": { - "color-name": "~1.1.4" - } - }, - "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 - }, - "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 - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/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/ora/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/os-name": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", + "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", + "dev": true, + "dependencies": { + "macos-release": "^2.5.0", + "windows-release": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "os-tmpdir": { + "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "requires": { - "p-try": "^2.0.0" + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "requires": { - "p-limit": "^2.2.0" + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-map": { + "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, - "requires": { + "dependencies": { "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-retry": { + "node_modules/p-retry": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, - "requires": { + "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" } }, - "p-try": { + "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "pacote": { + "node_modules/pacote": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.0.tgz", "integrity": "sha512-FFcjtIl+BQNfeliSm7MZz5cpdohvUV1yjGnqgVM4UnVF7JslRY0ImXAygdaCDV0jjUADEWu4y5xsDV8brtrTLg==", "dev": true, - "requires": { + "dependencies": { "@npmcli/git": "^4.0.0", "@npmcli/installed-package-contents": "^2.0.1", "@npmcli/promise-spawn": "^6.0.1", @@ -7999,866 +21288,2043 @@ "sigstore": "^1.0.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" } }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", "dev": true }, - "parent-module": { + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "requires": { + "dependencies": { "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "parse-json": { + "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "parse-node-version": { + "node_modules/parse-node-version": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.10" + } }, - "parse5": { + "node_modules/parse5": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "requires": { + "devOptional": true, + "dependencies": { "entities": "^4.4.0" }, - "dependencies": { - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" - } + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "parse5-html-rewriting-stream": { + "node_modules/parse5-html-rewriting-stream": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", "dev": true, - "requires": { + "dependencies": { "entities": "^4.3.0", "parse5": "^7.0.0", "parse5-sax-parser": "^7.0.0" }, - "dependencies": { - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - } + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", "dev": true, - "requires": { - "parse5": "^6.0.1" - }, "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - } + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "parse5-sax-parser": { + "node_modules/parse5-sax-parser": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", "dev": true, - "requires": { - "parse5": "^7.0.0" + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "dev": true }, - "path-exists": { + "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "path-key": { + "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-scurry": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.1.tgz", - "integrity": "sha512-UgmoiySyjFxP6tscZDgWGEAgsW5ok8W3F5CJDnnH2pozwSTGE6eH7vwTotMwATWA2r5xqdkKdxYPkwlJjAI/3g==", + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dev": true, - "requires": { - "lru-cache": "^9.1.1", - "minipass": "^5.0.0 || ^6.0.0" - }, "dependencies": { - "lru-cache": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", - "dev": true - }, - "minipass": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.0.tgz", - "integrity": "sha512-mvD5U4pUen1aWcjTxUgdoMg6PB98dcV0obc/OiPzls79++IpgNoO+MCbOHRlKfWIOvjIjmjUygjZmSStP7B0Og==", - "dev": true - } + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "path-to-regexp": { + "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, - "path-type": { + "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", + "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", + "dev": true + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dev": true, + "dependencies": { + "through": "~2.3" + } + }, + "node_modules/pdfjs-dist": { + "version": "2.12.313", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.12.313.tgz", + "integrity": "sha512-1x6iXO4Qnv6Eb+YFdN5JdUzt4pAkxSp3aLAYPX93eQCyg/m7QFzXVWJHJVtoW48CI8HCXju4dSkhQZwoheL5mA==", + "dev": true, + "peerDependencies": { + "worker-loader": "^3.0.8" + }, + "peerDependenciesMeta": { + "worker-loader": { + "optional": true + } + } + }, + "node_modules/pdfmake": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.2.7.tgz", + "integrity": "sha512-ClLpgx30H5G3EDvRW1MrA1Xih6YxEaSgIVFrOyBMgAAt62V+hxsyWAi6JNP7u1Fc5JKYAbpb4RRVw8Rhvmz5cQ==", + "dev": true, + "dependencies": { + "@foliojs-fork/linebreak": "^1.1.1", + "@foliojs-fork/pdfkit": "^0.13.0", + "iconv-lite": "^0.6.3", + "xmldoc": "^1.1.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/pdfmake/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/peek-stream": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", + "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "duplexify": "^3.5.0", + "through2": "^2.0.3" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, - "picocolors": { + "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, - "picomatch": { + "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "pify": { + "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" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } }, - "piscina": { + "node_modules/piscina": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", "dev": true, - "requires": { + "dependencies": { "eventemitter-asyncresource": "^1.0.0", "hdr-histogram-js": "^2.0.1", - "hdr-histogram-percentiles-obj": "^3.0.0", + "hdr-histogram-percentiles-obj": "^3.0.0" + }, + "optionalDependencies": { "nice-napi": "^1.0.2" } }, - "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==", + "node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", "dev": true, - "requires": { - "find-up": "^4.0.0" + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/png-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==", + "dev": true + }, + "node_modules/polished": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz", + "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.17.8" + }, + "engines": { + "node": ">=10" } }, - "postcss": { + "node_modules/postcss": { "version": "8.4.21", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", "dev": true, - "requires": { + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "postcss-loader": { + "node_modules/postcss-loader": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.2.tgz", "integrity": "sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==", "dev": true, - "requires": { + "dependencies": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", "semver": "^7.3.8" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" } }, - "postcss-modules-extract-imports": { + "node_modules/postcss-modules-extract-imports": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", "dev": true, - "requires": { + "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "postcss-modules-scope": { + "node_modules/postcss-modules-scope": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", "dev": true, - "requires": { + "dependencies": { "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "postcss-modules-values": { + "node_modules/postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, - "requires": { + "dependencies": { "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "postcss-selector-parser": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", - "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, - "requires": { + "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" } }, - "postcss-url": { + "node_modules/postcss-url": { "version": "10.1.3", "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-10.1.3.tgz", "integrity": "sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==", "dev": true, - "requires": { + "dependencies": { "make-dir": "~3.1.0", "mime": "~2.5.2", "minimatch": "~3.0.4", "xxhashjs": "~0.2.2" }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-url/node_modules/mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-url/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, "dependencies": { - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "dev": true - }, - "minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "postcss-value-parser": { + "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, - "prettier": { + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { "version": "2.8.8", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==" + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } }, - "pretty-bytes": { + "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "proc-log": { + "node_modules/proc-log": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", - "dev": true + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } }, - "process-nextick-args": { + "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "promise-inflight": { + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, - "promise-retry": { + "node_modules/promise-retry": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, "dependencies": { - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true - } + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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 + }, + "node_modules/proxy-middleware": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz", + "integrity": "sha512-EGCG8SeoIRVMhsqHQUdDigB2i7qU7fCsWASwn54+nPutYO8n4q6EiwMzyfWlC+dzRFExP+kvcnDFdBDHoZBU7Q==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/puppeteer-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-2.1.1.tgz", + "integrity": "sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==", + "dev": true, + "dependencies": { + "@types/mime-types": "^2.1.0", + "debug": "^4.1.0", + "extract-zip": "^1.6.6", + "https-proxy-agent": "^4.0.0", + "mime": "^2.0.3", + "mime-types": "^2.1.25", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^2.6.1", + "ws": "^6.1.0" + }, + "engines": { + "node": ">=8.16.0" + } + }, + "node_modules/puppeteer-core/node_modules/agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/puppeteer-core/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "node_modules/puppeteer-core/node_modules/https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - } + "agent-base": "5", + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "node_modules/puppeteer-core/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, - "optional": true + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true + "node_modules/puppeteer-core/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } }, - "qjobs": { + "node_modules/qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.9" + } }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, - "requires": { + "dependencies": { "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "queue-microtask": { + "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quote-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", + "integrity": "sha512-kKr2uQ2AokadPjvTyKJQad9xELbZwYzWlNfI3Uz2j/ib5u6H9lDP7fUUR//rMycd0gv4Z5P1qXMfXR8YpIxrjQ==", + "dev": true, + "dependencies": { + "buffer-equal": "0.0.1", + "minimist": "^1.1.3", + "through2": "^2.0.0" + }, + "bin": { + "quote-stream": "bin/cmd.js" + } + }, + "node_modules/ramda": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", + "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" + } }, - "randombytes": { + "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "^5.1.0" } }, - "range-parser": { + "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "raw-body": { + "node_modules/raw-body": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, - "requires": { + "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-colorful": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", + "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==", + "dev": true, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-inspector": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-6.0.2.tgz", + "integrity": "sha512-x+b7LxhmHXjHoU/VrFAzw5iutsILRoYyDq97EDYdFpPLcvqtEzk4ZSZSQjnFPbr5T57tLXnHcqFYoN1pI6u8uQ==", + "dev": true, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "dev": true, + "dependencies": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "dev": true, "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true } } }, - "read-package-json": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.3.tgz", - "integrity": "sha512-4QbpReW4kxFgeBQ0vPAqh2y8sXEB3D4t3jsXbJKIhBiF80KT6XRo45reqwtftju5J6ru1ax06A2Gb/wM1qCOEQ==", + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dev": true, + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "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, - "requires": { + "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" }, - "dependencies": { - "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, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "glob": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.4.tgz", - "integrity": "sha512-fDboBse/sl1oXSLhIp0FcCJgzW9KmhC/q8ULTKC82zc+DL3TL7FNb8qlt5qqXN53MsKEUSIcb+7DLmEygOE5Yw==", - "dev": true, - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.0", - "minipass": "^5.0.0 || ^6.0.0", - "path-scurry": "^1.7.0" - } - }, - "json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true - }, - "minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minipass": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.0.tgz", - "integrity": "sha512-mvD5U4pUen1aWcjTxUgdoMg6PB98dcV0obc/OiPzls79++IpgNoO+MCbOHRlKfWIOvjIjmjUygjZmSStP7B0Og==", - "dev": true - } + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "read-package-json-fast": { + "node_modules/read-package-json-fast": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, - "requires": { + "dependencies": { "json-parse-even-better-errors": "^3.0.0", "npm-normalize-package-bin": "^3.0.0" }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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" + } + }, + "node_modules/read-package-json/node_modules/glob": { + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz", + "integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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": { - "json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true - } + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/read-package-json/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/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, + "bin": { + "semver": "bin/semver" } }, - "readable-stream": { + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, - "requires": { + "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "readdirp": { + "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "requires": { + "dependencies": { "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recast": { + "version": "0.23.4", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.4.tgz", + "integrity": "sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw==", + "dev": true, + "dependencies": { + "assert": "^2.0.0", + "ast-types": "^0.16.1", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/recast/node_modules/ast-types": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/recast/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, + "engines": { + "node": ">=0.10.0" } }, - "reflect-metadata": { + "node_modules/reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", "dev": true }, - "regenerate": { + "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, - "requires": { + "dependencies": { "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" } }, - "regenerator-runtime": { + "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==" + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true }, - "regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, - "requires": { + "dependencies": { "@babel/runtime": "^7.8.4" } }, - "regex-parser": { + "node_modules/regex-parser": { "version": "2.2.11", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", "dev": true }, - "regexpu-core": { + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, - "requires": { + "dependencies": { "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.1.0", "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" } }, - "regjsparser": { + "node_modules/regjsparser": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, - "requires": { + "dependencies": { "jsesc": "~0.5.0" }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-external-links": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-8.0.0.tgz", + "integrity": "sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "is-absolute-url": "^3.0.0", + "mdast-util-definitions": "^4.0.0", + "space-separated-tokens": "^1.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-slug": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-6.1.0.tgz", + "integrity": "sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==", + "dev": true, + "dependencies": { + "github-slugger": "^1.0.0", + "mdast-util-to-string": "^1.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "require-from-string": { + "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "requires-port": { + "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, - "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, - "requires": { - "is-core-module": "^2.11.0", + "dependencies": { + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "resolve-from": { + "node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "resolve-url-loader": { + "node_modules/resolve-url-loader": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", "dev": true, - "requires": { + "dependencies": { "adjust-sourcemap-loader": "^4.0.0", "convert-source-map": "^1.7.0", "loader-utils": "^2.0.0", "postcss": "^8.2.14", "source-map": "0.6.1" }, + "engines": { + "node": ">=12" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, "dependencies": { - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "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 - } + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/resolve-url-loader/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, + "engines": { + "node": ">=0.10.0" } }, - "restore-cursor": { + "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, - "requires": { + "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" } }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } }, - "reusify": { + "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } }, - "rfdc": { + "node_modules/rfdc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", "dev": true }, - "rimraf": { + "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "requires": { + "dependencies": { "glob": "^7.1.3" }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "rollup": { - "version": "3.21.7", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.7.tgz", - "integrity": "sha512-KXPaEuR8FfUoK2uHwNjxTmJ18ApyvD6zJpYv9FOJSqLStmt6xOY84l1IjK2dSolQmoXknrhEFRaPRgOPdqCT5w==", + "node_modules/rollup": { + "version": "3.29.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.2.tgz", + "integrity": "sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==", "dev": true, - "requires": { + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { "fsevents": "~2.3.2" } }, - "run-async": { + "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 + "dev": true, + "engines": { + "node": ">=0.12.0" + } }, - "run-parallel": { + "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "requires": { + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { "queue-microtask": "^1.2.2" } }, - "rxjs": { + "node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "requires": { + "dependencies": { "tslib": "^2.1.0" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "safer-buffer": { + "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "safevalues": { + "node_modules/safevalues": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" }, - "sass": { + "node_modules/sass": { "version": "1.58.1", "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.1.tgz", "integrity": "sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==", "dev": true, - "requires": { + "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": ">=12.0.0" } }, - "sass-loader": { + "node_modules/sass-loader": { "version": "13.2.0", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz", "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==", "dev": true, - "requires": { + "dependencies": { "klona": "^2.0.4", "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } } }, - "sax": { + "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dev": true, - "optional": true + "dependencies": { + "loose-envify": "^1.1.0" + } }, - "schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dev": true, - "requires": { + "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "select-hose": { + "node_modules/scope-analyzer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/scope-analyzer/-/scope-analyzer-2.1.2.tgz", + "integrity": "sha512-5cfCmsTYV/wPaRIItNxatw02ua/MThdIUNnUOCYp+3LSEJvnG804ANw2VLaavNILIfWXF1D1G2KNANkBBvInwQ==", + "dev": true, + "dependencies": { + "array-from": "^2.1.1", + "dash-ast": "^2.0.1", + "es6-map": "^0.1.5", + "es6-set": "^0.1.5", + "es6-symbol": "^3.1.1", + "estree-is-function": "^1.0.0", + "get-assigned-identifiers": "^1.1.0" + } + }, + "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true }, - "selfsigned": { + "node_modules/selfsigned": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dev": true, - "requires": { + "dependencies": { "node-forge": "^1" + }, + "engines": { + "node": ">=10" } }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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, - "requires": { + "dependencies": { "lru-cache": "^6.0.0" }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/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": { - "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, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "send": { + "node_modules/semver/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 + }, + "node_modules/send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, - "requires": { + "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -8873,47 +23339,86 @@ "range-parser": "~1.2.1", "statuses": "2.0.1" }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/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, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" } }, - "serialize-javascript": { + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serialize-javascript": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, - "requires": { + "dependencies": { "randombytes": "^2.1.0" } }, - "serve-index": { + "node_modules/serve-favicon": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", + "integrity": "sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==", + "dev": true, + "dependencies": { + "etag": "~1.8.1", + "fresh": "0.5.2", + "ms": "2.1.1", + "parseurl": "~1.3.2", + "safe-buffer": "5.1.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-favicon/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/serve-favicon/node_modules/safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, - "requires": { + "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", @@ -8922,373 +23427,476 @@ "mime-types": "~2.1.17", "parseurl": "~1.3.2" }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true - } + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" } }, - "serve-static": { + "node_modules/serve-static": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, - "requires": { + "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "set-blocking": { + "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 }, - "setprototypeof": { + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, - "shallow-clone": { + "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "requires": { + "dependencies": { "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" } }, - "shebang-command": { + "node_modules/shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==", + "dev": true + }, + "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { + "dependencies": { "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "shebang-regex": { + "node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "signal-exit": { + "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 }, - "sigstore": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.5.0.tgz", - "integrity": "sha512-i3nhvdobiPj8XrXNIggjeur6+A5iAQ4f+r1bR5SGitFJBbthy/6c7Fz0h+kY70Wua1FSMdDr/UEhXSVRXNpynw==", + "node_modules/sigstore": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz", + "integrity": "sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==", "dev": true, - "requires": { - "@sigstore/protobuf-specs": "^0.1.0", - "make-fetch-happen": "^11.0.1", - "tuf-js": "^1.1.3" + "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" + } + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, "dependencies": { - "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 - }, - "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, - "requires": { - "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" - } - }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true - }, - "minipass-fetch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", - "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^5.0.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - } + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" } }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, - "smart-buffer": { + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } }, - "socket.io": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz", - "integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==", + "node_modules/socket.io": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", + "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", "dev": true, - "requires": { + "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", + "cors": "~2.8.5", "debug": "~4.3.2", - "engine.io": "~6.4.1", + "engine.io": "~6.5.2", "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.1" + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" } }, - "socket.io-adapter": { + "node_modules/socket.io-adapter": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", "dev": true, - "requires": { + "dependencies": { "ws": "~8.11.0" + } + }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "engines": { + "node": ">=10.0.0" }, - "dependencies": { - "ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true } } }, - "socket.io-parser": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", - "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "dev": true, - "requires": { + "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" } }, - "sockjs": { + "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, - "requires": { + "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, - "socks": { + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/socks": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, - "requires": { + "dependencies": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, - "socks-proxy-agent": { + "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, - "requires": { + "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" } }, - "source-map": { + "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 8" + } }, - "source-map-js": { + "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "source-map-loader": { + "node_modules/source-map-loader": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", "dev": true, - "requires": { + "dependencies": { "abab": "^2.0.6", "iconv-lite": "^0.6.3", "source-map-js": "^1.0.2" }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "source-map-support": { + "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "requires": { + "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, - "spdx-correct": { + "node_modules/source-map-support/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "requires": { + "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, - "spdx-exceptions": { + "node_modules/spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, - "spdx-expression-parse": { + "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "requires": { + "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, - "spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "node_modules/spdx-license-ids": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz", + "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==", "dev": true }, - "spdy": { + "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, - "requires": { + "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" } }, - "spdy-transport": { + "node_modules/spdy-transport": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, - "requires": { + "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", "hpack.js": "^2.1.6", @@ -9297,134 +23905,496 @@ "wbuf": "^1.7.3" } }, - "sprintf-js": { + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "ssri": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", - "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", + "node_modules/ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ssri/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/static-eval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", + "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", + "dev": true, + "dependencies": { + "escodegen": "^1.11.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "dev": true, - "requires": { - "minipass": "^5.0.0" + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/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" + } + }, + "node_modules/static-eval/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" + } + }, + "node_modules/static-module": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-3.0.4.tgz", + "integrity": "sha512-gb0v0rrgpBkifXCa3yZXxqVmXDVE+ETXj6YlC/jt5VzOnGXR2C15+++eXuMDUYsePnbhf+lwW0pE1UXyOLtGCw==", + "dev": true, "dependencies": { - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true - } + "acorn-node": "^1.3.0", + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "^1.11.1", + "has": "^1.0.1", + "magic-string": "0.25.1", + "merge-source-map": "1.0.4", + "object-inspect": "^1.6.0", + "readable-stream": "~2.3.3", + "scope-analyzer": "^2.0.1", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.5", + "through2": "~2.0.3" + } + }, + "node_modules/static-module/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-module/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" + } + }, + "node_modules/static-module/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/static-module/node_modules/magic-string": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.1.tgz", + "integrity": "sha512-sCuTz6pYom8Rlt4ISPFn6wuFodbKMIHUMv4Qko9P17dpxb7s52KJTmRuZZqHdGmLCK9AOcDare039nRIcfdkEg==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.1" + } + }, + "node_modules/static-module/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/static-module/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" + } + }, + "node_modules/static-module/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "statuses": { + "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/store2": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz", + "integrity": "sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==", + "dev": true + }, + "node_modules/storybook": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.4.2.tgz", + "integrity": "sha512-UuYmdxEWEQAepfjgQFbbHTq47Xxpw16naAvJ9n/nsjMnOhYupm1ZIdWYaeNjz4LOfz+1WzgU7us0IvaBrxzl4g==", + "dev": true, + "dependencies": { + "@storybook/cli": "7.4.2" + }, + "bin": { + "sb": "index.js", + "storybook": "index.js" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, - "streamroller": { + "node_modules/streamroller": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", "dev": true, - "requires": { + "dependencies": { "date-format": "^4.0.14", "debug": "^4.3.4", "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/streamroller/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "string-width": { + "node_modules/streamroller/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/streamroller/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { + "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "string-width-cjs": { - "version": "npm:string-width@4.2.3", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { + "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { + "dependencies": { "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-ansi-cjs": { - "version": "npm:strip-ansi@6.0.1", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { + "dependencies": { "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" } }, - "strip-final-newline": { + "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", + "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } }, - "supports-color": { + "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "requires": { + "dependencies": { "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/swc-loader": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.3.tgz", + "integrity": "sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A==", + "dev": true, + "peerDependencies": { + "@swc/core": "^1.2.147", + "webpack": ">=2" + } }, - "symbol-observable": { + "node_modules/symbol-observable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/synchronous-promise": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.17.tgz", + "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==", "dev": true }, - "tapable": { + "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "tar": { - "version": "6.1.14", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.14.tgz", - "integrity": "sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==", + "node_modules/tar": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "dev": true, - "requires": { + "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", @@ -9432,207 +24402,587 @@ "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, "dependencies": { - "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, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar/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" + } + }, + "node_modules/tar/node_modules/fs-minipass/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" + } + }, + "node_modules/tar/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" + } + }, + "node_modules/tar/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/tar/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 + }, + "node_modules/telejson": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/telejson/-/telejson-7.2.0.tgz", + "integrity": "sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==", + "dev": true, + "dependencies": { + "memoizerific": "^1.11.3" + } + }, + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "dev": true, + "dependencies": { + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/temp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tempy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", + "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", + "dev": true, + "dependencies": { + "del": "^6.0.0", + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "terser": { + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { "version": "5.16.3", "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz", "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==", "dev": true, - "requires": { + "dependencies": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" } }, - "terser-webpack-plugin": { - "version": "5.3.8", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.8.tgz", - "integrity": "sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==", + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "dev": true, - "requires": { + "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", "terser": "^5.16.8" }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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 - }, - "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 - }, - "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 + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true }, - "schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } + "esbuild": { + "optional": true }, - "terser": { - "version": "5.17.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.3.tgz", - "integrity": "sha512-AudpAZKmZHkG9jueayypz4duuCFJMMNGRMwaPvQKWfxKedh8Z2x3OCoDqIIi1xx5+iwx1u6Au8XQcc9Lke65Yg==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - } + "uglify-js": { + "optional": true } } }, - "test-exclude": { + "node_modules/terser-webpack-plugin/node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/terser-webpack-plugin/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" + } + }, + "node_modules/terser-webpack-plugin/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" + } + }, + "node_modules/terser-webpack-plugin/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 + }, + "node_modules/terser-webpack-plugin/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/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/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 + }, + "node_modules/terser-webpack-plugin/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" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/terser": { + "version": "5.19.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.4.tgz", + "integrity": "sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==", + "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" + } + }, + "node_modules/terser/node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "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 + }, + "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "requires": { + "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", "dev": true }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", "dev": true }, - "tmp": { + "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, - "requires": { + "dependencies": { "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" } }, - "to-fast-properties": { + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "requires": { + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "toidentifier": { + "node_modules/tocbot": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.21.1.tgz", + "integrity": "sha512-IfajhBTeg0HlMXu1f+VMbPef05QpDTsZ9X2Yn1+8npdaXsXg/+wrm9Ze1WG5OS1UDC3qJ5EQN/XOZ3gfXjPFCw==", + "dev": true + }, + "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true }, - "tree-kill": { + "node_modules/traverse": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "engines": { + "node": ">=6.10" + } + }, + "node_modules/ts-morph": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-18.0.0.tgz", + "integrity": "sha512-Kg5u0mk19PIIe4islUI/HWRvm9bC1lHejK4S0oh1zaZ77TMZAEmQC0sHQYiu2RgCQFZKXz1fMVi/7nOOeirznA==", + "dev": true, + "dependencies": { + "@ts-morph/common": "~0.19.0", + "code-block-writer": "^12.0.0" + } }, - "ts-node": { + "node_modules/ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "requires": { + "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", @@ -9646,287 +24996,713 @@ "make-error": "^1.1.1", "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "node_modules/ts-node/node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ts-node/node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.0" + } + }, + "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" + } + }, + "node_modules/tsconfig-paths-webpack-plugin": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz", + "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tsconfig-paths": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tsconfig-paths-webpack-plugin/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/tsconfig-paths-webpack-plugin/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/tsconfig-paths-webpack-plugin/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/tsconfig-paths-webpack-plugin/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/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, - "tuf-js": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.6.tgz", - "integrity": "sha512-CXwFVIsXGbVY4vFiWF7TJKWmlKJAT8TWkH4RmiohJRcDJInix++F0dznDmoVbtJNzZ8yLprKUG4YrDIhv3nBMg==", + "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, - "requires": { + "dependencies": { "@tufjs/models": "1.0.4", "debug": "^4.3.4", - "make-fetch-happen": "^11.1.0" + "make-fetch-happen": "^11.1.1" }, - "dependencies": { - "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 - }, - "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, - "requires": { - "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" - } - }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true - }, - "minipass-fetch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", - "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^5.0.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - } + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "dev": true }, - "type-is": { + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "requires": { + "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" } }, - "typed-assert": { + "node_modules/typed-assert": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", "dev": true }, - "typescript": { + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typescript": { "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } }, - "ua-parser-js": { - "version": "0.7.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.35.tgz", - "integrity": "sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==", - "dev": true + "node_modules/ua-parser-js": { + "version": "0.7.36", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.36.tgz", + "integrity": "sha512-CPPLoCts2p7D8VbybttE3P2ylv0OBZEAy7a12DsulIEcAiMtWJy+PBgMXgWDI80D5UwqE8oQPHYnk13tm38M2Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } }, - "unicode-canonical-property-names-ecmascript": { + "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "unicode-match-property-ecmascript": { + "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, - "requires": { + "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "unicode-match-property-value-ecmascript": { + "node_modules/unicode-match-property-value-ecmascript": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "unicode-property-aliases-ecmascript": { + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "dev": true, + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "unique-filename": { + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "dev": true, + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unique-filename": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dev": true, - "requires": { + "dependencies": { "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "unique-slug": { + "node_modules/unique-slug": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", "dev": true, - "requires": { + "dependencies": { "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unix-crypt-td-js": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz", + "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==", "dev": true }, - "unpipe": { + "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unplugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.0.tgz", + "integrity": "sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==", + "dev": true, + "dependencies": { + "acorn": "^8.10.0", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "node_modules/unplugin/node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "update-browserslist-db": { + "node_modules/update-browserslist-db": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, - "requires": { + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "uri-js": { + "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "requires": { + "dependencies": { "punycode": "^2.1.0" } }, - "util-deprecate": { + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dev": true, + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "dev": true, + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-resize-observer": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz", + "integrity": "sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==", + "dev": true, + "dependencies": { + "@juggle/resize-observer": "^3.3.1" + }, + "peerDependencies": { + "react": "16.8.0 - 18", + "react-dom": "16.8.0 - 18" + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dev": true, + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "utils-merge": { + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true + }, + "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4.0" + } }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } }, - "v8-compile-cache-lib": { + "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, - "validate-npm-package-license": { + "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "requires": { + "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, - "validate-npm-package-name": { + "node_modules/validate-npm-package-name": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, - "requires": { + "dependencies": { "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "vary": { + "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "vlq": { + "node_modules/vlq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" }, - "void-elements": { + "node_modules/void-elements": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } }, - "watchpack": { + "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, - "requires": { + "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" } }, - "wbuf": { + "node_modules/wbuf": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, - "requires": { + "dependencies": { "minimalistic-assert": "^1.0.0" } }, - "wcwidth": { + "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, - "requires": { + "dependencies": { "defaults": "^1.0.3" } }, - "webpack": { - "version": "5.82.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.82.1.tgz", - "integrity": "sha512-C6uiGQJ+Gt4RyHXXYt+v9f+SN1v83x68URwgxNQ98cvH8kxiuywWGP4XeNZ1paOzZ63aY3cTciCEQJNFUljlLw==", + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "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, - "requires": { + "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.7.6", + "acorn-import-assertions": "^1.9.0", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.14.0", + "enhanced-resolve": "^5.15.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -9936,69 +25712,57 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.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" }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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 - }, - "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 - }, - "schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true } } }, - "webpack-dev-middleware": { + "node_modules/webpack-dev-middleware": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.1.tgz", "integrity": "sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw==", "dev": true, - "requires": { + "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.12", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "webpack-dev-server": { + "node_modules/webpack-dev-server": { "version": "4.11.1", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", "dev": true, - "requires": { + "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", "@types/express": "^4.17.13", @@ -10029,207 +25793,539 @@ "webpack-dev-middleware": "^5.3.1", "ws": "^8.4.2" }, - "dependencies": { - "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "dev": true, - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - } + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true } } }, - "webpack-merge": { + "node_modules/webpack-dev-server/node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-hot-middleware": { + "version": "2.25.4", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.4.tgz", + "integrity": "sha512-IRmTspuHM06aZh98OhBJtqLpeWFM8FXJS5UYpKYxCJzyFoyWj1w6VGFfomZU7OPA55dMLrQK0pRT1eQ3PACr4w==", + "dev": true, + "dependencies": { + "ansi-html-community": "0.0.8", + "html-entities": "^2.1.0", + "strip-ansi": "^6.0.0" + } + }, + "node_modules/webpack-merge": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, - "requires": { + "dependencies": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" } }, - "webpack-sources": { + "node_modules/webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true + "dev": true, + "engines": { + "node": ">=10.13.0" + } }, - "webpack-subresource-integrity": { + "node_modules/webpack-subresource-integrity": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", "dev": true, - "requires": { + "dependencies": { "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", + "dev": true + }, + "node_modules/webpack/node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/webpack/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" + } + }, + "node_modules/webpack/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" + } + }, + "node_modules/webpack/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 + }, + "node_modules/webpack/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" } }, - "websocket-driver": { + "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, - "requires": { + "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" } }, - "websocket-extensions": { + "node_modules/websocket-extensions": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } }, - "which": { + "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, - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "wide-align": { + "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, - "requires": { + "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } }, - "wildcard": { + "node_modules/wildcard": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, - "wrap-ansi": { + "node_modules/windows-release": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", + "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", + "dev": true, + "dependencies": { + "execa": "^4.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/windows-release/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/windows-release/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/windows-release/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "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, - "requires": { + "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, - "dependencies": { - "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, - "requires": { - "color-convert": "^2.0.1" - } - }, - "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, - "requires": { - "color-name": "~1.1.4" - } - }, - "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 - } + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "wrap-ansi-cjs": { - "version": "npm:wrap-ansi@7.0.0", + "node_modules/wrap-ansi-cjs": { + "name": "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, - "requires": { + "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" + } + }, + "node_modules/wrap-ansi-cjs/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": { - "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, - "requires": { - "color-convert": "^2.0.1" - } - }, - "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, - "requires": { - "color-name": "~1.1.4" - } - }, - "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 - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/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" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "dev": true + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xmldoc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.3.0.tgz", + "integrity": "sha512-y7IRWW6PvEnYQZNZFMRLNJw+p3pezM4nKYPfr15g4OOW9i8VpeydycFuipE2297OvZnh3jSb2pxOt9QpkZUVng==", + "dev": true, + "dependencies": { + "sax": "^1.2.4" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } }, - "xxhashjs": { + "node_modules/xxhashjs": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", "dev": true, - "requires": { + "dependencies": { "cuint": "^0.2.2" } }, - "y18n": { + "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true + "dev": true, + "engines": { + "node": ">=10" + } }, - "yallist": { + "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "yaml": { + "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 6" + } }, - "yargs": { + "node_modules/yargs": { "version": "17.6.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", "dev": true, - "requires": { + "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", @@ -10237,24 +26333,55 @@ "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" } }, - "yargs-parser": { + "node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } }, - "yn": { + "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "zone.js": { + "node_modules/zone.js": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.12.0.tgz", "integrity": "sha512-XtC+I5dXU14HrzidAKBNMqneIVUykLEAA1x+v4KVrd6AUPWlwYORF8KgsVqvgdHiKZ4BkxxjvYi/ksEixTPR0Q==", - "requires": { + "dependencies": { "tslib": "^2.3.0" } } diff --git a/package.json b/package.json index 3fc72eed..16dbdc0f 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,8 @@ "start": "ng serve", "build": "ng build", "test": "ng test", + "storybook": "ng run arc-lib:storybook", + "build-storybook": "ng run arc-lib:build-storybook", "lint": "ng lint", "lint:fix": "./node_modules/.bin/prettier --write \"**/*\"", "e2e": "ng e2e", @@ -25,8 +27,8 @@ "@angular/router": "^15.2.0", "@nebular/auth": "^11.0.0", "@nebular/date-fns": "^11.0.0", - "@nebular/eva-icons": "11.0.0", - "@nebular/theme": "^11.0.0", + "@nebular/eva-icons": "11.0.1", + "@nebular/theme": "^11.0.1", "@ngx-translate/core": "^14.0.0", "@ngx-translate/http-loader": "^7.0.0", "@types/lodash": "^4.14.194", @@ -47,7 +49,16 @@ "@angular-devkit/build-angular": "^15.2.6", "@angular/cli": "~15.2.6", "@angular/compiler-cli": "^15.2.0", + "@compodoc/compodoc": "^1.1.21", "@schematics/angular": "~15.2.6", + "@storybook/addon-controls": "^7.4.5", + "@storybook/addon-docs": "^7.4.5", + "@storybook/addon-essentials": "^7.4.2", + "@storybook/addon-interactions": "^7.4.2", + "@storybook/addon-links": "^7.4.2", + "@storybook/angular": "^7.4.2", + "@storybook/blocks": "^7.4.2", + "@storybook/testing-library": "^0.2.1", "@types/date-fns": "^2.6.0", "@types/jasmine": "~4.3.0", "dhtmlx-gantt": "^7.1.13", @@ -58,6 +69,9 @@ "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.0.0", "ng-packagr": "^15.2.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "storybook": "^7.4.2", "typescript": "~4.9.4", "webpack": "^5.82.1" } diff --git a/projects/arc-lib/.storybook/main.ts b/projects/arc-lib/.storybook/main.ts new file mode 100644 index 00000000..02381055 --- /dev/null +++ b/projects/arc-lib/.storybook/main.ts @@ -0,0 +1,22 @@ +import type {StorybookConfig} from '@storybook/angular'; + +const config: StorybookConfig = { + stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], + addons: [ + '@storybook/addon-links', + '@storybook/addon-essentials', + '@storybook/addon-interactions', + ], + + framework: { + name: '@storybook/angular', + options: {}, + }, + docs: { + autodocs: 'tag', + }, +}; +export default config; + + + diff --git a/projects/arc-lib/.storybook/preview.ts b/projects/arc-lib/.storybook/preview.ts new file mode 100644 index 00000000..5d576167 --- /dev/null +++ b/projects/arc-lib/.storybook/preview.ts @@ -0,0 +1,18 @@ +import type {Preview} from '@storybook/angular'; +import {setCompodocJson} from '@storybook/addon-docs/angular'; +import docJson from '../documentation.json'; +setCompodocJson(docJson); + +const preview: Preview = { + parameters: { + actions: {argTypesRegex: '^on[A-Z].*'}, + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/, + }, + }, + }, +}; + +export default preview; diff --git a/projects/arc-lib/.storybook/tsconfig.json b/projects/arc-lib/.storybook/tsconfig.json new file mode 100644 index 00000000..59daf738 --- /dev/null +++ b/projects/arc-lib/.storybook/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../tsconfig.lib.json", + "compilerOptions": { + "types": ["node"], + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true + }, + "exclude": ["../src/test.ts", "../src/**/*.spec.ts"], + "include": ["../src/**/*", "./preview.ts"], + "files": ["./typings.d.ts"] +} diff --git a/projects/arc-lib/.storybook/typings.d.ts b/projects/arc-lib/.storybook/typings.d.ts new file mode 100644 index 00000000..f73d61b3 --- /dev/null +++ b/projects/arc-lib/.storybook/typings.d.ts @@ -0,0 +1,4 @@ +declare module '*.md' { + const content: string; + export default content; +} diff --git a/projects/arc-lib/documentation.json b/projects/arc-lib/documentation.json new file mode 100644 index 00000000..2ac6c8fa --- /dev/null +++ b/projects/arc-lib/documentation.json @@ -0,0 +1,19471 @@ +{ + "pipes": [], + "interfaces": [ + { + "name": "AndClause", + "id": "interface-AndClause-079e127f5ba71cf5910bfe6ea46f4d4fce824d5ea801eaa16e21bfca56b8e0db3d412c81428e8b2b7c1fd5fe38ecae4b0a8bda2b786bc318b53af648d009c9d8", + "file": "projects/arc-lib/src/lib/core/api/backend-filter.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "export interface AnyObject {\n [property: string]: any;\n}\nexport declare type ShortHandEqualType = string | number | boolean | Date;\nexport declare type Operators =\n | 'eq'\n | 'neq'\n | 'gt'\n | 'gte'\n | 'lt'\n | 'lte'\n | 'inq'\n | 'nin'\n | 'between'\n | 'exists'\n | 'and'\n | 'or'\n | 'like'\n | 'nlike'\n | 'ilike'\n | 'nilike'\n | 'regexp';\n\nexport declare type KeyOf = Exclude<\n Extract,\n Operators\n>;\nexport declare type Condition = {\n [P in KeyOf]?: PredicateComparison | (MT[P] & ShortHandEqualType);\n};\nexport declare type PredicateComparison = {\n eq?: PT;\n neq?: PT;\n gt?: PT;\n gte?: PT;\n lt?: PT;\n lte?: PT;\n inq?: PT[];\n nin?: PT[];\n between?: [PT, PT];\n exists?: boolean;\n like?: PT;\n nlike?: PT;\n ilike?: PT;\n nilike?: PT;\n regexp?: string | RegExp;\n};\nexport interface AndClause {\n and: Where[];\n}\nexport interface OrClause {\n or: Where[];\n}\nexport declare type Where =\n | Condition\n | AndClause\n | OrClause;\n\nexport declare type Fields = {\n [P in keyof MT]?: boolean;\n};\nexport interface Inclusion {\n relation: string;\n scope?: BackendFilter;\n}\nexport interface BackendFilter {\n /**\n * The matching criteria\n */\n where?: Where;\n /**\n * To include/exclude fields\n */\n fields?: Fields | (keyof MT)[];\n /**\n * Sorting order for matched entities. Each item should be formatted as\n * `fieldName ASC` or `fieldName DESC`.\n * For example: `['f1 ASC', 'f2 DESC', 'f3 ASC']`.\n *\n * We might want to use `Order` in the future. Keep it as `string[]` for now\n * for compatibility with LoopBack 3.x.\n */\n order?: string[];\n /**\n * Maximum number of entities\n */\n limit?: number;\n /**\n * Skip N number of entities\n */\n skip?: number;\n /**\n * Offset N number of entities. An alias for `skip`\n */\n offset?: number;\n /**\n * To include related objects\n */\n include?: Inclusion[];\n}\n", + "properties": [ + { + "name": "and", + "deprecated": false, + "deprecationMessage": "", + "type": "Where[]", + "optional": false, + "description": "", + "line": 49 + } + ], + "indexSignatures": [], + "kind": 168, + "methods": [] + }, + { + "name": "AnyObject", + "id": "interface-AnyObject-079e127f5ba71cf5910bfe6ea46f4d4fce824d5ea801eaa16e21bfca56b8e0db3d412c81428e8b2b7c1fd5fe38ecae4b0a8bda2b786bc318b53af648d009c9d8", + "file": "projects/arc-lib/src/lib/core/api/backend-filter.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "export interface AnyObject {\n [property: string]: any;\n}\nexport declare type ShortHandEqualType = string | number | boolean | Date;\nexport declare type Operators =\n | 'eq'\n | 'neq'\n | 'gt'\n | 'gte'\n | 'lt'\n | 'lte'\n | 'inq'\n | 'nin'\n | 'between'\n | 'exists'\n | 'and'\n | 'or'\n | 'like'\n | 'nlike'\n | 'ilike'\n | 'nilike'\n | 'regexp';\n\nexport declare type KeyOf = Exclude<\n Extract,\n Operators\n>;\nexport declare type Condition = {\n [P in KeyOf]?: PredicateComparison | (MT[P] & ShortHandEqualType);\n};\nexport declare type PredicateComparison = {\n eq?: PT;\n neq?: PT;\n gt?: PT;\n gte?: PT;\n lt?: PT;\n lte?: PT;\n inq?: PT[];\n nin?: PT[];\n between?: [PT, PT];\n exists?: boolean;\n like?: PT;\n nlike?: PT;\n ilike?: PT;\n nilike?: PT;\n regexp?: string | RegExp;\n};\nexport interface AndClause {\n and: Where[];\n}\nexport interface OrClause {\n or: Where[];\n}\nexport declare type Where =\n | Condition\n | AndClause\n | OrClause;\n\nexport declare type Fields = {\n [P in keyof MT]?: boolean;\n};\nexport interface Inclusion {\n relation: string;\n scope?: BackendFilter;\n}\nexport interface BackendFilter {\n /**\n * The matching criteria\n */\n where?: Where;\n /**\n * To include/exclude fields\n */\n fields?: Fields | (keyof MT)[];\n /**\n * Sorting order for matched entities. Each item should be formatted as\n * `fieldName ASC` or `fieldName DESC`.\n * For example: `['f1 ASC', 'f2 DESC', 'f3 ASC']`.\n *\n * We might want to use `Order` in the future. Keep it as `string[]` for now\n * for compatibility with LoopBack 3.x.\n */\n order?: string[];\n /**\n * Maximum number of entities\n */\n limit?: number;\n /**\n * Skip N number of entities\n */\n skip?: number;\n /**\n * Offset N number of entities. An alias for `skip`\n */\n offset?: number;\n /**\n * To include related objects\n */\n include?: Inclusion[];\n}\n", + "properties": [], + "indexSignatures": [ + { + "id": "index-declaration-079e127f5ba71cf5910bfe6ea46f4d4fce824d5ea801eaa16e21bfca56b8e0db3d412c81428e8b2b7c1fd5fe38ecae4b0a8bda2b786bc318b53af648d009c9d8", + "args": [ + { + "name": "property", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "returnType": "any", + "line": 1, + "deprecated": false, + "deprecationMessage": "" + } + ], + "kind": 178, + "methods": [] + }, + { + "name": "BackendFilter", + "id": "interface-BackendFilter-079e127f5ba71cf5910bfe6ea46f4d4fce824d5ea801eaa16e21bfca56b8e0db3d412c81428e8b2b7c1fd5fe38ecae4b0a8bda2b786bc318b53af648d009c9d8", + "file": "projects/arc-lib/src/lib/core/api/backend-filter.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "export interface AnyObject {\n [property: string]: any;\n}\nexport declare type ShortHandEqualType = string | number | boolean | Date;\nexport declare type Operators =\n | 'eq'\n | 'neq'\n | 'gt'\n | 'gte'\n | 'lt'\n | 'lte'\n | 'inq'\n | 'nin'\n | 'between'\n | 'exists'\n | 'and'\n | 'or'\n | 'like'\n | 'nlike'\n | 'ilike'\n | 'nilike'\n | 'regexp';\n\nexport declare type KeyOf = Exclude<\n Extract,\n Operators\n>;\nexport declare type Condition = {\n [P in KeyOf]?: PredicateComparison | (MT[P] & ShortHandEqualType);\n};\nexport declare type PredicateComparison = {\n eq?: PT;\n neq?: PT;\n gt?: PT;\n gte?: PT;\n lt?: PT;\n lte?: PT;\n inq?: PT[];\n nin?: PT[];\n between?: [PT, PT];\n exists?: boolean;\n like?: PT;\n nlike?: PT;\n ilike?: PT;\n nilike?: PT;\n regexp?: string | RegExp;\n};\nexport interface AndClause {\n and: Where[];\n}\nexport interface OrClause {\n or: Where[];\n}\nexport declare type Where =\n | Condition\n | AndClause\n | OrClause;\n\nexport declare type Fields = {\n [P in keyof MT]?: boolean;\n};\nexport interface Inclusion {\n relation: string;\n scope?: BackendFilter;\n}\nexport interface BackendFilter {\n /**\n * The matching criteria\n */\n where?: Where;\n /**\n * To include/exclude fields\n */\n fields?: Fields | (keyof MT)[];\n /**\n * Sorting order for matched entities. Each item should be formatted as\n * `fieldName ASC` or `fieldName DESC`.\n * For example: `['f1 ASC', 'f2 DESC', 'f3 ASC']`.\n *\n * We might want to use `Order` in the future. Keep it as `string[]` for now\n * for compatibility with LoopBack 3.x.\n */\n order?: string[];\n /**\n * Maximum number of entities\n */\n limit?: number;\n /**\n * Skip N number of entities\n */\n skip?: number;\n /**\n * Offset N number of entities. An alias for `skip`\n */\n offset?: number;\n /**\n * To include related objects\n */\n include?: Inclusion[];\n}\n", + "properties": [ + { + "name": "fields", + "deprecated": false, + "deprecationMessage": "", + "type": "Fields | ()[]", + "optional": true, + "description": "

To include/exclude fields

\n", + "line": 74, + "rawdescription": "\n\nTo include/exclude fields\n" + }, + { + "name": "include", + "deprecated": false, + "deprecationMessage": "", + "type": "Inclusion[]", + "optional": true, + "description": "

To include related objects

\n", + "line": 99, + "rawdescription": "\n\nTo include related objects\n" + }, + { + "name": "limit", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": true, + "description": "

Maximum number of entities

\n", + "line": 87, + "rawdescription": "\n\nMaximum number of entities\n" + }, + { + "name": "offset", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": true, + "description": "

Offset N number of entities. An alias for skip

\n", + "line": 95, + "rawdescription": "\n\nOffset N number of entities. An alias for `skip`\n" + }, + { + "name": "order", + "deprecated": false, + "deprecationMessage": "", + "type": "string[]", + "optional": true, + "description": "

Sorting order for matched entities. Each item should be formatted as\nfieldName ASC or fieldName DESC.\nFor example: ['f1 ASC', 'f2 DESC', 'f3 ASC'].

\n

We might want to use Order in the future. Keep it as string[] for now\nfor compatibility with LoopBack 3.x.

\n", + "line": 83, + "rawdescription": "\n\nSorting order for matched entities. Each item should be formatted as\n`fieldName ASC` or `fieldName DESC`.\nFor example: `['f1 ASC', 'f2 DESC', 'f3 ASC']`.\n\nWe might want to use `Order` in the future. Keep it as `string[]` for now\nfor compatibility with LoopBack 3.x.\n" + }, + { + "name": "skip", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": true, + "description": "

Skip N number of entities

\n", + "line": 91, + "rawdescription": "\n\nSkip N number of entities\n" + }, + { + "name": "where", + "deprecated": false, + "deprecationMessage": "", + "type": "Where", + "optional": true, + "description": "

The matching criteria

\n", + "line": 70, + "rawdescription": "\n\nThe matching criteria\n" + } + ], + "indexSignatures": [], + "kind": 168, + "methods": [] + }, + { + "name": "BaseTaskValue", + "id": "interface-BaseTaskValue-903a2e044da7fc91ed34896e643069f9eb12d45bbe2e24e6aaa8f3691edb881743650ec10efa5eaa3b67d604761b2e928b9007ee794d6c7514f65592a96b6f28", + "file": "projects/arc-lib/src/lib/components/gantt/types.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "import {TemplateRef, Type, ViewContainerRef} from '@angular/core';\nimport {AnyObject} from '@project-lib/core/api';\nimport {DIGITS, ONE_MIN} from '@project-lib/core/constants';\nimport {NbMenuItem} from '@nebular/theme';\nimport {RANDOM_SIZE} from './const';\nimport {gantt} from 'dhtmlx-gantt';\n\n/**\n * `GanttTaskValue` is a type that represents a task in the Gantt chart.\n *\n * The `GanttTaskValue` type is a generic type, which means that it can be used to represent a task\n * with any type of payload.\n *\n * The `GanttTaskValue` type has the following properties:\n *\n * @property {number} id - The unique identifier for the task.\n * @property {Date} start_date - The start date of the task.\n * @property {Date} end_date - The end date of the task.\n * @property {string} name - The name of the task.\n * @property {string} subtitle - A subtitle for the task.\n * @property render - This is used to render the task as a split task.\n * @property {number} parent - The id of the parent task.\n * @property {number} allocation - The percentage of the parent task that this task takes up.\n * @property {string} type - The type of the task. This is used to determine the color of the task.\n * @property {T} payload - This is the data that you want to pass to the task.\n * @property {boolean} open - This is a property that is used by the Gantt component to determine\n * whether or not the task is expanded.\n * @property {boolean} hasChildren - This is a boolean value that indicates whether the task has\n * children.\n */\nexport type GanttTaskValue =\n | GanttTaskValueWithAllocation\n | GanttTaskValueWithSubAllocation;\n\nexport interface BaseTaskValue {\n id: string | number;\n start_date: Date;\n end_date: Date;\n name: string;\n subtitle?: string;\n render?: 'split';\n parent?: string | number;\n type: string | number;\n $open?: boolean;\n hasChildren: boolean;\n isParent: boolean;\n overallocated?: boolean;\n bar_height?: number;\n row_height?: number;\n payload: T;\n classes?: string[];\n}\n\nexport function withSuballocations(\n task: GanttTaskValueWithSubAllocation | GanttTaskValueWithAllocation,\n): task is GanttTaskValueWithSubAllocation {\n return (\n (task as GanttTaskValueWithSubAllocation).subAllocations !== undefined\n );\n}\n\nexport interface GanttTaskValueWithAllocation extends BaseTaskValue {\n allocation: number;\n}\n\nexport interface GanttTaskValueWithSubAllocation extends BaseTaskValue {\n subAllocations: SubAllocation[];\n}\n\nexport type GanttScaleService = {\n scale: Timelines;\n config(options?: GanttScaleOptions): {\n unit: string;\n step: number;\n format: (date: Date) => string;\n css?: (date: Date) => string;\n }[];\n};\n\n// will be required for custom scale\nexport type GanttScaleOptions = {};\n\nexport type ContextItemClickEvent = {\n event: NbMenuItem;\n task: GanttTaskValue;\n};\n\nexport type GanttEvent = {\n event: string;\n task: GanttTaskValue;\n};\n\nexport type GanttRenderOptions = {\n contextItems: NbMenuItem[];\n contextTemplate?: TemplateRef;\n viewContainerRef?: ViewContainerRef;\n columnName?: string;\n showKebab: boolean;\n showParentInitials: boolean;\n showChildInitials: boolean;\n columnComponent: Type>;\n barComponent: Type>;\n columnWidth: number;\n resizer: boolean;\n searchPlaceholder?: string;\n showSearch: boolean;\n moveToToday: boolean;\n highlightRange?: [Date, Date];\n showOverallocatedIcon: boolean;\n contextItemFilter?: ContextItemFilter;\n defaultScale: Timelines;\n markToday: boolean;\n showTooltip?: boolean;\n childIndent: boolean;\n};\n\nexport type GanttAllocationFields = {\n startDate: Date;\n endDate: Date;\n allocation: number;\n};\n\nexport type GanttLib = typeof gantt;\n\nexport enum Timelines {\n Weekly,\n Monthly,\n Quarterly,\n Custom,\n}\n\nexport const GanttTimelineMap: {\n [key in Timelines]: string;\n} = {\n [Timelines.Weekly]: 'Weekly',\n [Timelines.Monthly]: 'Monthly',\n [Timelines.Quarterly]: 'Quarterly',\n [Timelines.Custom]: 'Custom',\n};\n\nexport abstract class GanttAdapter {\n abstract adaptFrom(data: T[]): GanttTaskValue[];\n\n /**\n * \"Given a date, return a new date that is one day later.\"\n *\n * The first line of the function is a comment. Comments are ignored by the compiler\n * @param {Date} date - The date to be incremented\n * @returns A new Date object with the date set to the next day.\n */\n protected _nextDay(date: Date) {\n return new Date(date.setDate(date.getDate() + 1));\n }\n\n /**\n * It takes a date string or a Date object, converts it to a Date object, and then adds the timezone\n * offset to it\n * @param {string | Date} date - string | Date\n * @returns A new Date object with the timezone offset added to the time.\n */\n protected _addTimezoneOffset(date: string | Date) {\n let dateObject = new Date(date);\n return new Date(\n dateObject.getTime() + dateObject.getTimezoneOffset() * ONE_MIN,\n );\n }\n\n protected _randomId() {\n return Math.random()\n .toString(RANDOM_SIZE)\n .substring(DIGITS.TWO, DIGITS.NINE);\n }\n}\n\nexport type CustomMouseEvent = {\n target: HTMLElement;\n};\n\nexport type IColumnComponent = {\n item: GanttTaskValue;\n contextItems: NbMenuItem[];\n active: boolean;\n showKebab: boolean;\n showParentInitials: boolean;\n showChildInitials: boolean;\n showOverallocatedIcon: boolean;\n contextItemFilter?: ContextItemFilter;\n};\n\nexport type IBarComponent = {\n item: GanttTaskValue;\n};\n\nexport type SubAllocation = {\n percent: number;\n allocation: number;\n classes?: string[];\n} & T;\n\nexport type ContextItemFilter = (item: GanttTaskValue) => NbMenuItem[];\n\nexport function hasSubAllocation(\n item: GanttTaskValue,\n): item is GanttTaskValueWithSubAllocation {\n return !!(item as GanttTaskValueWithSubAllocation).subAllocations;\n}\n", + "properties": [ + { + "name": "$open", + "deprecated": false, + "deprecationMessage": "", + "type": "boolean", + "optional": true, + "description": "", + "line": 44 + }, + { + "name": "bar_height", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": true, + "description": "", + "line": 48 + }, + { + "name": "classes", + "deprecated": false, + "deprecationMessage": "", + "type": "string[]", + "optional": true, + "description": "", + "line": 51 + }, + { + "name": "end_date", + "deprecated": false, + "deprecationMessage": "", + "type": "Date", + "optional": false, + "description": "", + "line": 38 + }, + { + "name": "hasChildren", + "deprecated": false, + "deprecationMessage": "", + "type": "boolean", + "optional": false, + "description": "", + "line": 45 + }, + { + "name": "id", + "deprecated": false, + "deprecationMessage": "", + "type": "string | number", + "optional": false, + "description": "", + "line": 36 + }, + { + "name": "isParent", + "deprecated": false, + "deprecationMessage": "", + "type": "boolean", + "optional": false, + "description": "", + "line": 46 + }, + { + "name": "name", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 39 + }, + { + "name": "overallocated", + "deprecated": false, + "deprecationMessage": "", + "type": "boolean", + "optional": true, + "description": "", + "line": 47 + }, + { + "name": "parent", + "deprecated": false, + "deprecationMessage": "", + "type": "string | number", + "optional": true, + "description": "", + "line": 42 + }, + { + "name": "payload", + "deprecated": false, + "deprecationMessage": "", + "type": "T", + "optional": false, + "description": "", + "line": 50 + }, + { + "name": "render", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": true, + "description": "", + "line": 41 + }, + { + "name": "row_height", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": true, + "description": "", + "line": 49 + }, + { + "name": "start_date", + "deprecated": false, + "deprecationMessage": "", + "type": "Date", + "optional": false, + "description": "", + "line": 37 + }, + { + "name": "subtitle", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": true, + "description": "", + "line": 40 + }, + { + "name": "type", + "deprecated": false, + "deprecationMessage": "", + "type": "string | number", + "optional": false, + "description": "", + "line": 43 + } + ], + "indexSignatures": [], + "kind": 168, + "methods": [] + }, + { + "name": "GanttTaskValueWithAllocation", + "id": "interface-GanttTaskValueWithAllocation-903a2e044da7fc91ed34896e643069f9eb12d45bbe2e24e6aaa8f3691edb881743650ec10efa5eaa3b67d604761b2e928b9007ee794d6c7514f65592a96b6f28", + "file": "projects/arc-lib/src/lib/components/gantt/types.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "import {TemplateRef, Type, ViewContainerRef} from '@angular/core';\nimport {AnyObject} from '@project-lib/core/api';\nimport {DIGITS, ONE_MIN} from '@project-lib/core/constants';\nimport {NbMenuItem} from '@nebular/theme';\nimport {RANDOM_SIZE} from './const';\nimport {gantt} from 'dhtmlx-gantt';\n\n/**\n * `GanttTaskValue` is a type that represents a task in the Gantt chart.\n *\n * The `GanttTaskValue` type is a generic type, which means that it can be used to represent a task\n * with any type of payload.\n *\n * The `GanttTaskValue` type has the following properties:\n *\n * @property {number} id - The unique identifier for the task.\n * @property {Date} start_date - The start date of the task.\n * @property {Date} end_date - The end date of the task.\n * @property {string} name - The name of the task.\n * @property {string} subtitle - A subtitle for the task.\n * @property render - This is used to render the task as a split task.\n * @property {number} parent - The id of the parent task.\n * @property {number} allocation - The percentage of the parent task that this task takes up.\n * @property {string} type - The type of the task. This is used to determine the color of the task.\n * @property {T} payload - This is the data that you want to pass to the task.\n * @property {boolean} open - This is a property that is used by the Gantt component to determine\n * whether or not the task is expanded.\n * @property {boolean} hasChildren - This is a boolean value that indicates whether the task has\n * children.\n */\nexport type GanttTaskValue =\n | GanttTaskValueWithAllocation\n | GanttTaskValueWithSubAllocation;\n\nexport interface BaseTaskValue {\n id: string | number;\n start_date: Date;\n end_date: Date;\n name: string;\n subtitle?: string;\n render?: 'split';\n parent?: string | number;\n type: string | number;\n $open?: boolean;\n hasChildren: boolean;\n isParent: boolean;\n overallocated?: boolean;\n bar_height?: number;\n row_height?: number;\n payload: T;\n classes?: string[];\n}\n\nexport function withSuballocations(\n task: GanttTaskValueWithSubAllocation | GanttTaskValueWithAllocation,\n): task is GanttTaskValueWithSubAllocation {\n return (\n (task as GanttTaskValueWithSubAllocation).subAllocations !== undefined\n );\n}\n\nexport interface GanttTaskValueWithAllocation extends BaseTaskValue {\n allocation: number;\n}\n\nexport interface GanttTaskValueWithSubAllocation extends BaseTaskValue {\n subAllocations: SubAllocation[];\n}\n\nexport type GanttScaleService = {\n scale: Timelines;\n config(options?: GanttScaleOptions): {\n unit: string;\n step: number;\n format: (date: Date) => string;\n css?: (date: Date) => string;\n }[];\n};\n\n// will be required for custom scale\nexport type GanttScaleOptions = {};\n\nexport type ContextItemClickEvent = {\n event: NbMenuItem;\n task: GanttTaskValue;\n};\n\nexport type GanttEvent = {\n event: string;\n task: GanttTaskValue;\n};\n\nexport type GanttRenderOptions = {\n contextItems: NbMenuItem[];\n contextTemplate?: TemplateRef;\n viewContainerRef?: ViewContainerRef;\n columnName?: string;\n showKebab: boolean;\n showParentInitials: boolean;\n showChildInitials: boolean;\n columnComponent: Type>;\n barComponent: Type>;\n columnWidth: number;\n resizer: boolean;\n searchPlaceholder?: string;\n showSearch: boolean;\n moveToToday: boolean;\n highlightRange?: [Date, Date];\n showOverallocatedIcon: boolean;\n contextItemFilter?: ContextItemFilter;\n defaultScale: Timelines;\n markToday: boolean;\n showTooltip?: boolean;\n childIndent: boolean;\n};\n\nexport type GanttAllocationFields = {\n startDate: Date;\n endDate: Date;\n allocation: number;\n};\n\nexport type GanttLib = typeof gantt;\n\nexport enum Timelines {\n Weekly,\n Monthly,\n Quarterly,\n Custom,\n}\n\nexport const GanttTimelineMap: {\n [key in Timelines]: string;\n} = {\n [Timelines.Weekly]: 'Weekly',\n [Timelines.Monthly]: 'Monthly',\n [Timelines.Quarterly]: 'Quarterly',\n [Timelines.Custom]: 'Custom',\n};\n\nexport abstract class GanttAdapter {\n abstract adaptFrom(data: T[]): GanttTaskValue[];\n\n /**\n * \"Given a date, return a new date that is one day later.\"\n *\n * The first line of the function is a comment. Comments are ignored by the compiler\n * @param {Date} date - The date to be incremented\n * @returns A new Date object with the date set to the next day.\n */\n protected _nextDay(date: Date) {\n return new Date(date.setDate(date.getDate() + 1));\n }\n\n /**\n * It takes a date string or a Date object, converts it to a Date object, and then adds the timezone\n * offset to it\n * @param {string | Date} date - string | Date\n * @returns A new Date object with the timezone offset added to the time.\n */\n protected _addTimezoneOffset(date: string | Date) {\n let dateObject = new Date(date);\n return new Date(\n dateObject.getTime() + dateObject.getTimezoneOffset() * ONE_MIN,\n );\n }\n\n protected _randomId() {\n return Math.random()\n .toString(RANDOM_SIZE)\n .substring(DIGITS.TWO, DIGITS.NINE);\n }\n}\n\nexport type CustomMouseEvent = {\n target: HTMLElement;\n};\n\nexport type IColumnComponent = {\n item: GanttTaskValue;\n contextItems: NbMenuItem[];\n active: boolean;\n showKebab: boolean;\n showParentInitials: boolean;\n showChildInitials: boolean;\n showOverallocatedIcon: boolean;\n contextItemFilter?: ContextItemFilter;\n};\n\nexport type IBarComponent = {\n item: GanttTaskValue;\n};\n\nexport type SubAllocation = {\n percent: number;\n allocation: number;\n classes?: string[];\n} & T;\n\nexport type ContextItemFilter = (item: GanttTaskValue) => NbMenuItem[];\n\nexport function hasSubAllocation(\n item: GanttTaskValue,\n): item is GanttTaskValueWithSubAllocation {\n return !!(item as GanttTaskValueWithSubAllocation).subAllocations;\n}\n", + "properties": [ + { + "name": "allocation", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": false, + "description": "", + "line": 63 + } + ], + "indexSignatures": [], + "kind": 168, + "methods": [], + "extends": "BaseTaskValue" + }, + { + "name": "GanttTaskValueWithSubAllocation", + "id": "interface-GanttTaskValueWithSubAllocation-903a2e044da7fc91ed34896e643069f9eb12d45bbe2e24e6aaa8f3691edb881743650ec10efa5eaa3b67d604761b2e928b9007ee794d6c7514f65592a96b6f28", + "file": "projects/arc-lib/src/lib/components/gantt/types.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "import {TemplateRef, Type, ViewContainerRef} from '@angular/core';\nimport {AnyObject} from '@project-lib/core/api';\nimport {DIGITS, ONE_MIN} from '@project-lib/core/constants';\nimport {NbMenuItem} from '@nebular/theme';\nimport {RANDOM_SIZE} from './const';\nimport {gantt} from 'dhtmlx-gantt';\n\n/**\n * `GanttTaskValue` is a type that represents a task in the Gantt chart.\n *\n * The `GanttTaskValue` type is a generic type, which means that it can be used to represent a task\n * with any type of payload.\n *\n * The `GanttTaskValue` type has the following properties:\n *\n * @property {number} id - The unique identifier for the task.\n * @property {Date} start_date - The start date of the task.\n * @property {Date} end_date - The end date of the task.\n * @property {string} name - The name of the task.\n * @property {string} subtitle - A subtitle for the task.\n * @property render - This is used to render the task as a split task.\n * @property {number} parent - The id of the parent task.\n * @property {number} allocation - The percentage of the parent task that this task takes up.\n * @property {string} type - The type of the task. This is used to determine the color of the task.\n * @property {T} payload - This is the data that you want to pass to the task.\n * @property {boolean} open - This is a property that is used by the Gantt component to determine\n * whether or not the task is expanded.\n * @property {boolean} hasChildren - This is a boolean value that indicates whether the task has\n * children.\n */\nexport type GanttTaskValue =\n | GanttTaskValueWithAllocation\n | GanttTaskValueWithSubAllocation;\n\nexport interface BaseTaskValue {\n id: string | number;\n start_date: Date;\n end_date: Date;\n name: string;\n subtitle?: string;\n render?: 'split';\n parent?: string | number;\n type: string | number;\n $open?: boolean;\n hasChildren: boolean;\n isParent: boolean;\n overallocated?: boolean;\n bar_height?: number;\n row_height?: number;\n payload: T;\n classes?: string[];\n}\n\nexport function withSuballocations(\n task: GanttTaskValueWithSubAllocation | GanttTaskValueWithAllocation,\n): task is GanttTaskValueWithSubAllocation {\n return (\n (task as GanttTaskValueWithSubAllocation).subAllocations !== undefined\n );\n}\n\nexport interface GanttTaskValueWithAllocation extends BaseTaskValue {\n allocation: number;\n}\n\nexport interface GanttTaskValueWithSubAllocation extends BaseTaskValue {\n subAllocations: SubAllocation[];\n}\n\nexport type GanttScaleService = {\n scale: Timelines;\n config(options?: GanttScaleOptions): {\n unit: string;\n step: number;\n format: (date: Date) => string;\n css?: (date: Date) => string;\n }[];\n};\n\n// will be required for custom scale\nexport type GanttScaleOptions = {};\n\nexport type ContextItemClickEvent = {\n event: NbMenuItem;\n task: GanttTaskValue;\n};\n\nexport type GanttEvent = {\n event: string;\n task: GanttTaskValue;\n};\n\nexport type GanttRenderOptions = {\n contextItems: NbMenuItem[];\n contextTemplate?: TemplateRef;\n viewContainerRef?: ViewContainerRef;\n columnName?: string;\n showKebab: boolean;\n showParentInitials: boolean;\n showChildInitials: boolean;\n columnComponent: Type>;\n barComponent: Type>;\n columnWidth: number;\n resizer: boolean;\n searchPlaceholder?: string;\n showSearch: boolean;\n moveToToday: boolean;\n highlightRange?: [Date, Date];\n showOverallocatedIcon: boolean;\n contextItemFilter?: ContextItemFilter;\n defaultScale: Timelines;\n markToday: boolean;\n showTooltip?: boolean;\n childIndent: boolean;\n};\n\nexport type GanttAllocationFields = {\n startDate: Date;\n endDate: Date;\n allocation: number;\n};\n\nexport type GanttLib = typeof gantt;\n\nexport enum Timelines {\n Weekly,\n Monthly,\n Quarterly,\n Custom,\n}\n\nexport const GanttTimelineMap: {\n [key in Timelines]: string;\n} = {\n [Timelines.Weekly]: 'Weekly',\n [Timelines.Monthly]: 'Monthly',\n [Timelines.Quarterly]: 'Quarterly',\n [Timelines.Custom]: 'Custom',\n};\n\nexport abstract class GanttAdapter {\n abstract adaptFrom(data: T[]): GanttTaskValue[];\n\n /**\n * \"Given a date, return a new date that is one day later.\"\n *\n * The first line of the function is a comment. Comments are ignored by the compiler\n * @param {Date} date - The date to be incremented\n * @returns A new Date object with the date set to the next day.\n */\n protected _nextDay(date: Date) {\n return new Date(date.setDate(date.getDate() + 1));\n }\n\n /**\n * It takes a date string or a Date object, converts it to a Date object, and then adds the timezone\n * offset to it\n * @param {string | Date} date - string | Date\n * @returns A new Date object with the timezone offset added to the time.\n */\n protected _addTimezoneOffset(date: string | Date) {\n let dateObject = new Date(date);\n return new Date(\n dateObject.getTime() + dateObject.getTimezoneOffset() * ONE_MIN,\n );\n }\n\n protected _randomId() {\n return Math.random()\n .toString(RANDOM_SIZE)\n .substring(DIGITS.TWO, DIGITS.NINE);\n }\n}\n\nexport type CustomMouseEvent = {\n target: HTMLElement;\n};\n\nexport type IColumnComponent = {\n item: GanttTaskValue;\n contextItems: NbMenuItem[];\n active: boolean;\n showKebab: boolean;\n showParentInitials: boolean;\n showChildInitials: boolean;\n showOverallocatedIcon: boolean;\n contextItemFilter?: ContextItemFilter;\n};\n\nexport type IBarComponent = {\n item: GanttTaskValue;\n};\n\nexport type SubAllocation = {\n percent: number;\n allocation: number;\n classes?: string[];\n} & T;\n\nexport type ContextItemFilter = (item: GanttTaskValue) => NbMenuItem[];\n\nexport function hasSubAllocation(\n item: GanttTaskValue,\n): item is GanttTaskValueWithSubAllocation {\n return !!(item as GanttTaskValueWithSubAllocation).subAllocations;\n}\n", + "properties": [ + { + "name": "subAllocations", + "deprecated": false, + "deprecationMessage": "", + "type": "SubAllocation[]", + "optional": false, + "description": "", + "line": 67 + } + ], + "indexSignatures": [], + "kind": 168, + "methods": [], + "extends": "BaseTaskValue" + }, + { + "name": "GroupConfig", + "id": "interface-GroupConfig-357627a1bd6505d3501633294752098df13766900261f755d07d0890ebbd9cce2150ffe97c58fb8f2d03532884eeb422a57cc5b068839691473a43d95d0f8706", + "file": "projects/arc-lib/src/lib/components/selector/types.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "import { SelectState } from './constants';\n\nexport type ValueType =\n | (Mode extends true ? ResulType[] : ResulType)\n | null;\n\nexport type Panel = {\n width: number;\n height: number;\n state: SelectState;\n list: T[];\n removal: boolean;\n allowInput: boolean;\n};\nexport interface GroupConfig {\n groupName?: string;\n fieldName: keyof T;\n value: T[keyof T] | '*';\n}\nexport type ItemTemplate = {\n item: T;\n name: T[F];\n};", + "properties": [ + { + "name": "fieldName", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 17 + }, + { + "name": "groupName", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": true, + "description": "", + "line": 16 + }, + { + "name": "value", + "deprecated": false, + "deprecationMessage": "", + "type": " | \"*\"", + "optional": false, + "description": "", + "line": 18 + } + ], + "indexSignatures": [], + "kind": 168, + "methods": [] + }, + { + "name": "IAdapter", + "id": "interface-IAdapter-07f9faf16036cb18d378a90652cfc68e1217e89f6e05166ad0f0a06fee38da3ca993858ad92ae982c02087f94bd5d63b55528e8397f1bf10813a1419df16dbd2", + "file": "projects/arc-lib/src/lib/core/api/adapters/i-adapter.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "export interface IAdapter {\n adaptToModel(resp: any): T;\n adaptFromModel(data: Partial): any;\n}\n", + "properties": [], + "indexSignatures": [], + "kind": 170, + "methods": [ + { + "name": "adaptFromModel", + "args": [ + { + "name": "data", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 4, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "data", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "adaptToModel", + "args": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "T", + "typeParameters": [], + "line": 3, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ] + }, + { + "name": "IAnyObject", + "id": "interface-IAnyObject-9407cbfceadffc98974ad2362061cf6e4d5edf9b3c057f34f42903199cdf844b42cb5706febdd471039d58061d18f3f6f765a9e34793341d3977cc76448dfec6", + "file": "projects/arc-lib/src/lib/core/i-any-object.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "export interface IAnyObject {\n [property: string]: any;\n}\n", + "properties": [], + "indexSignatures": [ + { + "id": "index-declaration-9407cbfceadffc98974ad2362061cf6e4d5edf9b3c057f34f42903199cdf844b42cb5706febdd471039d58061d18f3f6f765a9e34793341d3977cc76448dfec6", + "args": [ + { + "name": "property", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "returnType": "any", + "line": 1, + "deprecated": false, + "deprecationMessage": "" + } + ], + "kind": 178, + "methods": [] + }, + { + "name": "IApiService", + "id": "interface-IApiService-15d0515922e63a53edd26ecf93d34e20bf627c2c4887ae7b2c6ce724632a87fdec3cd740df40b52f06b58084d038b834ea401b7cb9b24501cd2ee51d8fa3cce3", + "file": "projects/arc-lib/src/lib/core/api/i-api-service.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "import { Observable } from 'rxjs';\n\nexport interface IApiService {\n get(url: string, options?: object): Observable;\n post(url: string, payload: any | null, options?: object): Observable;\n patch(url: string, payload: any | null, options?: object): Observable;\n put(url: string, payload: any | null, options?: object): Observable;\n delete(url: string, options?: object): Observable;\n}\n", + "properties": [], + "indexSignatures": [], + "kind": 170, + "methods": [ + { + "name": "delete", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 8, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "get", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 4, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "patch", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 6, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "post", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 5, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "put", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 7, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + } + ] + }, + { + "name": "ICommand", + "id": "interface-ICommand-bffd6ae4e898d1f9df3ca24a8403f67ade0633022ac37d1d0708d23c7a46777d4f688e1fd5b5dfc69dcf0fae7678c1f1be3fbcb24155e7c4a00a48d2c5d401e0", + "file": "projects/arc-lib/src/lib/core/api/commands/i-command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "import { Observable } from 'rxjs';\n\nexport interface ICommand {\n parameters?: any;\n execute(): Observable;\n}\n", + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "any", + "optional": true, + "description": "", + "line": 5 + } + ], + "indexSignatures": [], + "kind": 170, + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 6, + "deprecated": false, + "deprecationMessage": "" + } + ] + }, + { + "name": "Inclusion", + "id": "interface-Inclusion-079e127f5ba71cf5910bfe6ea46f4d4fce824d5ea801eaa16e21bfca56b8e0db3d412c81428e8b2b7c1fd5fe38ecae4b0a8bda2b786bc318b53af648d009c9d8", + "file": "projects/arc-lib/src/lib/core/api/backend-filter.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "export interface AnyObject {\n [property: string]: any;\n}\nexport declare type ShortHandEqualType = string | number | boolean | Date;\nexport declare type Operators =\n | 'eq'\n | 'neq'\n | 'gt'\n | 'gte'\n | 'lt'\n | 'lte'\n | 'inq'\n | 'nin'\n | 'between'\n | 'exists'\n | 'and'\n | 'or'\n | 'like'\n | 'nlike'\n | 'ilike'\n | 'nilike'\n | 'regexp';\n\nexport declare type KeyOf = Exclude<\n Extract,\n Operators\n>;\nexport declare type Condition = {\n [P in KeyOf]?: PredicateComparison | (MT[P] & ShortHandEqualType);\n};\nexport declare type PredicateComparison = {\n eq?: PT;\n neq?: PT;\n gt?: PT;\n gte?: PT;\n lt?: PT;\n lte?: PT;\n inq?: PT[];\n nin?: PT[];\n between?: [PT, PT];\n exists?: boolean;\n like?: PT;\n nlike?: PT;\n ilike?: PT;\n nilike?: PT;\n regexp?: string | RegExp;\n};\nexport interface AndClause {\n and: Where[];\n}\nexport interface OrClause {\n or: Where[];\n}\nexport declare type Where =\n | Condition\n | AndClause\n | OrClause;\n\nexport declare type Fields = {\n [P in keyof MT]?: boolean;\n};\nexport interface Inclusion {\n relation: string;\n scope?: BackendFilter;\n}\nexport interface BackendFilter {\n /**\n * The matching criteria\n */\n where?: Where;\n /**\n * To include/exclude fields\n */\n fields?: Fields | (keyof MT)[];\n /**\n * Sorting order for matched entities. Each item should be formatted as\n * `fieldName ASC` or `fieldName DESC`.\n * For example: `['f1 ASC', 'f2 DESC', 'f3 ASC']`.\n *\n * We might want to use `Order` in the future. Keep it as `string[]` for now\n * for compatibility with LoopBack 3.x.\n */\n order?: string[];\n /**\n * Maximum number of entities\n */\n limit?: number;\n /**\n * Skip N number of entities\n */\n skip?: number;\n /**\n * Offset N number of entities. An alias for `skip`\n */\n offset?: number;\n /**\n * To include related objects\n */\n include?: Inclusion[];\n}\n", + "properties": [ + { + "name": "relation", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 63 + }, + { + "name": "scope", + "deprecated": false, + "deprecationMessage": "", + "type": "BackendFilter", + "optional": true, + "description": "", + "line": 64 + } + ], + "indexSignatures": [], + "kind": 168, + "methods": [] + }, + { + "name": "IToaster", + "id": "interface-IToaster-56d7ac85f123cdd231d91130fec0bcc97b2afac2d5667f0a5da59e1f31cf95f9a61662bbc05f8d7a978508eb4042350e0e7dacbfd30a9dd5d77c35169790a979", + "file": "projects/arc-lib/src/lib/core/toaster/i-toaster.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "import { IAnyObject } from '../i-any-object';\nimport { ToasterConfig } from './types';\n\nexport interface IToaster {\n /**\n * Shows toast with message, title and user config.\n * */\n show(\n message: string,\n title?: string,\n config?: Partial\n ): IAnyObject;\n /**\n * Shows success toast with message, title and user config.\n * */\n success(\n message: string,\n title?: string,\n config?: Partial\n ): IAnyObject;\n /**\n * Shows info toast with message, title and user config.\n * */\n info(message: any, title?: any, config?: Partial): IAnyObject;\n /**\n * Shows warning toast with message, title and user config.\n * */\n warn(message: any, title?: any, config?: Partial): IAnyObject;\n /**\n * Shows primary toast with message, title and user config.\n * */\n default(\n message: any,\n title?: any,\n config?: Partial\n ): IAnyObject;\n /**\n * Shows danger toast with message, title and user config.\n * */\n error(message: any, title?: any, config?: Partial): IAnyObject;\n}\n", + "properties": [], + "indexSignatures": [], + "kind": 170, + "methods": [ + { + "name": "default", + "args": [ + { + "name": "message", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 33, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nShows primary toast with message, title and user config.\n", + "description": "

Shows primary toast with message, title and user config.

\n", + "jsdoctags": [ + { + "name": "message", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "error", + "args": [ + { + "name": "message", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 41, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nShows danger toast with message, title and user config.\n", + "description": "

Shows danger toast with message, title and user config.

\n", + "jsdoctags": [ + { + "name": "message", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "info", + "args": [ + { + "name": "message", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 25, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nShows info toast with message, title and user config.\n", + "description": "

Shows info toast with message, title and user config.

\n", + "jsdoctags": [ + { + "name": "message", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "show", + "args": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 9, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nShows toast with message, title and user config.\n", + "description": "

Shows toast with message, title and user config.

\n", + "jsdoctags": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "success", + "args": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 17, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nShows success toast with message, title and user config.\n", + "description": "

Shows success toast with message, title and user config.

\n", + "jsdoctags": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "warn", + "args": [ + { + "name": "message", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 29, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nShows warning toast with message, title and user config.\n", + "description": "

Shows warning toast with message, title and user config.

\n", + "jsdoctags": [ + { + "name": "message", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + } + ] + }, + { + "name": "OrClause", + "id": "interface-OrClause-079e127f5ba71cf5910bfe6ea46f4d4fce824d5ea801eaa16e21bfca56b8e0db3d412c81428e8b2b7c1fd5fe38ecae4b0a8bda2b786bc318b53af648d009c9d8", + "file": "projects/arc-lib/src/lib/core/api/backend-filter.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "export interface AnyObject {\n [property: string]: any;\n}\nexport declare type ShortHandEqualType = string | number | boolean | Date;\nexport declare type Operators =\n | 'eq'\n | 'neq'\n | 'gt'\n | 'gte'\n | 'lt'\n | 'lte'\n | 'inq'\n | 'nin'\n | 'between'\n | 'exists'\n | 'and'\n | 'or'\n | 'like'\n | 'nlike'\n | 'ilike'\n | 'nilike'\n | 'regexp';\n\nexport declare type KeyOf = Exclude<\n Extract,\n Operators\n>;\nexport declare type Condition = {\n [P in KeyOf]?: PredicateComparison | (MT[P] & ShortHandEqualType);\n};\nexport declare type PredicateComparison = {\n eq?: PT;\n neq?: PT;\n gt?: PT;\n gte?: PT;\n lt?: PT;\n lte?: PT;\n inq?: PT[];\n nin?: PT[];\n between?: [PT, PT];\n exists?: boolean;\n like?: PT;\n nlike?: PT;\n ilike?: PT;\n nilike?: PT;\n regexp?: string | RegExp;\n};\nexport interface AndClause {\n and: Where[];\n}\nexport interface OrClause {\n or: Where[];\n}\nexport declare type Where =\n | Condition\n | AndClause\n | OrClause;\n\nexport declare type Fields = {\n [P in keyof MT]?: boolean;\n};\nexport interface Inclusion {\n relation: string;\n scope?: BackendFilter;\n}\nexport interface BackendFilter {\n /**\n * The matching criteria\n */\n where?: Where;\n /**\n * To include/exclude fields\n */\n fields?: Fields | (keyof MT)[];\n /**\n * Sorting order for matched entities. Each item should be formatted as\n * `fieldName ASC` or `fieldName DESC`.\n * For example: `['f1 ASC', 'f2 DESC', 'f3 ASC']`.\n *\n * We might want to use `Order` in the future. Keep it as `string[]` for now\n * for compatibility with LoopBack 3.x.\n */\n order?: string[];\n /**\n * Maximum number of entities\n */\n limit?: number;\n /**\n * Skip N number of entities\n */\n skip?: number;\n /**\n * Offset N number of entities. An alias for `skip`\n */\n offset?: number;\n /**\n * To include related objects\n */\n include?: Inclusion[];\n}\n", + "properties": [ + { + "name": "or", + "deprecated": false, + "deprecationMessage": "", + "type": "Where[]", + "optional": false, + "description": "", + "line": 52 + } + ], + "indexSignatures": [], + "kind": 168, + "methods": [] + }, + { + "name": "User", + "id": "interface-User-9c7e5f1bbbab702cb032307d130876cb68969b0cd4eedef32a0c8cad8081a54e5f8f577ed6ad4539c1b99a1d246cb34031d198c2ea8eba440e64e91b14f01fdc", + "file": "projects/arc-lib/src/stories/User.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "interface", + "sourceCode": "export interface User {}\n", + "properties": [], + "indexSignatures": [], + "methods": [] + } + ], + "injectables": [ + { + "name": "AnyAdapter", + "id": "injectable-AnyAdapter-159e3206243a32c0c9f852cc1be771334dfa1a3bdb9cf986728eff87304f8487d5a49936191f00465e56abe8952dffba26cf593d6bdcdffad5b4d7c3f71cdaee", + "file": "projects/arc-lib/src/lib/core/api/adapters/any-adapter.service.ts", + "properties": [], + "methods": [ + { + "name": "adaptFromModel", + "args": [ + { + "name": "data", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "data", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "adaptToModel", + "args": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 11, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\n\nimport { ApiModule } from '../api.module';\nimport { IAdapter } from './i-adapter';\n\n@Injectable({\n providedIn: ApiModule,\n})\nexport class AnyAdapter implements IAdapter {\n adaptToModel(resp: any): any {\n return resp;\n }\n adaptFromModel(data: any): any {\n return data;\n }\n}\n", + "type": "injectable" + }, + { + "name": "ApiService", + "id": "injectable-ApiService-9a046018910e2b557ed5f89f3dafd6a26d91e12a25a313c73abec9e06b1ac80ea0f340bf50a1f53b5f4e21887070ca6c142620932b034497abc3f31b40b5d9cf", + "file": "projects/arc-lib/src/lib/core/api/api.service.ts", + "properties": [], + "methods": [ + { + "name": "delete", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 42, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "get", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 22, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "patch", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 26, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "post", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "put", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 34, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "payload", + "type": "any | null", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "object", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { ApiModule } from './api.module';\nimport { IApiService } from './i-api-service';\n\n@Injectable({\n providedIn: ApiModule,\n})\nexport class ApiService implements IApiService {\n constructor(private readonly http: HttpClient) {}\n\n public post(\n url: string,\n payload: any | null,\n options?: object\n ): Observable {\n return this.http.post(`${url}`, payload, options);\n }\n\n public get(url: string, options?: object): Observable {\n return this.http.get(`${url}`, options);\n }\n\n public patch(\n url: string,\n payload: any | null,\n options?: object\n ): Observable {\n return this.http.patch(`${url}`, payload, options);\n }\n\n public put(\n url: string,\n payload: any | null,\n options?: object\n ): Observable {\n return this.http.put(`${url}`, payload, options);\n }\n\n public delete(url: string, options?: object): Observable {\n return this.http.delete(`${url}`, options);\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "http", + "type": "HttpClient", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 11, + "jsdoctags": [ + { + "name": "http", + "type": "HttpClient", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "injectable" + }, + { + "name": "AuthService", + "id": "injectable-AuthService-770924970b096466150824eb79bb04f3a5789c0071bb1ca030336aa55eec18c08c4c36a6c09f2c53a1084fc52750800c3f9e003658dc77567db53991979251b1", + "file": "projects/arc-lib/src/lib/core/auth/auth.service.ts", + "properties": [ + { + "name": "authTokenSkipHeader", + "defaultValue": "new HttpHeaders().set(\n AuthTokenSkipHeader,\n '',\n )", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 39, + "modifierKind": [ + 121, + 146 + ] + }, + { + "name": "errorToastSkipHeader", + "defaultValue": "new HttpHeaders().set(\n ErrToastSkipHeader,\n '',\n )", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 43, + "modifierKind": [ + 121, + 146 + ] + } + ], + "methods": [ + { + "name": "_checkIfPermissionsAlreadyExists", + "args": [ + { + "name": "permissions", + "type": "string[]", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 334, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "permissions", + "type": "string[]", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "_loadPermissions", + "args": [ + { + "name": "permissions", + "type": "string[]", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 300, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "permissions", + "type": "string[]", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "_loadUserFromStore", + "args": [], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 315, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ] + }, + { + "name": "authorize", + "args": [ + { + "name": "secret", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 199, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "secret", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "clearAllData", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 338, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ] + }, + { + "name": "currentUser", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 70, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "forgetPasswordReq", + "args": [ + { + "name": "email", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 94, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "email", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "handleError", + "args": [ + { + "name": "error", + "type": "HttpErrorResponse", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 344, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "error", + "type": "HttpErrorResponse", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "isLoggedIn", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 58, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "login", + "args": [ + { + "name": "username", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "password", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 155, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "username", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "password", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "loginViaGoogle", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 178, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "logout", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 275, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "refreshToken", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 234, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "resetPassword", + "args": [ + { + "name": "token", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "password", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 134, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "token", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "password", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "verifyResetPasswordLink", + "args": [ + { + "name": "token", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 114, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "token", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import {HttpErrorResponse, HttpHeaders} from '@angular/common/http';\nimport {Inject, Injectable} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {AuthTokenSkipHeader, ErrToastSkipHeader} from '../constants';\nimport {UserSessionStoreService} from '../store';\nimport {NgxPermissionsService} from 'ngx-permissions';\nimport {\n catchError,\n from,\n map,\n Observable,\n of,\n switchMap,\n take,\n tap,\n throwError,\n} from 'rxjs';\n\nimport {LoggedInUserAdapterService, LoginAdapterService} from './adapters';\nimport {CoreAuthModule} from './auth.module';\nimport {\n ForgetPasswordCommand,\n GetCurrentUserCommand,\n GetTokenCommand,\n LoginCommand,\n LogoutCommand,\n RefreshTokenCommand,\n ResetPasswordCommand,\n VerifyResetPasswordLinkCommand,\n} from './commands';\nimport {LoggedInUserDM, LoginModel} from './models';\nimport {AnyAdapter, ApiService} from '../api';\nimport {APP_CONFIG} from '@project-lib/app-config';\n\n@Injectable({\n providedIn: CoreAuthModule,\n})\nexport class AuthService {\n private readonly authTokenSkipHeader = new HttpHeaders().set(\n AuthTokenSkipHeader,\n '',\n );\n private readonly errorToastSkipHeader = new HttpHeaders().set(\n ErrToastSkipHeader,\n '',\n );\n constructor(\n private readonly router: Router,\n private readonly store: UserSessionStoreService,\n private readonly apiService: ApiService,\n private readonly currentUserAdapter: LoggedInUserAdapterService,\n private readonly loginAdapter: LoginAdapterService,\n private readonly anyAdapter: AnyAdapter,\n private readonly permissionsService: NgxPermissionsService,\n @Inject(APP_CONFIG) private readonly appConfig: any,\n ) {}\n\n public isLoggedIn(): Observable {\n return this.currentUser().pipe(\n switchMap(user => {\n if (user && user.id && this.store.getAccessToken()) {\n return of(true);\n } else {\n return of(false);\n }\n }),\n );\n }\n\n public currentUser(): Observable {\n const user = this._loadUserFromStore();\n const hasToken = !!this.store.getAccessToken();\n if (user) {\n return of(user);\n } else if (!hasToken) {\n return throwError(() => new Error('No token available'));\n } else {\n const command: GetCurrentUserCommand =\n new GetCurrentUserCommand(\n this.apiService,\n this.currentUserAdapter,\n this.appConfig,\n );\n return command.execute().pipe(\n tap(res => {\n this.store.setUser(res);\n this._loadPermissions(res.permissions);\n }),\n );\n }\n }\n\n // sonarignore:start\n public forgetPasswordReq(email: string): Observable {\n const command: ForgetPasswordCommand = new ForgetPasswordCommand(\n this.apiService,\n this.anyAdapter,\n this.appConfig,\n );\n // sonarignore:end\n command.parameters = {\n data: {\n username: email.toLowerCase(),\n client_id: this.appConfig.clientId,\n client_secret: this.appConfig.publicKey,\n },\n observe: 'response',\n headers: this.authTokenSkipHeader,\n };\n return command.execute();\n }\n\n // sonarignore:start\n public verifyResetPasswordLink(token: string): Observable {\n const command: VerifyResetPasswordLinkCommand =\n new VerifyResetPasswordLinkCommand(\n this.apiService,\n this.anyAdapter,\n this.appConfig,\n );\n // sonarignore:end\n command.parameters = {\n data: {\n token: token,\n client_id: this.appConfig.clientId,\n },\n observe: 'response',\n headers: this.authTokenSkipHeader,\n };\n return command.execute();\n }\n\n // sonarignore:start\n public resetPassword(token: string, password: string): Observable {\n const command: ResetPasswordCommand = new ResetPasswordCommand(\n this.apiService,\n this.anyAdapter,\n this.appConfig,\n );\n // sonarignore:end\n command.parameters = {\n data: {\n token,\n password,\n client_id: this.appConfig.clientId,\n client_secret: this.appConfig.publicKey,\n },\n observe: 'response',\n headers: this.authTokenSkipHeader,\n };\n return command.execute();\n }\n\n // sonarignore:start\n public login(username: string, password: string): Observable {\n // sonarignore:end\n this.store.setUser({\n username,\n } as LoggedInUserDM);\n const command: LoginCommand = new LoginCommand(\n this.apiService,\n this.loginAdapter,\n this.appConfig,\n );\n command.parameters = {\n data: {\n username: username.toLowerCase(),\n password,\n clientId: this.appConfig.clientId,\n clientSecret: this.appConfig.publicKey,\n },\n observe: 'response',\n headers: this.authTokenSkipHeader,\n };\n return command.execute();\n }\n\n loginViaGoogle(): void {\n const form = document.createElement('form');\n form.method = 'POST';\n form.action = `${this.appConfig.baseApiUrl}${this.appConfig.authServiceUrl}/auth/google`;\n form.style.display = 'none';\n\n const clientId = document.createElement('input');\n clientId.type = 'hidden';\n clientId.name = 'client_id';\n clientId.value = this.appConfig.clientId;\n form.appendChild(clientId);\n\n const clientSecret = document.createElement('input');\n clientSecret.type = 'hidden';\n clientSecret.name = 'client_secret';\n clientSecret.value = this.appConfig.publicKey;\n form.appendChild(clientSecret);\n document.body.appendChild(form);\n form.submit();\n }\n\n public authorize(secret: string): Observable {\n if (!secret) {\n this.router.navigate(['auth/login']);\n }\n // sonarignore:start\n const command: GetTokenCommand = new GetTokenCommand(\n this.apiService,\n this.anyAdapter,\n this.appConfig,\n );\n // sonarignore:end\n command.parameters = {\n data: {\n clientId: this.appConfig.clientId,\n code: secret,\n },\n headers: this.authTokenSkipHeader,\n };\n return command.execute().pipe(\n map(response => {\n const redirectTo =\n this.store.getLastAccessedUrl() ?? this.appConfig.homePath;\n if (response.accessToken && response.refreshToken) {\n this.store.saveAccessToken(response.accessToken);\n this.store.saveRefreshToken(response.refreshToken);\n this.store.saveTokenExpiry(response.expires);\n this.router.navigate([redirectTo]);\n return true;\n }\n return false;\n }),\n );\n }\n\n // sonarignore:start\n public refreshToken(): Observable {\n // sonarignore:end\n const refreshToken = this.store.getRefreshToken();\n if (!refreshToken) {\n return of(false);\n }\n // sonarignore:start\n const command: RefreshTokenCommand = new RefreshTokenCommand(\n this.apiService,\n this.anyAdapter,\n this.appConfig,\n );\n // sonarignore:end\n command.parameters = {\n data: {\n refreshToken,\n },\n headers: this.errorToastSkipHeader,\n };\n return command\n .execute()\n .pipe(\n tap({\n next: response => {\n if (response.accessToken && response.refreshToken) {\n this.store.clearAll();\n this.store.saveAccessToken(response.accessToken);\n this.store.saveRefreshToken(response.refreshToken);\n this.store.saveTokenExpiry(response.expires);\n } else {\n this.logout();\n }\n },\n error: () => {\n this.clearAllData();\n },\n }),\n )\n .pipe(catchError(this.handleError));\n }\n\n public logout(): Observable {\n const refreshToken = this.store.getRefreshToken();\n if (!refreshToken) {\n this.clearAllData();\n return of(false);\n }\n const command: LogoutCommand = new LogoutCommand(\n this.apiService,\n this.anyAdapter,\n this.appConfig,\n );\n command.parameters = {\n data: {\n refreshToken,\n },\n headers: this.errorToastSkipHeader,\n };\n return command.execute().pipe(\n map(() => {\n this.clearAllData();\n return true;\n }),\n );\n }\n\n private _loadPermissions(permissions: string[]) {\n const perms = this.permissionsService.getPermissions();\n const entityPerms: string[] = [];\n for (const key in perms) {\n if (\n Object.prototype.hasOwnProperty.call(perms, key) &&\n key.includes('/')\n ) {\n entityPerms.push(key);\n }\n }\n\n this.permissionsService.loadPermissions([...permissions, ...entityPerms]);\n }\n\n private _loadUserFromStore() {\n const user = this.store.getUser();\n\n if (user && user.id) {\n this._checkIfPermissionsAlreadyExists(user.permissions)\n .pipe(\n tap(exists => {\n if (!exists) {\n this._loadPermissions(user.permissions);\n }\n }),\n )\n .pipe(take(1))\n .subscribe();\n return user;\n }\n return null;\n }\n\n private _checkIfPermissionsAlreadyExists(permissions: string[]) {\n return from(this.permissionsService.hasPermission(permissions));\n }\n\n private clearAllData() {\n this.store.clearAll();\n this.permissionsService.flushPermissions();\n window.location.href = 'login';\n }\n\n private handleError(error: HttpErrorResponse) {\n return throwError(\n () => new Error('Something bad happened; please try again later.'),\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "router", + "type": "Router", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "store", + "type": "UserSessionStoreService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "apiService", + "type": "ApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "currentUserAdapter", + "type": "LoggedInUserAdapterService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "loginAdapter", + "type": "LoginAdapterService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "anyAdapter", + "type": "AnyAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "permissionsService", + "type": "NgxPermissionsService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 46, + "jsdoctags": [ + { + "name": "router", + "type": "Router", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "store", + "type": "UserSessionStoreService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "apiService", + "type": "ApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "currentUserAdapter", + "type": "LoggedInUserAdapterService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "loginAdapter", + "type": "LoginAdapterService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "anyAdapter", + "type": "AnyAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "permissionsService", + "type": "NgxPermissionsService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "injectable" + }, + { + "name": "CountAdapter", + "id": "injectable-CountAdapter-32b7f061ec80751e46e920d8ffbdbb5b6aaab0f0c4b960bcad14bbbd69f4cc12d7740ca699c9c096842e200a26c819b534531cf8433fc5dc53af6b19411fc5de", + "file": "projects/arc-lib/src/lib/core/api/adapters/count-adapter.service.ts", + "properties": [], + "methods": [ + { + "name": "adaptFromModel", + "args": [ + { + "name": "data", + "type": "Count", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "data", + "type": "Count", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "adaptToModel", + "args": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Count", + "typeParameters": [], + "line": 11, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\n\nimport { ApiModule } from '../api.module';\nimport { Count } from '../models';\nimport { IAdapter } from './i-adapter';\n\n@Injectable({\n providedIn: ApiModule,\n})\nexport class CountAdapter implements IAdapter {\n adaptToModel(resp: any): Count {\n return new Count(resp);\n }\n adaptFromModel(data: Count): any {\n return data;\n }\n}\n", + "type": "injectable" + }, + { + "name": "EnvAdapterService", + "id": "injectable-EnvAdapterService-c417474620659dbe94ebeec6727d3426c5b6f01ded9d0c7f3a08f333d6db9e8fbca2e836c2b1140a7e28fae50301e69563eba375dce353d091a97da62c45f2fc", + "file": "projects/arc-lib/src/lib/core/store/adapters/env-adapter.service.ts", + "properties": [], + "methods": [ + { + "name": "adaptFromModel", + "args": [ + { + "name": "data", + "type": "Partial<>", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 18, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "data", + "type": "Partial<>", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "adaptToModel", + "args": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "", + "typeParameters": [], + "line": 11, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\nimport { NgxLoggerLevel } from 'ngx-logger';\nimport { StoreModule } from '../store.module';\nimport { IAdapter } from '../../api';\nimport { environment } from '@main-project/boiler/env/environment';\n\n@Injectable({\n providedIn: StoreModule,\n})\nexport class EnvAdapterService implements IAdapter {\n adaptToModel(resp: any): typeof environment {\n resp.logLevel = !!resp.logLevel\n ? parseInt(resp.logLevel, 10)\n : NgxLoggerLevel.ERROR;\n return Object.assign({}, environment, resp);\n }\n\n adaptFromModel(data: Partial): any {\n return data;\n }\n}\n", + "type": "injectable" + }, + { + "name": "GanttService", + "id": "injectable-GanttService-9242b2591220554c194442088719664bac08d7d8d8662596295e4ae82eee32eae1e2b373c6a0949ed1b4656c0c483800f02d1d1695bd4fd617794fd7d62e6ebb", + "file": "projects/arc-lib/src/lib/components/gantt/services/gantt.service.ts", + "properties": [ + { + "name": "_data", + "deprecated": false, + "deprecationMessage": "", + "type": "GanttTaskValue[]", + "optional": false, + "description": "", + "line": 47, + "modifierKind": [ + 121 + ] + }, + { + "name": "_descSort", + "deprecated": false, + "deprecationMessage": "", + "type": "boolean", + "optional": false, + "description": "", + "line": 51, + "modifierKind": [ + 121 + ] + }, + { + "name": "_eventHandlers", + "defaultValue": "[]", + "deprecated": false, + "deprecationMessage": "", + "type": "string[]", + "optional": false, + "description": "", + "line": 50, + "modifierKind": [ + 121 + ] + }, + { + "name": "_events", + "defaultValue": "new Subject>()", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 52, + "modifierKind": [ + 121 + ] + }, + { + "name": "_highlightRange", + "deprecated": false, + "deprecationMessage": "", + "type": "[Date, Date]", + "optional": true, + "description": "", + "line": 55, + "modifierKind": [ + 121 + ] + }, + { + "name": "_markToday", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 54, + "modifierKind": [ + 121 + ] + }, + { + "name": "_moveToToday", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 53, + "modifierKind": [ + 121 + ] + }, + { + "name": "_overlays", + "defaultValue": "[]", + "deprecated": false, + "deprecationMessage": "", + "type": "OverlayRef[]", + "optional": false, + "description": "", + "line": 48, + "modifierKind": [ + 121 + ] + }, + { + "name": "_tooltipOverlay", + "deprecated": false, + "deprecationMessage": "", + "type": "OverlayRef", + "optional": false, + "description": "", + "line": 49, + "modifierKind": [ + 121 + ] + } + ], + "methods": [ + { + "name": "_eventHandler", + "args": [ + { + "name": "id", + "type": "number", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "event", + "type": "MouseEvent", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "GanttRenderOptions", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 315, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "id", + "type": "number", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "event", + "type": "MouseEvent", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "GanttRenderOptions", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "_handleHoverOnBar", + "args": [ + { + "name": "target", + "type": "Element", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "tag", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 425, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "target", + "type": "Element", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "tag", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "_handleKebabClick", + "args": [ + { + "name": "id", + "type": "number", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "e", + "type": "MouseEvent", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "GanttRenderOptions", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 368, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "id", + "type": "number", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "e", + "type": "MouseEvent", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "GanttRenderOptions", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "_hoverEventHandler", + "args": [ + { + "name": "event", + "type": "MouseEvent", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "GanttRenderOptions", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 403, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "event", + "type": "MouseEvent", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "options", + "type": "GanttRenderOptions", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "_refresh", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 250, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ] + }, + { + "name": "_renderComponent", + "args": [ + { + "name": "c", + "type": "Type", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "inputs", + "type": "Partial<>", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [ + "T" + ], + "line": 352, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "c", + "type": "Type", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "inputs", + "type": "Partial<>", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "_renderHighlighMarker", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 261, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ] + }, + { + "name": "_renderTodayMarker", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 280, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ] + }, + { + "name": "_rerender", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 271, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ] + }, + { + "name": "_setColumnHeaders", + "args": [ + { + "name": "options", + "type": "GanttRenderOptions", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 289, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "options", + "type": "GanttRenderOptions", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "clear", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 234, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt clears all the tasks and links from the Gantt chart\n", + "description": "

It clears all the tasks and links from the Gantt chart

\n" + }, + { + "name": "closeContextMenu", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 244, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt closes the current overlay\n", + "description": "

It closes the current overlay

\n" + }, + { + "name": "convertToObservable", + "args": [ + { + "name": "eventName", + "type": "GanttEventName", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [ + "T" + ], + "line": 466, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "eventName", + "type": "GanttEventName", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "destroy", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 227, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt destroys the Gantt chart\n", + "description": "

It destroys the Gantt chart

\n" + }, + { + "name": "feed", + "args": [ + { + "name": "data", + "type": "T[]", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 199, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt takes in an array of data, and feeds it to the Gantt chart.\nIt also calls the adapter to convert the data to the format that the Gantt chart expects.\n", + "description": "

It takes in an array of data, and feeds it to the Gantt chart.\nIt also calls the adapter to convert the data to the format that the Gantt chart expects.

\n", + "jsdoctags": [ + { + "name": { + "pos": 5877, + "end": 5881, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "data" + }, + "type": "T[]", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 5865, + "end": 5870, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • The data that you want to feed to the Gantt chart.
  • \n
\n", + "typeExpression": { + "pos": 5871, + "end": 5876, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 5872, + "end": 5875, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 185, + "elementType": { + "pos": 5872, + "end": 5873, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 5872, + "end": 5873, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "T" + } + } + } + } + } + ] + }, + { + "name": "highlightRange", + "args": [ + { + "name": "range", + "type": "[Date, Date]", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 219, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "range", + "type": "[Date, Date]", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "render", + "args": [ + { + "name": "container", + "type": "ElementRef", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "GanttRenderOptions", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 80, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt renders the gantt chart in the container element.\nIt also sets the columns, templates, and other configurations.\nrendered.\n", + "description": "

It renders the gantt chart in the container element.\nIt also sets the columns, templates, and other configurations.\nrendered.

\n", + "jsdoctags": [ + { + "name": { + "pos": 2214, + "end": 2223, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "container" + }, + "type": "ElementRef", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 2195, + "end": 2200, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • ElementRef - The container element where the gantt chart will be\nrendered.
  • \n
\n", + "typeExpression": { + "pos": 2201, + "end": 2213, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 2202, + "end": 2212, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 2202, + "end": 2212, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "ElementRef" + } + } + } + }, + { + "name": { + "pos": 2339, + "end": 2346, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "options" + }, + "type": "GanttRenderOptions", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 2312, + "end": 2317, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • GanttRenderOptions
  • \n
\n", + "typeExpression": { + "pos": 2318, + "end": 2338, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 2319, + "end": 2337, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 2319, + "end": 2337, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "GanttRenderOptions" + } + } + } + } + ] + }, + { + "name": "setScale", + "args": [ + { + "name": "type", + "type": "Timelines", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "options", + "type": "GanttScaleOptions", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "render", + "type": "", + "deprecated": false, + "deprecationMessage": "", + "defaultValue": "true" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 209, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt sets the scale of the Gantt chart based on the type of timeline selected\n", + "description": "

It sets the scale of the Gantt chart based on the type of timeline selected

\n", + "jsdoctags": [ + { + "name": { + "pos": 6145, + "end": 6149, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "type" + }, + "type": "Timelines", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 6127, + "end": 6132, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • Timelines - This is the enum that we created earlier.
  • \n
\n", + "typeExpression": { + "pos": 6133, + "end": 6144, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 6134, + "end": 6143, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 6134, + "end": 6143, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "Timelines" + } + } + } + }, + { + "name": "options", + "type": "GanttScaleOptions", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": { + "pos": 6219, + "end": 6225, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "render" + }, + "type": "", + "deprecated": false, + "deprecationMessage": "", + "defaultValue": "true", + "tagName": { + "pos": 6212, + "end": 6217, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • boolean - whether to render the gantt chart after the scale is set.
  • \n
\n" + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import {\n Overlay,\n OverlayConfig,\n OverlayPositionBuilder,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport {ComponentPortal, TemplatePortal} from '@angular/cdk/portal';\nimport {\n ComponentFactoryResolver,\n ElementRef,\n Inject,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport {GanttEventName} from 'dhtmlx-gantt/codebase/dhtmlxgantt';\nimport {AnyObject} from '@project-lib/core/api';\nimport {debounceTime, fromEventPattern, Subject} from 'rxjs';\nimport {GanttHeaderComponent} from '../components/gantt-header/gantt-header.component';\nimport {GanttTooltipComponent} from '../components/gantt-tooltip/gantt-tooltip.component';\nimport {\n BUFFER_FOR_TODAY,\n GANTT,\n GANTT_BAR_HEIGHT,\n GANTT_ROW_HEIGHT,\n GANTT_SCALES,\n GANTT_SCALE_HEIGHT,\n GANTT_SCROLL_BAR_HEIGHT,\n GANTT_TIMELINE_MIN_WIDTH,\n isHTMLELement,\n RESIZER_WIDTH,\n} from '../const';\nimport {GanttEventTypes} from '../enum';\nimport {\n GanttAdapter,\n GanttEvent,\n GanttLib,\n GanttRenderOptions,\n GanttScaleOptions,\n GanttScaleService,\n GanttTaskValue,\n Timelines,\n} from '../types';\n\n@Injectable()\nexport class GanttService {\n private _data!: GanttTaskValue[];\n private _overlays: OverlayRef[] = [];\n private _tooltipOverlay!: OverlayRef;\n private _eventHandlers: string[] = [];\n private _descSort!: boolean;\n private _events = new Subject>();\n private _moveToToday = true;\n private _markToday = true;\n private _highlightRange?: [Date, Date];\n get events() {\n return this._events.asObservable();\n }\n constructor(\n private adapter: GanttAdapter,\n @Inject(GANTT)\n private readonly gantt: GanttLib,\n @Inject(GANTT_SCALES)\n private readonly scales: GanttScaleService[],\n // will have to use this for now\n // refer https://github.com/angular/angular/issues/45263#issuecomment-1082530357\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n private overlay: Overlay,\n private overlayPositionBuilder: OverlayPositionBuilder,\n ) {}\n\n /**\n * It renders the gantt chart in the container element.\n * It also sets the columns, templates, and other configurations.\n * @param {ElementRef} container - ElementRef - The container element where the gantt chart will be\n * rendered.\n * @param {GanttRenderOptions} options - GanttRenderOptions\n */\n render(container: ElementRef, options: GanttRenderOptions) {\n this._setColumnHeaders(options);\n this.gantt.templates.task_text = (start, end, task) =>\n this._renderComponent(options.barComponent, {item: task});\n this.gantt.templates.grid_open = task => '';\n this.gantt.templates.grid_folder = task => '';\n\n this._moveToToday = options.moveToToday;\n this._highlightRange = options.highlightRange;\n this._markToday = options.markToday;\n\n this.gantt.config.row_height = GANTT_ROW_HEIGHT;\n this.gantt.config.bar_height = GANTT_BAR_HEIGHT;\n this.gantt.config.scale_height = GANTT_SCALE_HEIGHT;\n this.gantt.config.readonly = true;\n this.gantt.config.keyboard_navigation_cells = true;\n this.gantt.config.layout = {\n css: 'gantt_container',\n rows: [\n {\n cols: [\n {\n view: 'grid',\n id: 'grid',\n scrollX: 'scrollHor',\n scrollY: 'scrollVer',\n width: options.columnWidth,\n },\n {\n view: 'timeline',\n id: 'timeline',\n scrollX: 'scrollHor',\n scrollY: 'scrollVer',\n minWidth: GANTT_TIMELINE_MIN_WIDTH,\n },\n {view: 'scrollbar', scroll: 'y', id: 'scrollVer'},\n ],\n },\n {\n view: 'scrollbar',\n scroll: 'x',\n id: 'scrollHor',\n height: GANTT_SCROLL_BAR_HEIGHT,\n },\n ],\n };\n\n if (options.resizer) {\n this.gantt.config.layout.rows[0].cols.splice(1, 0, {\n resizer: true,\n width: RESIZER_WIDTH,\n });\n }\n\n this.gantt.plugins({\n keyboard_navigation: true,\n marker: true,\n });\n\n // refer - https://forum.dhtmlx.com/t/custom-button-in-grid/34516\n this._eventHandlers.push(\n this.gantt.attachEvent(\n 'onTaskClick',\n (id, e) => {\n this._eventHandler(id, e, options);\n },\n {},\n ),\n );\n this._eventHandlers.push(\n this.gantt.attachEvent(\n 'onGridHeaderClick',\n (id, e) => {\n this._eventHandler(id, e, options);\n },\n {},\n ),\n );\n\n const hoverObservable =\n this.convertToObservable<[string, MouseEvent]>('onMouseMove');\n const debounceTimeinMS = 100;\n hoverObservable\n .pipe(debounceTime(debounceTimeinMS))\n .subscribe(([id, event]) => {\n this._hoverEventHandler(event, options);\n });\n\n this._eventHandlers.push(\n this.gantt.attachEvent(\n 'onBeforeGanttRender',\n () => {\n let range = this.gantt.getSubtaskDates();\n if (range.start_date && range.end_date) {\n const today = new Date();\n today.setDate(today.getDate() + BUFFER_FOR_TODAY);\n // as per requirement, need to always show current date in gantt\n this.gantt.config.start_date = new Date(\n Math.min(range.start_date.getTime(), today.getTime()),\n );\n this.gantt.config.end_date = new Date(\n Math.max(range.end_date.getTime(), today.getTime()),\n );\n }\n },\n {},\n ),\n );\n this.gantt.init(container.nativeElement);\n\n this._renderTodayMarker();\n this.setScale(options.defaultScale, false);\n }\n\n /**\n * It takes in an array of data, and feeds it to the Gantt chart.\n * It also calls the adapter to convert the data to the format that the Gantt chart expects.\n * @param {T[]} data - The data that you want to feed to the Gantt chart.\n */\n feed(data: T[]) {\n this._data = this.adapter.adaptFrom(data);\n this._refresh();\n }\n\n /**\n * It sets the scale of the Gantt chart based on the type of timeline selected\n * @param {Timelines} type - Timelines - This is the enum that we created earlier.\n * @param [render=true] - boolean - whether to render the gantt chart after the scale is set.\n */\n setScale(type: Timelines, options?: GanttScaleOptions, render = true) {\n const scale = this.scales.find(s => s.scale === type);\n if (scale) {\n this.gantt.config.scales = scale.config(options);\n }\n if (scale && render) {\n this._rerender();\n }\n }\n\n highlightRange(range: [Date, Date]) {\n this._highlightRange = range;\n this._refresh();\n }\n\n /**\n * It destroys the Gantt chart\n */\n destroy() {\n this.gantt.destructor();\n }\n\n /**\n * It clears all the tasks and links from the Gantt chart\n */\n clear() {\n this.gantt.clearAll();\n for (let handlers of this._eventHandlers) {\n this.gantt.detachEvent(handlers);\n }\n }\n\n /**\n * It closes the current overlay\n */\n closeContextMenu() {\n for (let overlay of this._overlays) {\n overlay.dispose();\n }\n }\n\n private _refresh() {\n this.gantt.clearAll();\n this.gantt.parse({\n tasks: this._data ?? [],\n });\n if (this._descSort !== undefined) {\n this.gantt.sort('name', this._descSort, undefined, true);\n }\n this._rerender();\n }\n\n private _renderHighlighMarker() {\n if (this._highlightRange) {\n this.gantt.addMarker?.({\n start_date: this._highlightRange[0],\n end_date: this._highlightRange[1],\n css: 'highlight',\n });\n }\n }\n\n private _rerender() {\n this.gantt.render();\n this._renderTodayMarker();\n this._renderHighlighMarker();\n if (this._moveToToday) {\n this.gantt.showDate(new Date());\n }\n }\n\n private _renderTodayMarker() {\n if (this._markToday) {\n this.gantt.addMarker?.({\n start_date: new Date(),\n css: 'today',\n });\n }\n }\n\n private _setColumnHeaders(options: GanttRenderOptions) {\n this.gantt.config.columns = [\n {\n name: 'name',\n label: this._renderComponent(GanttHeaderComponent, {\n desc: this._descSort,\n name: options.columnName,\n searchPlaceholder: options.searchPlaceholder,\n showSearch: options.showSearch,\n }),\n width: options.columnWidth,\n tree: true,\n template: (item: GanttTaskValue) =>\n this._renderComponent(options.columnComponent, {\n item,\n contextItems: options.contextItems,\n showKebab: options.showKebab,\n showParentInitials: options.showParentInitials,\n showChildInitials: options.showChildInitials,\n showOverallocatedIcon: options.showOverallocatedIcon,\n contextItemFilter: options.contextItemFilter,\n }),\n },\n ];\n }\n\n private _eventHandler(\n id: number,\n event: MouseEvent,\n options: GanttRenderOptions,\n ) {\n if (event.target && isHTMLELement(event.target)) {\n const target = event.target.closest('[data-gantt-click]');\n if (!target) {\n return;\n }\n const attribute = target.getAttribute('data-gantt-click');\n switch (attribute) {\n case GanttEventTypes.Kebab:\n this._handleKebabClick(id, event, options);\n break;\n case GanttEventTypes.Expand:\n const task = this.gantt.getTask(id);\n if (!task.$open) {\n this.gantt.open(id);\n } else {\n this.gantt.close(id);\n }\n break;\n case GanttEventTypes.Sort:\n this._descSort = !this._descSort;\n this._setColumnHeaders(options);\n this.gantt.sort('name', this._descSort);\n break;\n default:\n this._events.next({\n task: this.gantt.getTask(id),\n event: attribute ?? GanttEventTypes.Unknown,\n });\n }\n }\n }\n\n private _renderComponent(\n c: Type,\n inputs: Partial<{[key in keyof T]: T[keyof T]}>,\n ) {\n const factory = this.resolver.resolveComponentFactory(c);\n const component = factory.create(this.injector);\n Object.keys(inputs).forEach(key => {\n const value = inputs[key];\n if (value !== undefined) {\n component.instance[key as keyof T] = value;\n }\n });\n component.changeDetectorRef.detectChanges();\n return component.location.nativeElement.innerHTML;\n }\n\n private _handleKebabClick(\n id: number,\n e: MouseEvent,\n options: GanttRenderOptions,\n ) {\n const positionStrategy = this.overlay\n .position()\n .global()\n .left(e.clientX + 'px')\n .top(e.clientY + 'px');\n const configs = new OverlayConfig({\n hasBackdrop: true,\n panelClass: ['gantt-menu-overlay'],\n backdropClass: 'modal-background',\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.block(),\n });\n const overlay = this.overlay.create(configs);\n\n if (options.contextTemplate && options.viewContainerRef) {\n const item = this._data.find(d => d.id === id);\n overlay.attach(\n new TemplatePortal(options.contextTemplate, options.viewContainerRef, {\n item,\n contextItems:\n (item && options.contextItemFilter?.(item)) ?? options.contextItems,\n }),\n );\n }\n overlay.backdropClick().subscribe(() => {\n overlay.dispose();\n });\n this._overlays.push(overlay);\n }\n\n private _hoverEventHandler(\n event: MouseEvent,\n options: GanttRenderOptions,\n ) {\n if (event.target && isHTMLELement(event.target) && options.showTooltip) {\n const target = event.target.closest('[gantt-hover]');\n const attribute = target?.getAttribute('gantt-hover')!;\n if (target) {\n switch (attribute) {\n case GanttEventTypes.Bar:\n this._handleHoverOnBar(target, 'gantt-bar-data');\n return;\n case GanttEventTypes.Tooltip:\n return;\n }\n }\n }\n if (this._tooltipOverlay) {\n this._tooltipOverlay.dispose();\n }\n }\n\n private _handleHoverOnBar(target: Element, tag: string) {\n if (this._tooltipOverlay) {\n this._tooltipOverlay.dispose();\n }\n\n const offset = 35;\n const positionStrategy = this.overlayPositionBuilder\n .flexibleConnectedTo(target)\n .withPositions([\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -5,\n },\n ]);\n const configs = new OverlayConfig({\n panelClass: ['gantt-tooltip-overlay'],\n positionStrategy,\n });\n\n this._tooltipOverlay = this.overlay.create(configs);\n\n const attributeHover = target.getAttribute(tag);\n if (attributeHover && tag === 'gantt-bar-data') {\n const tooltipRef = this._tooltipOverlay.attach(\n new ComponentPortal(GanttTooltipComponent),\n );\n tooltipRef.instance.item = JSON.parse(attributeHover);\n this._overlays.push(this._tooltipOverlay);\n }\n }\n\n convertToObservable(eventName: GanttEventName) {\n return fromEventPattern(handler => {\n this._eventHandlers.push(\n this.gantt.attachEvent(\n eventName,\n (id, e) => {\n handler(id, e);\n },\n {},\n ),\n );\n });\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "adapter", + "type": "GanttAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "gantt", + "type": "GanttLib", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "scales", + "type": "GanttScaleService[]", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "resolver", + "type": "ComponentFactoryResolver", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "injector", + "type": "Injector", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "overlay", + "type": "Overlay", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "overlayPositionBuilder", + "type": "OverlayPositionBuilder", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 58, + "jsdoctags": [ + { + "name": "adapter", + "type": "GanttAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "gantt", + "type": "GanttLib", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "scales", + "type": "GanttScaleService[]", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "resolver", + "type": "ComponentFactoryResolver", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "injector", + "type": "Injector", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "overlay", + "type": "Overlay", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "overlayPositionBuilder", + "type": "OverlayPositionBuilder", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "accessors": { + "events": { + "name": "events", + "getSignature": { + "name": "events", + "type": "", + "returnType": "", + "line": 56 + } + } + }, + "type": "injectable" + }, + { + "name": "IconPacksManagerService", + "id": "injectable-IconPacksManagerService-53603c1a94db31b957cab9695b30ba8ce4520161f438f10f279a456b98820f71f6e7c211564ab67f54466317cb4c69af5565178f0721d19a13a962def4e1746e", + "file": "projects/arc-lib/src/lib/theme/services/icon-packs-manager.service.ts", + "properties": [], + "methods": [ + { + "name": "registerFontAwesome", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 17, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThis function registers the font pack for Font Awesome icons\n with a specific icon class prefix.\n", + "description": "

This function registers the font pack for Font Awesome icons\n with a specific icon class prefix.

\n" + }, + { + "name": "registerPack", + "args": [ + { + "name": "name", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "params", + "type": "literal type", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 29, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThis function registers a font pack with NbIconLibraries.\niconClassPrefix properties:\n", + "description": "

This function registers a font pack with NbIconLibraries.\niconClassPrefix properties:

\n", + "jsdoctags": [ + { + "name": { + "pos": 656, + "end": 660, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "name" + }, + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 641, + "end": 646, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • The name of the font pack being registered.
  • \n
\n", + "typeExpression": { + "pos": 647, + "end": 655, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 648, + "end": 654, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 152 + } + } + }, + { + "name": { + "pos": 719, + "end": 725, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "params" + }, + "type": "literal type", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 713, + "end": 718, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • The params parameter is an object that can contain the following optional\niconClassPrefix properties:
  • \n
\n" + } + ] + }, + { + "name": "registerSvgs", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 36, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nFunction registers a custom SVG icon pack using the NbIconLibraries service with\na specific name and a set of SVG icons.\n", + "description": "

Function registers a custom SVG icon pack using the NbIconLibraries service with\na specific name and a set of SVG icons.

\n" + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\nimport { NbIconLibraries } from '@nebular/theme';\n\nimport { ThemeModule } from '../theme.module';\nimport { KEBAB_SVG } from './icons';\n\n@Injectable({\n providedIn: ThemeModule,\n})\nexport class IconPacksManagerService {\n constructor(private iconLibraries: NbIconLibraries) {}\n\n /**\n * This function registers the font pack for Font Awesome icons\n * with a specific icon class prefix.\n */\n registerFontAwesome() {\n this.iconLibraries.registerFontPack('font-awesome', {\n iconClassPrefix: 'fa',\n });\n }\n\n /**\n * This function registers a font pack with NbIconLibraries.\n * @param {string} name - The name of the font pack being registered.\n * @param params - The `params` parameter is an object that can contain the following optional\n * iconClassPrefix properties:\n */\n registerPack(name: string, params: { iconClassPrefix?: string }) {\n this.iconLibraries.registerFontPack(name, params);\n }\n /**\n * Function registers a custom SVG icon pack using the NbIconLibraries service with\n * a specific name and a set of SVG icons.\n */\n registerSvgs() {\n this.iconLibraries.registerSvgPack('svg-boiler', {\n kebab: KEBAB_SVG, // KEBAB_SVG is constant that provides a mapping of the SVG filenames to their corresponding URLs.\n });\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "iconLibraries", + "type": "NbIconLibraries", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 10, + "jsdoctags": [ + { + "name": "iconLibraries", + "type": "NbIconLibraries", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "injectable" + }, + { + "name": "LoggedInUserAdapterService", + "id": "injectable-LoggedInUserAdapterService-3097cc172a814658543fb7d091d6d5495d968cfb9d390146fe6f682b15eb7225cec8a9004f222a95e33811d99d75eeceb8797b58bb3991e3b3d0ba5ca027700b", + "file": "projects/arc-lib/src/lib/core/auth/adapters/logged-in-user-adapter.service.ts", + "properties": [], + "methods": [ + { + "name": "adaptFromModel", + "args": [ + { + "name": "data", + "type": "LoggedInUserDM", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 33, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "data", + "type": "LoggedInUserDM", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "adaptToModel", + "args": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "LoggedInUserDM", + "typeParameters": [], + "line": 11, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\nimport { IAdapter } from '../../api/adapters';\nimport { NameId } from '../../api/models';\nimport { CoreAuthModule } from '../auth.module';\nimport { LoggedInUserDM } from '../models';\n\n@Injectable({\n providedIn: CoreAuthModule,\n})\nexport class LoggedInUserAdapterService implements IAdapter {\n adaptToModel(resp: any): LoggedInUserDM {\n const user: LoggedInUserDM = new LoggedInUserDM();\n if (resp) {\n user.id = resp.id;\n user.firstName = resp.firstName;\n user.middleName = resp.middleName;\n user.lastName = resp.lastName;\n user.username = resp.username;\n user.email = resp.email;\n user.phone = resp.phone;\n user.defaultTenantId = resp.defaultTenantId;\n user.permissions = resp.permissions;\n user.lastLogin = resp.lastLogin;\n user.photo = resp.photoUrl;\n user.tenant = new NameId({ id: resp.tenantId });\n user.userTenantId = resp.userTenantId;\n user.role = resp.role;\n }\n // Let it invoke constructor now in order to trigger data validations\n return new LoggedInUserDM(user);\n }\n\n adaptFromModel(data: LoggedInUserDM): any {\n return data;\n }\n}\n", + "type": "injectable" + }, + { + "name": "LoginAdapterService", + "id": "injectable-LoginAdapterService-a0d28ef7c2dcae8ca90d640bd62b0e978fbd86914f64b4a4e43f129548c16d9671952f7b64b44fbb05a72a12de92fff1f048b79a317a76b2447735b82018caae", + "file": "projects/arc-lib/src/lib/core/auth/adapters/login-adapter.service.ts", + "properties": [], + "methods": [ + { + "name": "adaptFromModel", + "args": [ + { + "name": "data", + "type": "LoginModel", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "data", + "type": "LoginModel", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "adaptToModel", + "args": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 11, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\n\nimport { IAdapter } from '../..';\nimport { CoreAuthModule } from '../auth.module';\nimport { LoginModel } from '../models';\n\n@Injectable({\n providedIn: CoreAuthModule,\n})\nexport class LoginAdapterService implements IAdapter {\n adaptToModel(resp: any): any {\n return resp;\n }\n adaptFromModel(data: LoginModel): any {\n return {\n username: data.username,\n password: data.password,\n clientId: data.clientId,\n clientSecret: data.clientSecret,\n };\n }\n}\n", + "type": "injectable" + }, + { + "name": "MonthlyScaleService", + "id": "injectable-MonthlyScaleService-11b6886c3e551610873931b4f3a2a11ca086e97623a88d191f9c4b6f3e40cb8510022602b0c4e3ca38cbaa805a76a0723121eadaadc7472463fb8b63b0080665", + "file": "projects/arc-lib/src/lib/components/gantt/services/timeline-scales/monthly-scale.service.ts", + "properties": [ + { + "name": "scale", + "defaultValue": "Timelines.Monthly", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 7 + } + ], + "methods": [ + { + "name": "config", + "args": [], + "optional": false, + "returnType": "{}", + "typeParameters": [], + "line": 8, + "deprecated": false, + "deprecationMessage": "" + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\nimport { GanttScaleUnits } from '../../enum';\nimport { GanttScaleService, Timelines } from '../../types';\n\n@Injectable()\nexport class MonthlyScaleService implements GanttScaleService {\n scale = Timelines.Monthly;\n config() {\n return [\n {\n unit: GanttScaleUnits.Month,\n step: 1,\n format: (date: Date) =>\n date.toLocaleString('default', { month: 'long', year: 'numeric' }),\n },\n {\n unit: GanttScaleUnits.Week,\n step: 1,\n format: (date: Date) =>\n date.toLocaleString('default', { day: '2-digit' }),\n },\n ];\n }\n}\n", + "type": "injectable" + }, + { + "name": "NameIdAdapter", + "id": "injectable-NameIdAdapter-997ee9f07a3925c8d5bc72529a6b68bb90994e517d81c72930c904d55aed9b439ff09c61f336027ff8aab128fa00702e709f44d9bdeb72cb8b90b927ef6f8a5a", + "file": "projects/arc-lib/src/lib/core/api/adapters/name-id-adapter.service.ts", + "properties": [], + "methods": [ + { + "name": "adaptFromModel", + "args": [ + { + "name": "data", + "type": "NameId", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "data", + "type": "NameId", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "adaptToModel", + "args": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "NameId", + "typeParameters": [], + "line": 11, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "resp", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\n\nimport { ApiModule } from '../api.module';\nimport { NameId } from '../models';\nimport { IAdapter } from './i-adapter';\n\n@Injectable({\n providedIn: ApiModule,\n})\nexport class NameIdAdapter implements IAdapter {\n adaptToModel(resp: any): NameId {\n return new NameId(resp);\n }\n adaptFromModel(data: NameId): any {\n return data;\n }\n}\n", + "type": "injectable" + }, + { + "name": "QuarterlyScaleService", + "id": "injectable-QuarterlyScaleService-785f44c634d402d6696140f737cbde375d8df19874ae8cf48b31bc56e5e05b3d86d659635f5f3ee0ff0d9fc9d2ed79b32977c4bb7a99cf988a42e2caa1a1c2d4", + "file": "projects/arc-lib/src/lib/components/gantt/services/timeline-scales/quarterly-scale.service.ts", + "properties": [ + { + "name": "scale", + "defaultValue": "Timelines.Quarterly", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 8 + } + ], + "methods": [ + { + "name": "_formatQuarterScale", + "args": [ + { + "name": "date", + "type": "Date", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "string", + "typeParameters": [], + "line": 25, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "date", + "type": "Date", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "config", + "args": [], + "optional": false, + "returnType": "{}", + "typeParameters": [], + "line": 9, + "deprecated": false, + "deprecationMessage": "" + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\nimport { MONTHS_IN_QUARTER } from '../../const';\nimport { GanttScaleUnits } from '../../enum';\nimport { GanttScaleService, Timelines } from '../../types';\n\n@Injectable()\nexport class QuarterlyScaleService implements GanttScaleService {\n scale = Timelines.Quarterly;\n config() {\n return [\n {\n unit: GanttScaleUnits.Quarter,\n step: 1,\n format: (date: Date) => this._formatQuarterScale(date),\n },\n {\n unit: GanttScaleUnits.Month,\n step: 1,\n format: (date: Date) =>\n date.toLocaleString('default', { month: 'short' }),\n },\n ];\n }\n\n private _formatQuarterScale(date: Date) {\n const month = date.getMonth();\n const year = date.getFullYear();\n return `Q${Math.ceil((month + 1) / MONTHS_IN_QUARTER)} ` + year;\n }\n}\n", + "type": "injectable" + }, + { + "name": "ResizeService", + "id": "injectable-ResizeService-2524fea4bad34e4a1dcddaf5944817fd2a9314b04a03ae963df1efd02201c2f5b1046680f1dbe63eb2661ca4e6d107b8e9aa769bea58dc453554d45ddb20ad1c", + "file": "projects/arc-lib/src/lib/components/resize/resize.service.ts", + "properties": [ + { + "name": "_resizeObserver", + "deprecated": false, + "deprecationMessage": "", + "type": "ResizeObserver", + "optional": false, + "description": "", + "line": 9, + "modifierKind": [ + 121 + ] + }, + { + "name": "_stream", + "deprecated": false, + "deprecationMessage": "", + "type": "Subject<>", + "optional": false, + "description": "", + "line": 10, + "modifierKind": [ + 121 + ] + } + ], + "methods": [ + { + "name": "listen", + "args": [ + { + "name": "element", + "type": "HTMLElement", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 21, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "element", + "type": "HTMLElement", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "observe", + "args": [ + { + "name": "element", + "type": "HTMLElement", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 31, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "element", + "type": "HTMLElement", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "unobserver", + "args": [ + { + "name": "element", + "type": "HTMLElement", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 35, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "element", + "type": "HTMLElement", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\nimport { filter, map, Subject } from 'rxjs';\nimport { ResizeEvent } from './types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ResizeService {\n private _resizeObserver: ResizeObserver;\n private _stream!: Subject;\n constructor() {\n this._resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { target } = entry;\n const { width, height } = entry.contentRect;\n this._stream.next({ target, width, height });\n }\n });\n }\n\n listen(element: HTMLElement) {\n if (!this._stream) {\n this._stream = new Subject();\n }\n return this._stream.asObservable().pipe(\n filter(({ target }) => target === element),\n map(({ width, height }) => ({ width, height }))\n );\n }\n\n observe(element: HTMLElement) {\n this._resizeObserver.observe(element);\n }\n\n unobserver(element: HTMLElement) {\n this._resizeObserver.unobserve(element);\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [], + "line": 10 + }, + "type": "injectable" + }, + { + "name": "SystemStoreFacadeService", + "id": "injectable-SystemStoreFacadeService-192a4a1c70086d6baa69a2b5d7a96fe8cbd0fc44108655d94166114b4bbbd00c3c08cc8c06cd1a74adc91b017198831f8d8d56c2b7b67e23e36fca00a053bf3d", + "file": "projects/arc-lib/src/lib/core/store/system-store-facade.service.ts", + "properties": [], + "methods": [ + { + "name": "_updateLogLevel", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 52, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ] + }, + { + "name": "getEnvConfig", + "args": [ + { + "name": "reset", + "type": "", + "deprecated": false, + "deprecationMessage": "", + "defaultValue": "false" + } + ], + "optional": false, + "returnType": "Observable<>", + "typeParameters": [], + "line": 27, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "reset", + "type": "", + "deprecated": false, + "deprecationMessage": "", + "defaultValue": "false", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AuthTokenSkipHeader } from '../../core/constants';\nimport { clone } from 'lodash';\nimport { NGXLogger } from 'ngx-logger';\nimport { InMemoryStorageService } from 'ngx-webstorage-service';\nimport { map, Observable, of } from 'rxjs';\nimport { EnvAdapterService } from './adapters/env-adapter.service';\nimport { GetEnvCommand } from './commands';\n\nimport { StoreKeys } from './store-keys.enum';\nimport { StoreModule } from './store.module';\nimport { ApiService } from '../api';\nimport { environment } from '@main-project/boiler/env/environment.prod';\n\n@Injectable({\n providedIn: StoreModule,\n})\nexport class SystemStoreFacadeService {\n constructor(\n private readonly inMemoryStore: InMemoryStorageService,\n private readonly envAdapter: EnvAdapterService,\n private readonly apiService: ApiService,\n private readonly logger: NGXLogger\n ) {}\n\n getEnvConfig(reset = false): Observable {\n const envInStore = this.inMemoryStore.get(StoreKeys.ENV_CONFIG);\n if (!reset && envInStore) {\n Object.assign(environment, envInStore);\n return of(clone(environment));\n } else {\n const command: GetEnvCommand = new GetEnvCommand(\n this.apiService,\n this.envAdapter\n );\n command.parameters = {\n headers: new HttpHeaders().set(AuthTokenSkipHeader, ''),\n };\n return command.execute().pipe(\n map((data) => {\n Object.assign(environment, data);\n const clonedEnv = clone(environment);\n this.inMemoryStore.set(StoreKeys.ENV_CONFIG, clonedEnv);\n this._updateLogLevel();\n return clonedEnv;\n })\n );\n }\n }\n\n private _updateLogLevel() {\n // Get the current config\n const config = this.logger.getConfigSnapshot();\n // Updating only one field\n config.level = environment.logLevel;\n // Setting the config\n this.logger.updateConfig(config);\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "inMemoryStore", + "type": "InMemoryStorageService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "envAdapter", + "type": "EnvAdapterService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "apiService", + "type": "ApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "logger", + "type": "NGXLogger", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 19, + "jsdoctags": [ + { + "name": "inMemoryStore", + "type": "InMemoryStorageService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "envAdapter", + "type": "EnvAdapterService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "apiService", + "type": "ApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "logger", + "type": "NGXLogger", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "injectable" + }, + { + "name": "ToasterAdapterService", + "id": "injectable-ToasterAdapterService-01f1684ab52a0d5e09412cd5f4ca4f0c8afb3a6efcf348aeeb6197235b00aeaa04be6b7455caa8ab1cc828db5c52a84754fdc07e12cf47872bf11ca9da7c2944", + "file": "projects/arc-lib/src/lib/theme/toaster/toaster-adapter.service.ts", + "properties": [], + "methods": [ + { + "name": "adaptFromModel", + "args": [ + { + "name": "data", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "NbToastrConfig", + "typeParameters": [], + "line": 17, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "data", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "adaptToModel", + "args": [ + { + "name": "data", + "type": "NbToastrConfig", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "ToasterConfigExt", + "typeParameters": [], + "line": 13, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "data", + "type": "NbToastrConfig", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import {Injectable} from '@angular/core';\nimport {NbGlobalPhysicalPosition, NbToastrConfig} from '@nebular/theme';\nimport {isNull, isUndefined} from 'lodash';\nimport {ToasterConfigExt} from './types';\nimport {IAdapter} from '@project-lib/core/api';\n\nconst timeout = 4000;\n\n@Injectable({\n providedIn: null,\n})\nexport class ToasterAdapterService implements IAdapter {\n adaptToModel(data: NbToastrConfig): ToasterConfigExt {\n return new ToasterConfigExt();\n }\n\n adaptFromModel(data: Partial): NbToastrConfig {\n return new NbToastrConfig({\n position: data.position ?? NbGlobalPhysicalPosition.TOP_RIGHT,\n status: data.status ?? 'basic',\n duration: data.timeout ?? timeout,\n preventDuplicates:\n isNull(data.preventDuplicates) ??\n isUndefined(data.preventDuplicates) ??\n data.preventDuplicates,\n toastClass: data.toastClass,\n hasIcon: data.hasIcon,\n icon: data.icon,\n destroyByClick: true,\n });\n }\n}\n", + "type": "injectable" + }, + { + "name": "ToasterService", + "id": "injectable-ToasterService-f317fad8fa56a36ce8f7b3db891713ddd4c0abc76fd2de252ca54b124046e0cb1868290066195278fd6bf3d2a66396c7e2f17bc966c7bed37f47a0b7a04cf9db", + "file": "projects/arc-lib/src/lib/theme/toaster/toaster.service.ts", + "properties": [], + "methods": [ + { + "name": "default", + "args": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 77, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "error", + "args": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 64, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "info", + "args": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 38, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "show", + "args": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 16, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "success", + "args": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 25, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "warn", + "args": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "optional": false, + "returnType": "IAnyObject", + "typeParameters": [], + "line": 51, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "message", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "title", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + }, + { + "name": "config", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import {Injectable} from '@angular/core';\nimport {NbToastrService} from '@nebular/theme';\nimport {ToasterAdapterService} from './toaster-adapter.service';\nimport {ToasterConfigExt} from './types';\nimport {IToaster} from '@project-lib/core/toaster';\nimport {IAnyObject} from '@project-lib/core/i-any-object';\n@Injectable({\n providedIn: null,\n})\nexport class ToasterService implements IToaster {\n constructor(\n private readonly toastrSvc: NbToastrService,\n private readonly configAdapter: ToasterAdapterService,\n ) {}\n\n show(\n message: string,\n title?: string,\n config?: Partial,\n ): IAnyObject {\n const conf = config && this.configAdapter.adaptFromModel(config);\n return this.toastrSvc.show(message, title, conf);\n }\n\n success(\n message: string,\n title?: string,\n config?: Partial,\n ): IAnyObject {\n const conf =\n config &&\n this.configAdapter.adaptFromModel(\n Object.assign({}, config, {status: 'success'}),\n );\n return this.toastrSvc.success(message, title, conf);\n }\n\n info(\n message: string,\n title?: string,\n config?: Partial,\n ): IAnyObject {\n const conf =\n config &&\n this.configAdapter.adaptFromModel(\n Object.assign({}, config, {status: 'info'}),\n );\n return this.toastrSvc.info(message, title, conf);\n }\n\n warn(\n message: string,\n title?: string,\n config?: Partial,\n ): IAnyObject {\n const conf =\n config &&\n this.configAdapter.adaptFromModel(\n Object.assign({}, config, {status: 'warning'}),\n );\n return this.toastrSvc.warning(message, title, conf);\n }\n\n error(\n message: string,\n title?: string,\n config?: Partial,\n ): IAnyObject {\n const conf =\n config &&\n this.configAdapter.adaptFromModel(\n Object.assign({}, config, {status: 'danger'}),\n );\n return this.toastrSvc.danger(message, title, conf);\n }\n\n default(\n message: string,\n title?: string,\n config?: Partial,\n ): IAnyObject {\n const conf =\n config &&\n this.configAdapter.adaptFromModel(\n Object.assign({}, config, {status: 'basic'}),\n );\n return this.toastrSvc.default(message, title, conf);\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "toastrSvc", + "type": "NbToastrService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "configAdapter", + "type": "ToasterAdapterService", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 10, + "jsdoctags": [ + { + "name": "toastrSvc", + "type": "NbToastrService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "configAdapter", + "type": "ToasterAdapterService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "injectable" + }, + { + "name": "TranslationService", + "id": "injectable-TranslationService-cef67461a14ad92456b25c781e1c63b8dac5b133f4390b46a182ba19cab4a82aa0f815312c7203f04c354554fa1eabe97b2fa23d272a5bf5b59e2a445b9584fb", + "file": "projects/arc-lib/src/lib/core/localization/translation.service.ts", + "properties": [ + { + "name": "browserPreference", + "deprecated": false, + "deprecationMessage": "", + "type": "LanguageTranslation | undefined", + "optional": false, + "description": "", + "line": 27, + "modifierKind": [ + 123 + ] + }, + { + "name": "envPreference", + "deprecated": false, + "deprecationMessage": "", + "type": "LanguageTranslation | undefined", + "optional": false, + "description": "", + "line": 25, + "modifierKind": [ + 123 + ] + }, + { + "name": "prefPriority", + "defaultValue": "[\n LanguagePreferences.UserPreference,\n LanguagePreferences.TenantPreference,\n LanguagePreferences.EnvPreference,\n LanguagePreferences.BrowserPreference,\n ]", + "deprecated": false, + "deprecationMessage": "", + "type": "[]", + "optional": false, + "description": "", + "line": 29, + "modifierKind": [ + 122 + ] + }, + { + "name": "tenantPreference", + "deprecated": false, + "deprecationMessage": "", + "type": "LanguageTranslation | undefined", + "optional": false, + "description": "", + "line": 23, + "modifierKind": [ + 123 + ] + }, + { + "name": "translate", + "deprecated": false, + "deprecationMessage": "", + "type": "TranslateService", + "optional": false, + "description": "", + "line": 19, + "modifierKind": [ + 123 + ] + }, + { + "name": "userPreference", + "deprecated": false, + "deprecationMessage": "", + "type": "LanguageTranslation | undefined", + "optional": false, + "description": "", + "line": 21, + "modifierKind": [ + 123 + ] + } + ], + "methods": [ + { + "name": "init", + "args": [ + { + "name": "langs", + "type": "LanguageTranslation[]", + "deprecated": false, + "deprecationMessage": "", + "defaultValue": "[LanguageTranslation.ENGLISH]" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 36, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "langs", + "type": "LanguageTranslation[]", + "deprecated": false, + "deprecationMessage": "", + "defaultValue": "[LanguageTranslation.ENGLISH]", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "reset", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 45, + "deprecated": false, + "deprecationMessage": "" + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { map, Observable, of } from 'rxjs';\n\nimport { LanguageTranslation } from './language.enum';\nimport { LocalizationModule } from './localization.module';\n\nconst enum LanguagePreferences {\n UserPreference,\n TenantPreference,\n EnvPreference,\n BrowserPreference,\n}\n\n@Injectable({\n providedIn: LocalizationModule,\n})\nexport class TranslationService {\n constructor(public translate: TranslateService) {}\n\n public userPreference: LanguageTranslation | undefined;\n\n public tenantPreference: LanguageTranslation | undefined;\n\n public envPreference: LanguageTranslation | undefined;\n\n public browserPreference: LanguageTranslation | undefined;\n\n protected prefPriority = [\n LanguagePreferences.UserPreference,\n LanguagePreferences.TenantPreference,\n LanguagePreferences.EnvPreference,\n LanguagePreferences.BrowserPreference,\n ];\n\n init(langs: LanguageTranslation[] = [LanguageTranslation.ENGLISH]) {\n this.translate.addLangs(langs);\n\n // this language will be used as a fallback when a translation isn't found in the current language\n this.translate.setDefaultLang(LanguageTranslation.ENGLISH);\n\n this.browserPreference = navigator.language as LanguageTranslation;\n }\n\n reset(): Observable {\n let langToSet: LanguageTranslation | undefined;\n for (let i = 0; i < this.prefPriority.length; i++) {\n if (\n this.prefPriority[i] === LanguagePreferences.UserPreference &&\n this.userPreference\n ) {\n langToSet = this.userPreference;\n break;\n } else if (\n this.prefPriority[i] === LanguagePreferences.TenantPreference &&\n this.tenantPreference\n ) {\n langToSet = this.tenantPreference;\n break;\n } else if (\n this.prefPriority[i] === LanguagePreferences.EnvPreference &&\n this.envPreference\n ) {\n langToSet = this.envPreference;\n break;\n } else if (\n this.prefPriority[i] === LanguagePreferences.BrowserPreference &&\n this.browserPreference\n ) {\n langToSet = this.browserPreference;\n break;\n } else {\n // Unmatched preference\n continue;\n }\n }\n\n if (!langToSet) {\n return of(this.translate.currentLang);\n }\n // get the available languages\n const languages = this.translate.getLangs();\n for (const lang of languages) {\n if (langToSet.includes(lang)) {\n return this.translate\n .use(lang)\n .pipe(map(() => this.translate.currentLang));\n }\n }\n\n return of(this.translate.currentLang);\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "translate", + "type": "TranslateService", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 18, + "jsdoctags": [ + { + "name": "translate", + "type": "TranslateService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "injectable" + }, + { + "name": "UserSessionStoreService", + "id": "injectable-UserSessionStoreService-a0d76c6696b8d488ac7b4ac3120d114b50bc8b9ade051aa7d005d8f5f402c8bcb63f8e04c7315b963351a5bf3dde2c365ab286d06dc47b9cf23063fb82cf03c4", + "file": "projects/arc-lib/src/lib/core/store/user-session-store.service.ts", + "properties": [], + "methods": [ + { + "name": "clearAll", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 73, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "getAccessToken", + "args": [], + "optional": false, + "returnType": "string", + "typeParameters": [], + "line": 25, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "getLastAccessedUrl", + "args": [], + "optional": false, + "returnType": "string", + "typeParameters": [], + "line": 69, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "getRefreshToken", + "args": [], + "optional": false, + "returnType": "string", + "typeParameters": [], + "line": 39, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "getTokenExpiry", + "args": [], + "optional": false, + "returnType": "number", + "typeParameters": [], + "line": 53, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "getUser", + "args": [], + "optional": false, + "returnType": "LoggedInUserDM", + "typeParameters": [], + "line": 61, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "removeAccessToken", + "args": [], + "optional": false, + "returnType": "boolean", + "typeParameters": [], + "line": 29, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "removeRefreshToken", + "args": [], + "optional": false, + "returnType": "boolean", + "typeParameters": [], + "line": 43, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ] + }, + { + "name": "saveAccessToken", + "args": [ + { + "name": "token", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "boolean", + "typeParameters": [], + "line": 20, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "token", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "saveLastAccessedUrl", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 65, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "saveRefreshToken", + "args": [ + { + "name": "token", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "boolean", + "typeParameters": [], + "line": 34, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "token", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "saveTokenExpiry", + "args": [ + { + "name": "expires", + "type": "number", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "boolean", + "typeParameters": [], + "line": 48, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "expires", + "type": "number", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "setUser", + "args": [ + { + "name": "user", + "type": "LoggedInUserDM", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 57, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 123 + ], + "jsdoctags": [ + { + "name": "user", + "type": "LoggedInUserDM", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Inject, Injectable } from '@angular/core';\nimport { InMemoryStorageService, StorageService } from 'ngx-webstorage-service';\n\nimport { LoggedInUserDM } from '../auth/models';\nimport { APPLICATION_STORE, APP_SESSION_STORE } from './keys';\nimport { StoreKeys } from './store-keys.enum';\nimport { StoreModule } from './store.module';\n\n@Injectable({\n providedIn: StoreModule,\n})\nexport class UserSessionStoreService {\n constructor(\n @Inject(APPLICATION_STORE) private readonly store: StorageService,\n @Inject(APP_SESSION_STORE) private readonly sessionStore: StorageService,\n\n private readonly inMemoryStore: InMemoryStorageService\n ) {}\n\n public saveAccessToken(token: string): boolean {\n this.store.set(StoreKeys.ACCESS_TOKEN_KEY, token);\n return true;\n }\n\n public getAccessToken(): string {\n return this.store.get(StoreKeys.ACCESS_TOKEN_KEY);\n }\n\n public removeAccessToken(): boolean {\n this.store.remove(StoreKeys.ACCESS_TOKEN_KEY);\n return true;\n }\n\n public saveRefreshToken(token: string): boolean {\n this.store.set(StoreKeys.REFRESH_TOKEN_KEY, token);\n return true;\n }\n\n public getRefreshToken(): string {\n return this.store.get(StoreKeys.REFRESH_TOKEN_KEY);\n }\n\n public removeRefreshToken(): boolean {\n this.store.remove(StoreKeys.REFRESH_TOKEN_KEY);\n return true;\n }\n\n public saveTokenExpiry(expires: number): boolean {\n this.store.set(StoreKeys.TOKEN_EXPIRY, expires);\n return true;\n }\n\n public getTokenExpiry(): number {\n return this.store.get(StoreKeys.TOKEN_EXPIRY);\n }\n\n public setUser(user: LoggedInUserDM): void {\n this.inMemoryStore.set(StoreKeys.USER_KEY, user);\n }\n\n public getUser(): LoggedInUserDM {\n return new LoggedInUserDM(this.inMemoryStore.get(StoreKeys.USER_KEY));\n }\n\n public saveLastAccessedUrl(url: string): void {\n this.sessionStore.set(StoreKeys.LAST_ACCESSED_URL, url);\n }\n\n public getLastAccessedUrl(): string {\n return this.sessionStore.get(StoreKeys.LAST_ACCESSED_URL);\n }\n\n public clearAll(): void {\n this.sessionStore.remove(StoreKeys.LAST_ACCESSED_URL);\n this.store.remove(StoreKeys.USER_KEY);\n this.store.remove(StoreKeys.ACCESS_TOKEN_KEY);\n this.store.remove(StoreKeys.REFRESH_TOKEN_KEY);\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "store", + "type": "StorageService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "sessionStore", + "type": "StorageService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "inMemoryStore", + "type": "InMemoryStorageService", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 12, + "jsdoctags": [ + { + "name": "store", + "type": "StorageService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "sessionStore", + "type": "StorageService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "inMemoryStore", + "type": "InMemoryStorageService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "injectable" + }, + { + "name": "WeeklyScaleService", + "id": "injectable-WeeklyScaleService-dc8599f94c81421e6bd5f3110796ec1bf208907309eee039743521fb5f118aa467744a567ee1a5930e83724ccc1377990f67a99f0778bca86d5bcab917e120c7", + "file": "projects/arc-lib/src/lib/components/gantt/services/timeline-scales/weekly-scale.service.ts", + "properties": [ + { + "name": "scale", + "defaultValue": "Timelines.Weekly", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 7 + } + ], + "methods": [ + { + "name": "_attachWeekendClass", + "args": [ + { + "name": "date", + "type": "Date", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "\"weekend\" | \"weekday\"", + "typeParameters": [], + "line": 35, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "date", + "type": "Date", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "_formatWeeklyScale", + "args": [ + { + "name": "date", + "type": "Date", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "string", + "typeParameters": [], + "line": 25, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "date", + "type": "Date", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "config", + "args": [], + "optional": false, + "returnType": "{}", + "typeParameters": [], + "line": 8, + "deprecated": false, + "deprecationMessage": "" + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Injectable } from '@angular/core';\nimport { GanttScaleUnits } from '../../enum';\nimport { GanttScaleService, Timelines } from '../../types';\n\n@Injectable()\nexport class WeeklyScaleService implements GanttScaleService {\n scale = Timelines.Weekly;\n config() {\n return [\n {\n unit: GanttScaleUnits.Week,\n step: 1,\n format: (date: Date) => this._formatWeeklyScale(date),\n },\n {\n unit: GanttScaleUnits.Day,\n step: 1,\n format: (date: Date) =>\n date.toLocaleString('default', { weekday: 'short' }).charAt(0),\n css: (date: Date) => this._attachWeekendClass(date),\n },\n ];\n }\n\n private _formatWeeklyScale(date: Date) {\n const noOfDigits = 2;\n return `${date.toLocaleString('default', { month: 'short' })} ${date\n .getDate()\n .toString()\n .padStart(noOfDigits, '0')}, ${date.toLocaleString('default', {\n year: 'numeric',\n })}`;\n }\n\n private _attachWeekendClass(date: Date) {\n const lastDay = 6;\n if (date.getDay() == 0 || date.getDay() == lastDay) {\n return 'weekend';\n } else {\n return 'weekday';\n }\n }\n}\n", + "type": "injectable" + } + ], + "guards": [ + { + "name": "AuthGuard", + "id": "injectable-AuthGuard-eded3140dc56c1c4dc2ba88703520162bbfa751a79317eaf5e207181190062600b9603a4f8e662c877c188e611eb8a0bf1541077911eb83ac9e6c49b7aed7030", + "file": "projects/arc-lib/src/lib/core/auth/guards/auth.guard.ts", + "properties": [], + "methods": [ + { + "name": "_checkLogin", + "args": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 77, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "url", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "canActivate", + "args": [ + { + "name": "route", + "type": "ActivatedRouteSnapshot", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "state", + "type": "RouterStateSnapshot", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 31, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "route", + "type": "ActivatedRouteSnapshot", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "state", + "type": "RouterStateSnapshot", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "canActivateChild", + "args": [ + { + "name": "childRoute", + "type": "ActivatedRouteSnapshot", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "state", + "type": "RouterStateSnapshot", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 49, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "childRoute", + "type": "ActivatedRouteSnapshot", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "state", + "type": "RouterStateSnapshot", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "canLoad", + "args": [ + { + "name": "route", + "type": "Route", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable | Promise | boolean | UrlTree", + "typeParameters": [], + "line": 67, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "route", + "type": "Route", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import {Injectable} from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n CanActivateChild,\n CanLoad,\n Route,\n Router,\n RouterStateSnapshot,\n UrlTree,\n} from '@angular/router';\n\nimport {catchError, concatMap, Observable, of} from 'rxjs';\nimport {AuthService} from '../auth.service';\nimport {\n SystemStoreFacadeService,\n UserSessionStoreService,\n} from '@project-lib/core/store';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate, CanActivateChild, CanLoad {\n constructor(\n private readonly store: UserSessionStoreService,\n private readonly systemStore: SystemStoreFacadeService,\n private readonly authService: AuthService,\n private readonly router: Router,\n ) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable {\n if (route.queryParamMap.keys.length > 0) {\n const code = route.queryParamMap.get('code');\n if (code) {\n return this.systemStore\n .getEnvConfig()\n .pipe(concatMap(() => this.authService.authorize(code)))\n .pipe(concatMap(() => this._checkLogin(state.url)));\n }\n }\n return this.systemStore\n .getEnvConfig()\n .pipe(concatMap(() => this._checkLogin(state.url)));\n }\n\n canActivateChild(\n childRoute: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable {\n if (childRoute.queryParamMap.keys.length > 0) {\n const code = childRoute.queryParamMap.get('code');\n if (code) {\n return this.systemStore\n .getEnvConfig()\n .pipe(concatMap(() => this.authService.authorize(code)))\n .pipe(concatMap(() => this._checkLogin(state.url)));\n }\n }\n return this.systemStore\n .getEnvConfig()\n .pipe(concatMap(() => this._checkLogin(state.url)));\n }\n\n canLoad(\n route: Route,\n ):\n | Observable\n | Promise\n | boolean\n | UrlTree {\n return this._checkLogin(`/${route.path}`);\n }\n\n private _checkLogin(url: string): Observable {\n this.store.saveLastAccessedUrl(url);\n return this.authService.isLoggedIn().pipe(\n catchError(() => {\n this.router.navigate(['/auth/login']);\n return of(false);\n }),\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "store", + "type": "UserSessionStoreService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "systemStore", + "type": "SystemStoreFacadeService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "authService", + "type": "AuthService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "router", + "type": "Router", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 23, + "jsdoctags": [ + { + "name": "store", + "type": "UserSessionStoreService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "systemStore", + "type": "SystemStoreFacadeService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "authService", + "type": "AuthService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "router", + "type": "Router", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "guard" + }, + { + "name": "LoggedInGuard", + "id": "injectable-LoggedInGuard-596dae226ca268b66f5f72e180f9e0a8713eb87de02dca20c608e52f5ee3d4ce999be7fff0efdfb9b16134bfcd8b5f061aa443f53f22f4aca727616516cb2713", + "file": "projects/arc-lib/src/lib/core/auth/guards/logged-in.guard.ts", + "properties": [], + "methods": [ + { + "name": "canActivate", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 19, + "deprecated": false, + "deprecationMessage": "" + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import {Injectable} from '@angular/core';\nimport {CanActivate, Router} from '@angular/router';\nimport {catchError, concatMap, Observable, of, tap} from 'rxjs';\n\nimport {AuthService} from '../auth.service';\nimport {SystemStoreFacadeService} from '@project-lib/core/store';\nimport {environment} from '@main-project/boiler/env/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoggedInGuard implements CanActivate {\n constructor(\n private readonly authService: AuthService,\n private readonly systemStore: SystemStoreFacadeService,\n private readonly router: Router,\n ) {}\n\n canActivate(): Observable {\n return this.systemStore\n .getEnvConfig()\n .pipe(concatMap(() => this.authService.isLoggedIn()))\n .pipe(\n tap(res => {\n if (res) {\n const timeout = setTimeout(() => {\n this.router.navigate([environment.homePath]);\n clearTimeout(timeout);\n });\n }\n }),\n catchError(() => of(true)),\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "authService", + "type": "AuthService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "systemStore", + "type": "SystemStoreFacadeService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "router", + "type": "Router", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 12, + "jsdoctags": [ + { + "name": "authService", + "type": "AuthService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "systemStore", + "type": "SystemStoreFacadeService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "router", + "type": "Router", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "guard" + } + ], + "interceptors": [ + { + "name": "AuthInterceptor", + "id": "injectable-AuthInterceptor-f872e44f008eb7aa5bbfc0c3a85aad7921459dd0d431d58ca864dc9fcdfda70990b4167a8083a8a85d320145502401922d5040a347190146da2435bb035f44d0", + "file": "projects/arc-lib/src/lib/core/interceptors/auth.interceptor.ts", + "properties": [], + "methods": [ + { + "name": "intercept", + "args": [ + { + "name": "req", + "type": "HttpRequest<>", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "next", + "type": "HttpHandler", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable>", + "typeParameters": [], + "line": 22, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "req", + "type": "HttpRequest<>", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "next", + "type": "HttpHandler", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\n\nimport { AuthTokenSkipHeader } from '../constants';\nimport { UserSessionStoreService } from '../store';\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(\n private readonly sessionStore: UserSessionStoreService,\n private readonly route: ActivatedRoute,\n private readonly router: Router\n ) {}\n\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n if (req.headers.has(AuthTokenSkipHeader) || req.url.includes('i18n/')) {\n const headers = req.headers.delete(AuthTokenSkipHeader);\n return next.handle(req.clone({ headers }));\n }\n const authToken = this.sessionStore.getAccessToken();\n\n if (authToken) {\n return next.handle(\n req.clone({ setHeaders: { Authorization: `Bearer ${authToken}` } })\n );\n } else {\n if (this.route.snapshot.data['skipAuth']) {\n this.router.navigate(['/']);\n }\n return throwError(() => 'Request forbidden ! No access token available.');\n }\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "sessionStore", + "type": "UserSessionStoreService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "route", + "type": "ActivatedRoute", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "router", + "type": "Router", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 15, + "jsdoctags": [ + { + "name": "sessionStore", + "type": "UserSessionStoreService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "route", + "type": "ActivatedRoute", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "router", + "type": "Router", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "interceptor" + }, + { + "name": "ErrorInterceptor", + "id": "injectable-ErrorInterceptor-2a251499d175e831233d37d48cf88121e4571f8f1b2c331ebb8ed22dcc665ac38b506e64430747a70d9b9416f8663bdc65d2d45f933e0bd31f2bbe86bcd9bc9e", + "file": "projects/arc-lib/src/lib/core/interceptors/error.interceptor.ts", + "properties": [], + "methods": [ + { + "name": "_checkTokenExpiryErr", + "args": [ + { + "name": "error", + "type": "HttpErrorResponse", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "boolean", + "typeParameters": [], + "line": 24, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "error", + "type": "HttpErrorResponse", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "getErrMsg", + "args": [ + { + "name": "err", + "type": "literal type", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "string", + "typeParameters": [], + "line": 73, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "err", + "type": "literal type", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "intercept", + "args": [ + { + "name": "req", + "type": "HttpRequest<>", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "next", + "type": "HttpHandler", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable>", + "typeParameters": [], + "line": 35, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "req", + "type": "HttpRequest<>", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "next", + "type": "HttpHandler", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { get } from 'lodash';\nimport { catchError, Observable } from 'rxjs';\n\nimport { STATUS_CODE } from '../api';\nimport { ErrToastSkipHeader } from '../constants';\nimport { IToaster, TOASTER_SERVICE_KEY } from '../toaster';\n\nconst errorMsgConst = 'error.error.message.message';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n constructor(\n @Inject(TOASTER_SERVICE_KEY) private readonly toastrService: IToaster\n ) {}\n\n private _checkTokenExpiryErr(error: HttpErrorResponse): boolean {\n return (\n error.status &&\n error.status === STATUS_CODE.UNAUTHORIZED &&\n error.error &&\n error.error.error &&\n error.error.error.message &&\n error.error.error.message.message === 'TokenExpired'\n );\n }\n\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n if (req.headers.has(ErrToastSkipHeader)) {\n const headers = req.headers.delete(ErrToastSkipHeader);\n return next.handle(req.clone({ headers }));\n } else {\n return next.handle(req).pipe(\n catchError((error) => {\n if (\n error instanceof HttpErrorResponse &&\n error.error.error?.statusCode === STATUS_CODE.UNPROCESSABLE_ENTITY\n ) {\n const errMsg = this.getErrMsg(error);\n this.toastrService.error(errMsg, 'ERROR !');\n } else if (\n error instanceof HttpErrorResponse &&\n !this._checkTokenExpiryErr(error)\n ) {\n let errMsg = get(error, errorMsgConst);\n errMsg =\n errMsg ||\n get(\n error,\n 'error.error.message',\n 'Some error occured. Please try again.'\n );\n this.toastrService.error(errMsg, 'ERROR !');\n } else {\n // Do nothing\n }\n throw error;\n })\n );\n }\n }\n\n getErrMsg(err: { [key: string | symbol]: any }) {\n const errDetails =\n get(err, 'error.error.details') || get(err, 'error.error.message');\n let errMsg: string | undefined;\n if (Array.isArray(errDetails)) {\n errDetails.forEach((item) => {\n if (errMsg) {\n errMsg = `${errMsg} \\\n ${item.path} ${item.message}`;\n } else {\n errMsg = `${item.path} ${item.message}`;\n }\n });\n } else {\n errMsg = errDetails;\n }\n return errMsg;\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "toastrService", + "type": "IToaster", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 19, + "jsdoctags": [ + { + "name": "toastrService", + "type": "IToaster", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "interceptor" + }, + { + "name": "SessionRecoveryInterceptor", + "id": "injectable-SessionRecoveryInterceptor-337e2cb31d668d5f3a940c8b8e20970d82b8826e9f811e3e18ced1931d230db65d179e4633195dfda4a930af47df92b726082441b54aea8b388a4194053481cd", + "file": "projects/arc-lib/src/lib/core/interceptors/session-recovery.interceptor.ts", + "properties": [ + { + "name": "_refreshSubject", + "defaultValue": "new Subject()", + "deprecated": false, + "deprecationMessage": "", + "type": "Subject", + "optional": false, + "description": "", + "line": 22, + "modifierKind": [ + 121 + ] + } + ], + "methods": [ + { + "name": "_checkTokenExpiryErr", + "args": [ + { + "name": "error", + "type": "HttpErrorResponse", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "boolean", + "typeParameters": [], + "line": 36, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "error", + "type": "HttpErrorResponse", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "_ifTokenExpired", + "args": [], + "optional": false, + "returnType": "Subject", + "typeParameters": [], + "line": 24, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ] + }, + { + "name": "_isStatusUnauthorized", + "args": [ + { + "name": "error", + "type": "HttpErrorResponse", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "boolean", + "typeParameters": [], + "line": 47, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "error", + "type": "HttpErrorResponse", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "intercept", + "args": [ + { + "name": "req", + "type": "HttpRequest", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "next", + "type": "HttpHandler", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "Observable>", + "typeParameters": [], + "line": 51, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "req", + "type": "HttpRequest", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "next", + "type": "HttpHandler", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "updateHeader", + "args": [ + { + "name": "req", + "type": "HttpRequest", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "HttpRequest", + "typeParameters": [], + "line": 78, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "req", + "type": "HttpRequest", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "description": "", + "rawdescription": "\n", + "sourceCode": "import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { catchError, Observable, Subject, switchMap, throwError } from 'rxjs';\n\nimport { STATUS_CODE } from '../api';\nimport { AuthService } from '../auth';\nimport { UserSessionStoreService } from '../store';\n\n@Injectable()\nexport class SessionRecoveryInterceptor implements HttpInterceptor {\n constructor(\n private readonly store: UserSessionStoreService,\n private readonly sessionService: AuthService\n ) {}\n\n private _refreshSubject: Subject = new Subject();\n\n private _ifTokenExpired() {\n this._refreshSubject.subscribe({\n complete: () => {\n this._refreshSubject = new Subject();\n },\n });\n if (this._refreshSubject.observers.length === 1) {\n this.sessionService.refreshToken().subscribe(this._refreshSubject);\n }\n return this._refreshSubject;\n }\n\n private _checkTokenExpiryErr(error: HttpErrorResponse): boolean {\n return (\n this._isStatusUnauthorized(error) &&\n error.error &&\n error.error.error &&\n error.error.error.message &&\n (error.error.error.message.message === 'TokenExpired' ||\n error.error.error.message.message === 'TokenRevoked')\n );\n }\n\n private _isStatusUnauthorized(error: HttpErrorResponse): boolean {\n return !!error.status && error.status === STATUS_CODE.UNAUTHORIZED;\n }\n\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n if (\n req.url.endsWith('/token-refresh') ||\n req.url.endsWith('/verify-token')\n ) {\n return next.handle(req);\n } else {\n return next.handle(req).pipe(\n catchError((error, caught) => {\n if (error instanceof HttpErrorResponse) {\n if (this._checkTokenExpiryErr(error)) {\n return this._ifTokenExpired().pipe(\n switchMap(() => next.handle(this.updateHeader(req)))\n );\n } else {\n return throwError(() => error);\n }\n }\n return caught;\n })\n );\n }\n }\n\n updateHeader(req: HttpRequest) {\n const authToken = this.store.getAccessToken();\n if (req.url.endsWith('/logout')) {\n req = req.clone({\n body: { refreshToken: this.store.getRefreshToken() },\n headers: req.headers.set('Authorization', `Bearer ${authToken}`),\n });\n } else {\n req = req.clone({\n headers: req.headers.set('Authorization', `Bearer ${authToken}`),\n });\n }\n return req;\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "store", + "type": "UserSessionStoreService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "sessionService", + "type": "AuthService", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 16, + "jsdoctags": [ + { + "name": "store", + "type": "UserSessionStoreService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "sessionService", + "type": "AuthService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "type": "interceptor" + } + ], + "classes": [ + { + "name": "Count", + "id": "class-Count-416ce7dd3dd5c378ba14c91d0f8c753d8647a6691bf596494bd368ac56e6816b0004d8527a0a169ad500639ca6d2f22ab29737d109c2b50dd3f5970408f314b6", + "file": "projects/arc-lib/src/lib/core/api/models/count.model.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "export class Count {\n count = 0;\n constructor(data?: Partial) {\n if (data) {\n this.count = data.count || 0;\n }\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "data", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "line": 2, + "jsdoctags": [ + { + "name": "data", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "count", + "defaultValue": "0", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": false, + "description": "", + "line": 2 + } + ], + "methods": [], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "DelAPICommand", + "id": "class-DelAPICommand-35b1c2873ab4cc62ba5fd692e1ae6525c021a38041197759bc6d5ea23bd2bd6b812bb3482a3cb6ceb88155f72ab6ec92419481b11cd8f1c0f5af64ef0200beb9", + "file": "projects/arc-lib/src/lib/core/api/commands/del-api.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { IAdapter } from '../adapters/i-adapter';\nimport { IApiService } from '../i-api-service';\nimport { HttpObserve } from '../types';\nimport { ICommand } from './i-command';\n\nexport abstract class DelAPICommand implements ICommand {\n constructor(\n protected readonly apiService: IApiService,\n protected readonly adapter: IAdapter,\n protected readonly uri: string\n ) {}\n\n parameters?: {\n data?: object;\n query?: HttpParams;\n headers?: HttpHeaders;\n observe?: HttpObserve;\n };\n\n execute(): Observable {\n let options: any;\n if (this.parameters) {\n options = {};\n options.observe = this.parameters.observe || 'body';\n if (this.parameters.headers) {\n options.headers = this.parameters.headers;\n }\n\n if (this.parameters.query) {\n options.params = this.parameters.query;\n }\n\n if (this.parameters.data) {\n options.body = this.parameters.data;\n }\n }\n return this.apiService\n .delete(this.uri, options)\n .pipe(map((resp) => this.adapter.adaptToModel(resp)));\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 10, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": true, + "description": "", + "line": 17 + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 24, + "deprecated": false, + "deprecationMessage": "" + } + ], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [], + "implements": [ + "ICommand" + ] + }, + { + "name": "EnsureModuleLoadedOnce", + "id": "class-EnsureModuleLoadedOnce-b742bf5d777d28c874a9a346d71999e9c27ae4df1eb37632c32cf9d774d49352a16330d7d52d35e69015cb486b7d35eacb8890f1bbd12ad8d4783c120fcdfc08", + "file": "projects/arc-lib/src/lib/core/ensure-module-loaded-once.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "export class EnsureModuleLoadedOnce {\n constructor(targetModule: any) {\n if (targetModule) {\n throw new Error(\n `${targetModule.constructor.name} has already been loaded. Import this module in the AppModule only.`\n );\n }\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "targetModule", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 1, + "jsdoctags": [ + { + "name": "targetModule", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [], + "methods": [], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "ForgetPasswordCommand", + "id": "class-ForgetPasswordCommand-97f5f53fd26b31bdc7f04af3880b51eec9f4cb58712bd619a97d97e855e1f0c7dd1d103ef938415c3bdff9bbe5290ec9a094c19a7e17e1c072833e0c9e400b99", + "file": "projects/arc-lib/src/lib/core/auth/commands/forget-password.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { IAdapter, IApiService, PostAPICommand } from '../../api';\n\nexport class ForgetPasswordCommand extends PostAPICommand {\n constructor(apiService: IApiService, adapter: IAdapter, appConfig: any) {\n super(\n apiService,\n adapter,\n `${appConfig.baseApiUrl}${appConfig.authServiceUrl}/auth/forget-password`\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 3, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": false, + "description": "", + "line": 19, + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 27, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "indexSignatures": [], + "extends": "PostAPICommand", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "GanttAdapter", + "id": "class-GanttAdapter-903a2e044da7fc91ed34896e643069f9eb12d45bbe2e24e6aaa8f3691edb881743650ec10efa5eaa3b67d604761b2e928b9007ee794d6c7514f65592a96b6f28", + "file": "projects/arc-lib/src/lib/components/gantt/types.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import {TemplateRef, Type, ViewContainerRef} from '@angular/core';\nimport {AnyObject} from '@project-lib/core/api';\nimport {DIGITS, ONE_MIN} from '@project-lib/core/constants';\nimport {NbMenuItem} from '@nebular/theme';\nimport {RANDOM_SIZE} from './const';\nimport {gantt} from 'dhtmlx-gantt';\n\n/**\n * `GanttTaskValue` is a type that represents a task in the Gantt chart.\n *\n * The `GanttTaskValue` type is a generic type, which means that it can be used to represent a task\n * with any type of payload.\n *\n * The `GanttTaskValue` type has the following properties:\n *\n * @property {number} id - The unique identifier for the task.\n * @property {Date} start_date - The start date of the task.\n * @property {Date} end_date - The end date of the task.\n * @property {string} name - The name of the task.\n * @property {string} subtitle - A subtitle for the task.\n * @property render - This is used to render the task as a split task.\n * @property {number} parent - The id of the parent task.\n * @property {number} allocation - The percentage of the parent task that this task takes up.\n * @property {string} type - The type of the task. This is used to determine the color of the task.\n * @property {T} payload - This is the data that you want to pass to the task.\n * @property {boolean} open - This is a property that is used by the Gantt component to determine\n * whether or not the task is expanded.\n * @property {boolean} hasChildren - This is a boolean value that indicates whether the task has\n * children.\n */\nexport type GanttTaskValue =\n | GanttTaskValueWithAllocation\n | GanttTaskValueWithSubAllocation;\n\nexport interface BaseTaskValue {\n id: string | number;\n start_date: Date;\n end_date: Date;\n name: string;\n subtitle?: string;\n render?: 'split';\n parent?: string | number;\n type: string | number;\n $open?: boolean;\n hasChildren: boolean;\n isParent: boolean;\n overallocated?: boolean;\n bar_height?: number;\n row_height?: number;\n payload: T;\n classes?: string[];\n}\n\nexport function withSuballocations(\n task: GanttTaskValueWithSubAllocation | GanttTaskValueWithAllocation,\n): task is GanttTaskValueWithSubAllocation {\n return (\n (task as GanttTaskValueWithSubAllocation).subAllocations !== undefined\n );\n}\n\nexport interface GanttTaskValueWithAllocation extends BaseTaskValue {\n allocation: number;\n}\n\nexport interface GanttTaskValueWithSubAllocation extends BaseTaskValue {\n subAllocations: SubAllocation[];\n}\n\nexport type GanttScaleService = {\n scale: Timelines;\n config(options?: GanttScaleOptions): {\n unit: string;\n step: number;\n format: (date: Date) => string;\n css?: (date: Date) => string;\n }[];\n};\n\n// will be required for custom scale\nexport type GanttScaleOptions = {};\n\nexport type ContextItemClickEvent = {\n event: NbMenuItem;\n task: GanttTaskValue;\n};\n\nexport type GanttEvent = {\n event: string;\n task: GanttTaskValue;\n};\n\nexport type GanttRenderOptions = {\n contextItems: NbMenuItem[];\n contextTemplate?: TemplateRef;\n viewContainerRef?: ViewContainerRef;\n columnName?: string;\n showKebab: boolean;\n showParentInitials: boolean;\n showChildInitials: boolean;\n columnComponent: Type>;\n barComponent: Type>;\n columnWidth: number;\n resizer: boolean;\n searchPlaceholder?: string;\n showSearch: boolean;\n moveToToday: boolean;\n highlightRange?: [Date, Date];\n showOverallocatedIcon: boolean;\n contextItemFilter?: ContextItemFilter;\n defaultScale: Timelines;\n markToday: boolean;\n showTooltip?: boolean;\n childIndent: boolean;\n};\n\nexport type GanttAllocationFields = {\n startDate: Date;\n endDate: Date;\n allocation: number;\n};\n\nexport type GanttLib = typeof gantt;\n\nexport enum Timelines {\n Weekly,\n Monthly,\n Quarterly,\n Custom,\n}\n\nexport const GanttTimelineMap: {\n [key in Timelines]: string;\n} = {\n [Timelines.Weekly]: 'Weekly',\n [Timelines.Monthly]: 'Monthly',\n [Timelines.Quarterly]: 'Quarterly',\n [Timelines.Custom]: 'Custom',\n};\n\nexport abstract class GanttAdapter {\n abstract adaptFrom(data: T[]): GanttTaskValue[];\n\n /**\n * \"Given a date, return a new date that is one day later.\"\n *\n * The first line of the function is a comment. Comments are ignored by the compiler\n * @param {Date} date - The date to be incremented\n * @returns A new Date object with the date set to the next day.\n */\n protected _nextDay(date: Date) {\n return new Date(date.setDate(date.getDate() + 1));\n }\n\n /**\n * It takes a date string or a Date object, converts it to a Date object, and then adds the timezone\n * offset to it\n * @param {string | Date} date - string | Date\n * @returns A new Date object with the timezone offset added to the time.\n */\n protected _addTimezoneOffset(date: string | Date) {\n let dateObject = new Date(date);\n return new Date(\n dateObject.getTime() + dateObject.getTimezoneOffset() * ONE_MIN,\n );\n }\n\n protected _randomId() {\n return Math.random()\n .toString(RANDOM_SIZE)\n .substring(DIGITS.TWO, DIGITS.NINE);\n }\n}\n\nexport type CustomMouseEvent = {\n target: HTMLElement;\n};\n\nexport type IColumnComponent = {\n item: GanttTaskValue;\n contextItems: NbMenuItem[];\n active: boolean;\n showKebab: boolean;\n showParentInitials: boolean;\n showChildInitials: boolean;\n showOverallocatedIcon: boolean;\n contextItemFilter?: ContextItemFilter;\n};\n\nexport type IBarComponent = {\n item: GanttTaskValue;\n};\n\nexport type SubAllocation = {\n percent: number;\n allocation: number;\n classes?: string[];\n} & T;\n\nexport type ContextItemFilter = (item: GanttTaskValue) => NbMenuItem[];\n\nexport function hasSubAllocation(\n item: GanttTaskValue,\n): item is GanttTaskValueWithSubAllocation {\n return !!(item as GanttTaskValueWithSubAllocation).subAllocations;\n}\n", + "properties": [], + "methods": [ + { + "name": "_addTimezoneOffset", + "args": [ + { + "name": "date", + "type": "string | Date", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 161, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt takes a date string or a Date object, converts it to a Date object, and then adds the timezone\noffset to it\n", + "description": "

It takes a date string or a Date object, converts it to a Date object, and then adds the timezone\noffset to it

\n", + "modifierKind": [ + 122 + ], + "jsdoctags": [ + { + "name": { + "pos": 4678, + "end": 4682, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "date" + }, + "type": "string | Date", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 4656, + "end": 4661, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • string | Date
  • \n
\n", + "typeExpression": { + "pos": 4662, + "end": 4677, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 4663, + "end": 4676, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 189, + "types": [ + { + "pos": 4663, + "end": 4669, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 152 + }, + { + "pos": 4671, + "end": 4676, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 4671, + "end": 4676, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "Date" + } + } + ] + } + } + }, + { + "tagName": { + "pos": 4705, + "end": 4712, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "returns" + }, + "comment": "

A new Date object with the timezone offset added to the time.

\n" + } + ] + }, + { + "name": "_nextDay", + "args": [ + { + "name": "date", + "type": "Date", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 151, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\n\"Given a date, return a new date that is one day later.\"\n\nThe first line of the function is a comment. Comments are ignored by the compiler\n", + "description": "

"Given a date, return a new date that is one day later."

\n

The first line of the function is a comment. Comments are ignored by the compiler

\n", + "modifierKind": [ + 122 + ], + "jsdoctags": [ + { + "name": { + "pos": 4321, + "end": 4325, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "date" + }, + "type": "Date", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 4308, + "end": 4313, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • The date to be incremented
  • \n
\n", + "typeExpression": { + "pos": 4314, + "end": 4320, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 4315, + "end": 4319, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 4315, + "end": 4319, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "Date" + } + } + } + }, + { + "tagName": { + "pos": 4361, + "end": 4368, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "returns" + }, + "comment": "

A new Date object with the date set to the next day.

\n" + } + ] + }, + { + "name": "_randomId", + "args": [], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 168, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 122 + ] + }, + { + "name": "adaptFrom", + "args": [ + { + "name": "data", + "type": "T[]", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "GanttTaskValue[]", + "typeParameters": [], + "line": 142, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 126 + ], + "jsdoctags": [ + { + "name": "data", + "type": "T[]", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "GetAPICommand", + "id": "class-GetAPICommand-94be9353e3a6d979b69885b5d0d1bc4a74070612cf94c3181f7303bbb0c338076a304a3c5f64f417fb95c27c6aecc0aff93a1388d5b9df7d38c0450f0363276d", + "file": "projects/arc-lib/src/lib/core/api/commands/get-api.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { IAdapter } from '../adapters/i-adapter';\nimport { IApiService } from '../i-api-service';\nimport { HttpObserve, ResponseType } from '../types';\nimport { ICommand } from './i-command';\n\nexport abstract class GetAPICommand implements ICommand {\n constructor(\n protected readonly apiService: IApiService,\n protected readonly adapter: IAdapter,\n protected readonly uri: string\n ) {}\n\n parameters?: {\n query?: HttpParams;\n headers?: HttpHeaders;\n observe?: HttpObserve;\n responseType?: ResponseType;\n };\n\n execute(): Observable {\n // tslint:disable-next-line:rule no-any\n let options: any;\n if (this.parameters) {\n options = {};\n options.observe = this.parameters.observe || 'body';\n\n if (this.parameters.headers) {\n options.headers = this.parameters.headers;\n }\n\n if (this.parameters.query) {\n options.params = this.parameters.query;\n }\n\n if (this.parameters.responseType) {\n options.responseType = this.parameters.responseType;\n }\n }\n return this.apiService\n .get(this.uri, options)\n .pipe(map((resp) => this.adapter.adaptToModel(resp)));\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 10, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": true, + "description": "", + "line": 17 + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 24, + "deprecated": false, + "deprecationMessage": "" + } + ], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [], + "implements": [ + "ICommand" + ] + }, + { + "name": "GetCurrentUserCommand", + "id": "class-GetCurrentUserCommand-b19584e882bb9252cc93fc48d6a9a4a55804750980211e69439b6c0a8448677e6be4e505e5060783cef53b8e098450a33cfbd1dee203340a8efeee6056bdc89c", + "file": "projects/arc-lib/src/lib/core/auth/commands/get-current-user.comand.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { GetAPICommand, IAdapter, IApiService } from '../../api';\n\nexport class GetCurrentUserCommand extends GetAPICommand {\n constructor(apiService: IApiService, adapter: IAdapter, appConfig: any) {\n super(\n apiService,\n adapter,\n `${appConfig.baseApiUrl}${appConfig.authServiceUrl}/auth/me`\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 3, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": true, + "description": "", + "line": 17, + "inheritance": { + "file": "GetAPICommand" + } + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 24, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "GetAPICommand" + } + } + ], + "indexSignatures": [], + "extends": "GetAPICommand", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "GetEnvCommand", + "id": "class-GetEnvCommand-2c10eb94458c22b5ab039f7d875826e3b311e40493cb0269227d2ac55ef1db7a2c73b473e731e849d067da1b1a8e1a66a8b8731d149936c5d4fa97ebf63029cd", + "file": "projects/arc-lib/src/lib/core/store/commands/get-env.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { GetAPICommand, IAdapter, IApiService } from '../../api';\n\nexport class GetEnvCommand extends GetAPICommand {\n constructor(apiService: IApiService, adapter: IAdapter) {\n super(\n apiService,\n adapter,\n `assets/json/environment.json?t=${new Date().getTime()}`\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 3, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": true, + "description": "", + "line": 17, + "inheritance": { + "file": "GetAPICommand" + } + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 24, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "GetAPICommand" + } + } + ], + "indexSignatures": [], + "extends": "GetAPICommand", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "GetListAPICommand", + "id": "class-GetListAPICommand-6172afb85b524ebf6ece7b0cfc1062779021c44190f22dd91f957d0d7bc5323ac0e890c2857bd58e96c087cc488b1b8e7f5b396930c784b9fe9e9251f9bd71f7", + "file": "projects/arc-lib/src/lib/core/api/commands/get-list-api.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { IAdapter } from '../adapters/i-adapter';\nimport { IApiService } from '../i-api-service';\nimport { ICommand } from './i-command';\n\nexport abstract class GetListAPICommand implements ICommand {\n constructor(\n protected readonly apiService: IApiService,\n protected readonly adapter: IAdapter,\n protected readonly uri: string\n ) {}\n\n parameters?: {\n query?: HttpParams;\n headers?: HttpHeaders;\n };\n\n execute(): Observable {\n // tslint:disable-next-line:rule no-any\n const options: any = { observe: 'body' };\n if (this.parameters) {\n if (this.parameters.headers) {\n options.headers = this.parameters.headers;\n }\n\n if (this.parameters.query) {\n options.params = this.parameters.query;\n }\n }\n return this.apiService\n .get(this.uri, options)\n .pipe(\n map((resp) => resp.map((data: any) => this.adapter.adaptToModel(data)))\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 9, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": true, + "description": "", + "line": 16 + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 21, + "deprecated": false, + "deprecationMessage": "" + } + ], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [], + "implements": [ + "ICommand" + ] + }, + { + "name": "GetTokenCommand", + "id": "class-GetTokenCommand-8197530c182bd0b4d13a9875171a6eaa15ca1971e5e0ab335f94f327c827b5366871de24bf6b7d08383cb625b063e93f123120e63639b241d0eeea38219b9d6b", + "file": "projects/arc-lib/src/lib/core/auth/commands/get-token.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { IAdapter, IApiService, PostAPICommand } from '../../api';\n\nexport class GetTokenCommand extends PostAPICommand {\n constructor(apiService: IApiService, adapter: IAdapter, appConfig: any) {\n super(\n apiService,\n adapter,\n `${appConfig.baseApiUrl}${appConfig.authServiceUrl}/auth/token`\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 3, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": false, + "description": "", + "line": 19, + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 27, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "indexSignatures": [], + "extends": "PostAPICommand", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "GoogleLoginCommand", + "id": "class-GoogleLoginCommand-02ddaaf1c3a527adc9b08c6067134a695ac8208c48336e2e50403678fa65375af128bb4828b6c14597d3d42d0c5aaa3b846899ebdac37118ec11159b794851ef", + "file": "projects/arc-lib/src/lib/core/auth/commands/google-login.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { GetAPICommand, IAdapter, IApiService } from '../../api';\n\nexport class GoogleLoginCommand extends GetAPICommand {\n constructor(apiService: IApiService, adapter: IAdapter, appConfig: any) {\n super(\n apiService,\n adapter,\n `${appConfig.baseApiUrl}${appConfig.authServiceUrl}/auth/google`\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 3, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": true, + "description": "", + "line": 17, + "inheritance": { + "file": "GetAPICommand" + } + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 24, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "GetAPICommand" + } + } + ], + "indexSignatures": [], + "extends": "GetAPICommand", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "LoggedInUserDM", + "id": "class-LoggedInUserDM-960f0e67fa03253a7a3d9babe0312354f67a2183527672722ba19eafab094f6e4fcb385e0b65445dd301bd19b210a798f5380808d18060ba3716568a4ae2ea9a", + "file": "projects/arc-lib/src/lib/core/auth/models/logged-in-user.model.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { NameId } from '../..';\n\nexport class LoggedInUserDM {\n id!: string;\n firstName = '';\n middleName?: string;\n lastName?: string;\n username!: string;\n email?: string;\n phone?: string;\n permissions!: string[];\n tenant!: NameId;\n lastLogin?: Date;\n defaultTenantId!: string;\n photo?: string;\n userTenantId?: string;\n role?: string;\n\n get fullName(): string {\n let fullName = this.firstName;\n if (this.middleName) {\n fullName = fullName.concat(' ').concat(this.middleName);\n }\n if (this.lastName) {\n fullName = fullName.concat(' ').concat(this.lastName);\n }\n return fullName;\n }\n\n constructor(data?: Partial) {\n if (\n data &&\n data.id &&\n data.firstName &&\n data.username &&\n data.permissions &&\n data.tenant &&\n data.defaultTenantId\n ) {\n this.id = data.id;\n this.firstName = data.firstName;\n this.middleName = data.middleName;\n this.lastName = data.lastName;\n this.username = data.username;\n this.email = data.email;\n this.phone = data.phone;\n this.permissions = data.permissions;\n this.tenant = data.tenant;\n this.defaultTenantId = data.defaultTenantId;\n this.lastLogin = data.lastLogin;\n this.photo = data.photo;\n this.userTenantId = data.userTenantId;\n this.role = data.role;\n } else if (data) {\n throw new Error('Mandatory fields missing for LoggedInUser model');\n } else {\n // Do nothing\n }\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "data", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "line": 28, + "jsdoctags": [ + { + "name": "data", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "defaultTenantId", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 14 + }, + { + "name": "email", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": true, + "description": "", + "line": 9 + }, + { + "name": "firstName", + "defaultValue": "''", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 5 + }, + { + "name": "id", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 4 + }, + { + "name": "lastLogin", + "deprecated": false, + "deprecationMessage": "", + "type": "Date", + "optional": true, + "description": "", + "line": 13 + }, + { + "name": "lastName", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": true, + "description": "", + "line": 7 + }, + { + "name": "middleName", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": true, + "description": "", + "line": 6 + }, + { + "name": "permissions", + "deprecated": false, + "deprecationMessage": "", + "type": "string[]", + "optional": false, + "description": "", + "line": 11 + }, + { + "name": "phone", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": true, + "description": "", + "line": 10 + }, + { + "name": "photo", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": true, + "description": "", + "line": 15 + }, + { + "name": "role", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": true, + "description": "", + "line": 17 + }, + { + "name": "tenant", + "deprecated": false, + "deprecationMessage": "", + "type": "NameId", + "optional": false, + "description": "", + "line": 12 + }, + { + "name": "username", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 8 + }, + { + "name": "userTenantId", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": true, + "description": "", + "line": 16 + } + ], + "methods": [], + "indexSignatures": [], + "accessors": { + "fullName": { + "name": "fullName", + "getSignature": { + "name": "fullName", + "type": "string", + "returnType": "string", + "line": 19 + } + } + }, + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "LoginCommand", + "id": "class-LoginCommand-df7c0cc9374c83d465fed8b2103798dd5aa45d16b3de3c8a9be997c803e7a0c76e1e9c1b7fb674c8ac966877eecb063baab995c32a169e614c41f83c6754334a", + "file": "projects/arc-lib/src/lib/core/auth/commands/login.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { IAdapter, IApiService, PostAPICommand } from '../../api';\n\nexport class LoginCommand extends PostAPICommand {\n constructor(apiService: IApiService, adapter: IAdapter, appConfig: any) {\n super(\n apiService,\n adapter,\n `${appConfig.baseApiUrl}${appConfig.authServiceUrl}/auth/login`\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 3, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": false, + "description": "", + "line": 19, + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 27, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "indexSignatures": [], + "extends": "PostAPICommand", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "LoginModel", + "id": "class-LoginModel-71ad8f74b6a86597ca4112c2fdb10de000e25373690ed7c7bf2f673b027f800c6d969a204f09b31e915943a7932ce53bb1cedac94aeb8065a400d7477688d75e", + "file": "projects/arc-lib/src/lib/core/auth/models/login.model.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "export class LoginModel {\n username!: string;\n password!: string;\n clientId!: string;\n clientSecret!: string;\n}\n", + "properties": [ + { + "name": "clientId", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 4 + }, + { + "name": "clientSecret", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 5 + }, + { + "name": "password", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 3 + }, + { + "name": "username", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 2 + } + ], + "methods": [], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "LoginResponseModel", + "id": "class-LoginResponseModel-b87df513fea14208b55a82ad09ef4e056436cf692f31c6d807120f6699802049d3891edd52cd78f13ab3aeb818a0578e8e8847aa96b11c8b9959e019dc20ed8d", + "file": "projects/arc-lib/src/lib/core/auth/models/login-response.model.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "export class LoginResponseModel {\n code!: string;\n}\n", + "properties": [ + { + "name": "code", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 2 + } + ], + "methods": [], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "LogoutCommand", + "id": "class-LogoutCommand-594af102fac0d16d027fabb374087c76c00b66359a867daa8a3dba023ec62e8d8a11c9d3ed53c8eb1c55e5cd8e5eb1511337c1d7d29f1924a5af1e4e9c23aa41", + "file": "projects/arc-lib/src/lib/core/auth/commands/logout.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { IAdapter, IApiService, PostAPICommand } from '../../api';\n\nexport class LogoutCommand extends PostAPICommand {\n constructor(apiService: IApiService, adapter: IAdapter, appConfig: any) {\n super(\n apiService,\n adapter,\n `${appConfig.baseApiUrl}${appConfig.authServiceUrl}/logout`\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 3, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": false, + "description": "", + "line": 19, + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 27, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "indexSignatures": [], + "extends": "PostAPICommand", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "MockTranslateLoader", + "id": "class-MockTranslateLoader-047e01090fc52eb81f78da33c0bd76f1b95050e19a32e2b760d1e8df96149acb9c34adfcb7d9bdcfcc1917542a48e4c6a2d4047de44353549d68d878fd9142f7", + "file": "projects/arc-lib/src/stories/components/ganttBar.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { TranslateLoader, TranslateModule, TranslateService, TranslateStore} from '@ngx-translate/core';\nimport { GanttBarsComponent } from '@project-lib/components/gantt/components';\nimport { AnyObject } from '@project-lib/core/api';\nimport { moduleMetadata } from '@storybook/angular';\n\nimport { ThemeModule } from '@project-lib/theme/theme.module';\nimport { of } from 'rxjs';\nimport { HttpClientTestingModule } from '@angular/common/http/testing';\nimport { NbThemeModule } from '@nebular/theme';\nimport { TranslationService } from '@project-lib/core/localization/translation.service';\n\nclass MockTranslateLoader implements TranslateLoader {\n getTranslation(lang) {\n // Provide a mock translation object\n return of({\n // Your translations here...\n });\n }\n}\n\n// Mock TranslateService\nconst mockTranslateService = {\n use: () => {},\n setDefaultLang: () => {},\n get: (key) => of(key), // Provide a simple mock translation function\n};\n\n\nexport default {\n title: 'Components/GanttBars',\n component: GanttBarsComponent,\n decorators: [\n moduleMetadata({\n // imports: [TranslateModule], // Add any necessary Angular modules here\n // providers: [TranslationService,TranslateService,TranslateStore],\n imports: [\n ThemeModule,\n NbThemeModule.forRoot(), // Add this line to enable Nebular styles\n\n TranslateModule.forRoot({\n loader: { provide: TranslateLoader, useClass: MockTranslateLoader },\n }),\n HttpClientTestingModule, // Mock HttpClient requests\n ],\n \n providers: [TranslationService,TranslateService,TranslateStore],\n \n // Add any necessary Angular services/providers here\n }),\n ],\n };\n \n const Template = (args:GanttBarsComponent) => ({\n component: GanttBarsComponent,\n props: args,\n });\n\n export const Default = Template.bind({});\n Default.args = {\n item: {\n // Sample data for your GanttTaskValue item\n name: 'Sample Task',\n startDate: new Date('2023-09-01'),\n endDate: new Date('2023-09-10'),\n allocation: 80, // Sample allocation value\n // Add other properties as needed\n },\n};\n \n", + "properties": [], + "methods": [ + { + "name": "getTranslation", + "args": [ + { + "name": "lang", + "type": "", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 13, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "lang", + "type": "", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [], + "implements": [ + "TranslateLoader" + ] + }, + { + "name": "MockTranslateLoader", + "id": "class-MockTranslateLoader-42ec57bf626d96fe5306d289a240e16fb95f9a4dbb6b6021da44aee1cc536714a11ada6efffbc268a9e6eb22c2466bd944746587d1385a03881e864ffb366766-1", + "file": "projects/arc-lib/src/stories/components/tooltip.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { HttpClientTestingModule } from '@angular/common/http/testing';\nimport { NbThemeModule } from '@nebular/theme';\nimport { TranslateLoader, TranslateModule, TranslateService, TranslateStore } from '@ngx-translate/core';\nimport { GanttTooltipComponent } from '@project-lib/components/gantt/components/gantt-tooltip/gantt-tooltip.component';\nimport { GanttModule } from '@project-lib/components/index';\nimport { ThemeModule } from '@project-lib/theme/theme.module';\nimport { moduleMetadata } from '@storybook/angular';\nimport { of } from 'rxjs';\n\nclass MockTranslateLoader implements TranslateLoader {\n getTranslation(lang) {\n // Provide a mock translation object\n return of({\n // Your translations here...\n });\n }\n}\n\nexport default {\n title: 'Components/GanttTooltip',\n component: GanttTooltipComponent,\n decorators: [\n moduleMetadata({\n imports:[\n ThemeModule,\n NbThemeModule.forRoot(), // Add this line to enable Nebular styles\n TranslateModule.forRoot({\n loader: { provide: TranslateLoader, useClass: MockTranslateLoader },\n }),\n HttpClientTestingModule, // Mock HttpClient requests\n \n ],\n providers: [TranslateService,TranslateStore], //Add your providers here if needed\n }),\n ],\n};\n\nconst Template = (args: GanttTooltipComponent) => ({\n component: GanttTooltipComponent,\n props: args,\n});\n\nexport const Default = Template.bind({});\nDefault.args = {\n item: {\n // Define your SubAllocation object here\n // For example:\n date: new Date('2023-09-20'),\n rate: 50,\n allocation: 8,\n },\n};\n\n// You may want to create additional stories with different data or scenarios as needed\n", + "properties": [], + "methods": [ + { + "name": "getTranslation", + "args": [ + { + "name": "lang", + "type": "", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 11, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "lang", + "type": "", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [], + "implements": [ + "TranslateLoader" + ], + "isDuplicate": true, + "duplicateId": 1, + "duplicateName": "MockTranslateLoader-1" + }, + { + "name": "NameId", + "id": "class-NameId-14354a64407ca42c2b943ed055f9c67b4ae1cec112b428f1dd7f6732c90944bb9dd7edaaa0277e7af99620662772e018e6e7e6aa8cb9cf208c194c86e9861430", + "file": "projects/arc-lib/src/lib/core/api/models/name-id.model.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "export class NameId {\n id: string | undefined;\n name: string | undefined;\n constructor(data?: Partial) {\n this.id = data?.id;\n this.name = data?.name;\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "data", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true + } + ], + "line": 3, + "jsdoctags": [ + { + "name": "data", + "type": "Partial", + "deprecated": false, + "deprecationMessage": "", + "optional": true, + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "id", + "deprecated": false, + "deprecationMessage": "", + "type": "string | undefined", + "optional": false, + "description": "", + "line": 2 + }, + { + "name": "name", + "deprecated": false, + "deprecationMessage": "", + "type": "string | undefined", + "optional": false, + "description": "", + "line": 3 + } + ], + "methods": [], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "NameIdRequired", + "id": "class-NameIdRequired-b85491a17d3978aac212121fd2684c245b0572d947612a2cef93b930114293c0bcfbfc46ff0c177eb8b021296fce00cec84fd6694f9e418bbd2eace34af423b6", + "file": "projects/arc-lib/src/lib/core/api/models/name-id-required.model.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import {required, validate} from '@project-lib/core/decorators';\n\n@validate()\nexport class NameIdRequired {\n @required()\n id: string;\n @required()\n name: string;\n constructor(data: NameIdRequired) {\n this.id = data.id;\n this.name = data.name;\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "data", + "type": "NameIdRequired", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 8, + "jsdoctags": [ + { + "name": "data", + "type": "NameIdRequired", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "id", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 6, + "decorators": [ + { + "name": "required", + "stringifiedArguments": "" + } + ], + "modifierKind": [ + 167 + ] + }, + { + "name": "name", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 8, + "decorators": [ + { + "name": "required", + "stringifiedArguments": "" + } + ], + "modifierKind": [ + 167 + ] + } + ], + "rawdescription": "\n", + "methods": [], + "indexSignatures": [] + }, + { + "name": "PatchAPICommand", + "id": "class-PatchAPICommand-dc924461081d75804e26677403a15ac63b01834fe7ebfbab940b757524b60dc378e537c4b222d3567203df3f7da9ac9a002566d74a7c0b06860646650389ea88", + "file": "projects/arc-lib/src/lib/core/api/commands/patch-api.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { IAdapter } from '../adapters/i-adapter';\nimport { IApiService } from '../i-api-service';\nimport { HttpObserve } from '../types';\nimport { ICommand } from './i-command';\n\nexport abstract class PatchAPICommand implements ICommand {\n constructor(\n protected readonly apiService: IApiService,\n protected readonly adapter: IAdapter,\n protected readonly uri: string\n ) {}\n\n parameters!: {\n data: Partial;\n headers?: HttpHeaders;\n observe?: HttpObserve;\n query?: HttpParams;\n };\n\n execute(): Observable {\n if (!this.parameters) {\n throwError(() => new Error(`Parameters missing for PATCH ${this.uri}`));\n }\n\n // sonarignore:start\n // tslint:disable-next-line:rule no-any\n const options: any = { observe: this.parameters.observe || 'body' };\n if (this.parameters.headers) {\n options.headers = this.parameters.headers;\n }\n // sonarignore:end\n\n if (this.parameters.query) {\n options.params = this.parameters.query;\n }\n return this.apiService\n .patch(\n this.uri,\n this.adapter.adaptFromModel(this.parameters.data),\n options\n )\n .pipe(map((resp) => resp && this.adapter.adaptToModel(resp)));\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 10, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": false, + "description": "", + "line": 17 + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 24, + "deprecated": false, + "deprecationMessage": "" + } + ], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [], + "implements": [ + "ICommand" + ] + }, + { + "name": "PostAPICommand", + "id": "class-PostAPICommand-94a050488f15209b25df796a33e4c13cbf7f96492e21dee13b11798766d6c74fd2e9386212ca492fe268ae7917e5bcbcc64381d2fabc0ef82e23fe69b29c7cb5", + "file": "projects/arc-lib/src/lib/core/api/commands/post-api.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { IAdapter } from '../adapters/i-adapter';\nimport { IApiService } from '../i-api-service';\nimport { HttpObserve } from '../types';\nimport { ICommand } from './i-command';\n\nexport abstract class PostAPICommand, R = T>\n implements ICommand\n{\n constructor(\n protected readonly apiService: IApiService,\n protected readonly adapter: IAdapter,\n protected readonly uri: string\n ) {}\n\n parameters!: {\n data: T;\n headers?: HttpHeaders;\n observe?: HttpObserve;\n query?: HttpParams;\n reportProgress?: boolean;\n };\n\n execute(): Observable {\n if (!this.parameters) {\n throwError(() => new Error(`Parameters missing for POST ${this.uri}`));\n }\n // tslint:disable-next-line:rule no-any\n const options: any = {};\n options.observe = this.parameters.observe || 'body';\n options.reportProgress = this.parameters.reportProgress;\n if (this.parameters.headers) {\n options.headers = this.parameters.headers;\n }\n return this.apiService\n .post(\n this.uri,\n this.adapter.adaptFromModel(this.parameters.data),\n options\n )\n .pipe(\n map((resp) => {\n if (!options.reportProgress) {\n return this.adapter.adaptToModel(resp);\n } else {\n return resp;\n }\n })\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 12, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": false, + "description": "", + "line": 19 + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 27, + "deprecated": false, + "deprecationMessage": "" + } + ], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [], + "implements": [ + "ICommand" + ] + }, + { + "name": "PutAPICommand", + "id": "class-PutAPICommand-fdc80c3074769eef455a6a03b0fb636a04f4217001f038e1e331320c943d5cd16d63f7951c90487c98e66cc30ae3506e58ff92e65a4989d88939836a7cb9bb64", + "file": "projects/arc-lib/src/lib/core/api/commands/put-api.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { HttpHeaders } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { IAdapter } from '../adapters/i-adapter';\nimport { IApiService } from '../i-api-service';\nimport { HttpObserve } from '../types';\nimport { ICommand } from './i-command';\n\nexport abstract class PutAPICommand implements ICommand {\n constructor(\n protected readonly apiService: IApiService,\n protected readonly adapter: IAdapter,\n protected readonly uri: string\n ) {}\n\n parameters!: { data: T; headers?: HttpHeaders; observe?: HttpObserve };\n\n execute(): Observable {\n if (!this.parameters) {\n throwError(() => new Error(`Parameters missing for PUT ${this.uri}`));\n }\n // tslint:disable-next-line:rule no-any\n const options: any = { observe: this.parameters.observe || 'body' };\n if (this.parameters.headers) {\n options.headers = this.parameters.headers;\n }\n return this.apiService\n .put(this.uri, this.adapter.adaptFromModel(this.parameters.data), options)\n .pipe(map((resp) => resp && this.adapter.adaptToModel(resp)));\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 10, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "uri", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": false, + "description": "", + "line": 17 + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 19, + "deprecated": false, + "deprecationMessage": "" + } + ], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [], + "implements": [ + "ICommand" + ] + }, + { + "name": "RefreshTokenCommand", + "id": "class-RefreshTokenCommand-0ea5c5442cecb0eff84c1e3388911952c23a1d42885eee426d24d4ed923a055a716a1da512658a4b8a2d84d959fa7b2225bd206cf61ae9ef4e7dc1617980b28b", + "file": "projects/arc-lib/src/lib/core/auth/commands/refresh-token.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { IAdapter, IApiService, PostAPICommand } from '../../api';\n\nexport class RefreshTokenCommand extends PostAPICommand {\n constructor(apiService: IApiService, adapter: IAdapter, appConfig: any) {\n super(\n apiService,\n adapter,\n `${appConfig.baseApiUrl}${appConfig.authServiceUrl}/auth/token-refresh`\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 3, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": false, + "description": "", + "line": 19, + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 27, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "indexSignatures": [], + "extends": "PostAPICommand", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "ResetPasswordCommand", + "id": "class-ResetPasswordCommand-cf05e42980071b8d6ced8b6888797b0873607b959953b65fbf51a8db5d81e8362539e52e411377b0868f5dbe09c4f13e04f2fe3581c00b2a62ca0e0706fc174b", + "file": "projects/arc-lib/src/lib/core/auth/commands/reset-password.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { IAdapter, IApiService, PatchAPICommand } from '../../api';\n\nexport class ResetPasswordCommand extends PatchAPICommand {\n constructor(apiService: IApiService, adapter: IAdapter, appConfig: any) {\n super(\n apiService,\n adapter,\n `${appConfig.baseApiUrl}${appConfig.authServiceUrl}/auth/reset-password`\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 3, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": false, + "description": "", + "line": 17, + "inheritance": { + "file": "PatchAPICommand" + } + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 24, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "PatchAPICommand" + } + } + ], + "indexSignatures": [], + "extends": "PatchAPICommand", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "RouteComponentBaseDirective", + "id": "class-RouteComponentBaseDirective-5645a39a199ca81593faf27bf05eacf503a52372472cbd816e58f18fd04e712948d7589e7d11ed2f84e9c280bac9f52aea536af6b4c4d000f7e6c3e57710f63c", + "file": "projects/arc-lib/src/lib/core/route-component-base.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { Location } from '@angular/common';\nimport { ActivatedRoute } from '@angular/router';\nimport { filter, map } from 'rxjs';\nimport { ComponentBaseDirective } from './component-base';\n\nexport class RouteComponentBaseDirective extends ComponentBaseDirective {\n constructor(\n protected readonly route: ActivatedRoute,\n protected readonly location: Location\n ) {\n super();\n }\n\n getDataParam(key: string) {\n return this.route.snapshot.data[key];\n }\n\n getQueryParam(key: string) {\n return this.route.snapshot.queryParamMap.get(key);\n }\n\n getAllQueryParams() {\n return this.route.snapshot.queryParams;\n }\n\n getRouteParam(key: string) {\n return this.route.snapshot.paramMap.get(key);\n }\n\n getRouteParamObservable(key: string) {\n return this.route.paramMap.pipe(\n filter((params) => !!params.get(key)),\n map((params) => params.get(key))\n );\n }\n getChildRouteParam(key: string) {\n return this.route.firstChild?.snapshot?.paramMap?.get(key);\n }\n\n goBack(): void {\n this.location.back();\n }\n\n navigateHome(homePath): void {\n this.location.go(homePath);\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "route", + "type": "ActivatedRoute", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "location", + "type": "Location", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 6, + "jsdoctags": [ + { + "name": "route", + "type": "ActivatedRoute", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "location", + "type": "Location", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [], + "methods": [ + { + "name": "getAllQueryParams", + "args": [], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 22, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "getChildRouteParam", + "args": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 36, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "getDataParam", + "args": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "getQueryParam", + "args": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 18, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "getRouteParam", + "args": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 26, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "getRouteParamObservable", + "args": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 30, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "goBack", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 40, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "navigateHome", + "args": [ + { + "name": "homePath", + "type": "", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 44, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "homePath", + "type": "", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "indexSignatures": [], + "extends": "ComponentBaseDirective", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "ToasterConfig", + "id": "class-ToasterConfig-27f743ea7d357344f4cd708c6a7ac002e4d8fa56e3dfd7a056f370006fa345f87b4493dc495e1476fa3162966b4452ef13f43dd74c5a5ee69b94ef04c6ded78c", + "file": "projects/arc-lib/src/lib/core/toaster/types.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { InjectionToken } from '@angular/core';\n\nimport { IToaster } from './i-toaster';\n\nexport const TOASTER_SERVICE_KEY = new InjectionToken(\n 'Identifier for ToasterService class'\n);\n\nexport class ToasterConfig {\n /**\n * Determines where on the screen toast have to be rendered.\n * */\n position!: string | ToasterPhysicalPosition;\n /**\n * Status chooses color scheme for the toast.\n * */\n status!: string;\n /**\n * Duration is timeout between toast appears and disappears.\n * */\n timeout!: number;\n /**\n * If preventDuplicates is true\n * then the toast with the same title, message and status will not be rendered.\n * */\n preventDuplicates!: boolean;\n /**\n * CSS Class to be applied to the toast.\n */\n toastClass!: string;\n /**\n * Determines render icon or not.\n * */\n hasIcon!: boolean;\n /**\n * Icon name that can be provided to render custom icon.\n * */\n icon!: string;\n}\n\nexport enum ToasterPhysicalPosition {\n TOP_RIGHT = 'top-right',\n TOP_LEFT = 'top-left',\n BOTTOM_RIGHT = 'bottom-right',\n BOTTOM_LEFT = 'bottom-left',\n}\n", + "properties": [ + { + "name": "hasIcon", + "deprecated": false, + "deprecationMessage": "", + "type": "boolean", + "optional": false, + "description": "

Determines render icon or not.

\n", + "line": 34, + "rawdescription": "\n\nDetermines render icon or not.\n" + }, + { + "name": "icon", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "

Icon name that can be provided to render custom icon.

\n", + "line": 38, + "rawdescription": "\n\nIcon name that can be provided to render custom icon.\n" + }, + { + "name": "position", + "deprecated": false, + "deprecationMessage": "", + "type": "string | ToasterPhysicalPosition", + "optional": false, + "description": "

Determines where on the screen toast have to be rendered.

\n", + "line": 13, + "rawdescription": "\n\nDetermines where on the screen toast have to be rendered.\n" + }, + { + "name": "preventDuplicates", + "deprecated": false, + "deprecationMessage": "", + "type": "boolean", + "optional": false, + "description": "

If preventDuplicates is true\nthen the toast with the same title, message and status will not be rendered.

\n", + "line": 26, + "rawdescription": "\n\nIf preventDuplicates is true\nthen the toast with the same title, message and status will not be rendered.\n" + }, + { + "name": "status", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "

Status chooses color scheme for the toast.

\n", + "line": 17, + "rawdescription": "\n\nStatus chooses color scheme for the toast.\n" + }, + { + "name": "timeout", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": false, + "description": "

Duration is timeout between toast appears and disappears.

\n", + "line": 21, + "rawdescription": "\n\nDuration is timeout between toast appears and disappears.\n" + }, + { + "name": "toastClass", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "

CSS Class to be applied to the toast.

\n", + "line": 30, + "rawdescription": "\n\nCSS Class to be applied to the toast.\n" + } + ], + "methods": [], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "ToasterConfigExt", + "id": "class-ToasterConfigExt-d71c9c68e1882f3e3b29a8cc67cb544e6d16034f693404d23af1cc6843ba4ce4a18cd66dc057f3567ee06657cec1e0647259fc61c40f3a8a44bc165b0dd840e9", + "file": "projects/arc-lib/src/lib/theme/toaster/types.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import {ToasterConfig} from '@project-lib/core/toaster';\nimport {\n NbGlobalLogicalPosition,\n NbGlobalPhysicalPosition,\n} from '@nebular/theme';\n\nexport class ToasterConfigExt extends ToasterConfig {\n override position!: NbGlobalLogicalPosition | NbGlobalPhysicalPosition;\n}\n", + "properties": [ + { + "name": "position", + "deprecated": false, + "deprecationMessage": "", + "type": "NbGlobalLogicalPosition | NbGlobalPhysicalPosition", + "optional": false, + "description": "", + "line": 8, + "modifierKind": [ + 161 + ], + "inheritance": { + "file": "ToasterConfig" + } + }, + { + "name": "hasIcon", + "deprecated": false, + "deprecationMessage": "", + "type": "boolean", + "optional": false, + "description": "

Determines render icon or not.

\n", + "line": 34, + "rawdescription": "\n\nDetermines render icon or not.\n", + "inheritance": { + "file": "ToasterConfig" + } + }, + { + "name": "icon", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "

Icon name that can be provided to render custom icon.

\n", + "line": 38, + "rawdescription": "\n\nIcon name that can be provided to render custom icon.\n", + "inheritance": { + "file": "ToasterConfig" + } + }, + { + "name": "preventDuplicates", + "deprecated": false, + "deprecationMessage": "", + "type": "boolean", + "optional": false, + "description": "

If preventDuplicates is true\nthen the toast with the same title, message and status will not be rendered.

\n", + "line": 26, + "rawdescription": "\n\nIf preventDuplicates is true\nthen the toast with the same title, message and status will not be rendered.\n", + "inheritance": { + "file": "ToasterConfig" + } + }, + { + "name": "status", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "

Status chooses color scheme for the toast.

\n", + "line": 17, + "rawdescription": "\n\nStatus chooses color scheme for the toast.\n", + "inheritance": { + "file": "ToasterConfig" + } + }, + { + "name": "timeout", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": false, + "description": "

Duration is timeout between toast appears and disappears.

\n", + "line": 21, + "rawdescription": "\n\nDuration is timeout between toast appears and disappears.\n", + "inheritance": { + "file": "ToasterConfig" + } + }, + { + "name": "toastClass", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "

CSS Class to be applied to the toast.

\n", + "line": 30, + "rawdescription": "\n\nCSS Class to be applied to the toast.\n", + "inheritance": { + "file": "ToasterConfig" + } + } + ], + "methods": [], + "indexSignatures": [], + "extends": "ToasterConfig", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "TokenResponseModel", + "id": "class-TokenResponseModel-d5d465d508d611ee952456da799a0359d93db9a8cedad0ccca98412fd72ecaf5db32bf61feaca91ea6da174378b02f0f85c89a112d89f34b9288d21983901e6e", + "file": "projects/arc-lib/src/lib/core/auth/models/token-response.model.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "export class TokenResponseModel {\n accessToken!: string;\n refreshToken!: string;\n}\n", + "properties": [ + { + "name": "accessToken", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 2 + }, + { + "name": "refreshToken", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 3 + } + ], + "methods": [], + "indexSignatures": [], + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + }, + { + "name": "VerifyResetPasswordLinkCommand", + "id": "class-VerifyResetPasswordLinkCommand-e84f48a206317a5ee1cc70041aaeaa6ed76a95e8b8703ad2f8ad4fc0aea8b7e964d78dd49dc131a666601aac0f038eb1abe7e3fce36457d8f5dbd48ead08691b", + "file": "projects/arc-lib/src/lib/core/auth/commands/verify-reset-password-link.command.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "class", + "sourceCode": "import { IAdapter, IApiService, PostAPICommand } from '../../api';\n\nexport class VerifyResetPasswordLinkCommand extends PostAPICommand {\n constructor(apiService: IApiService, adapter: IAdapter, appConfig: any) {\n super(\n apiService,\n adapter,\n `${appConfig.baseApiUrl}${appConfig.authServiceUrl}/auth/verify-reset-password-link`\n );\n }\n}\n", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 3, + "jsdoctags": [ + { + "name": "apiService", + "type": "IApiService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "adapter", + "type": "IAdapter", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "appConfig", + "type": "any", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "properties": [ + { + "name": "parameters", + "deprecated": false, + "deprecationMessage": "", + "type": "literal type", + "optional": false, + "description": "", + "line": 19, + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "methods": [ + { + "name": "execute", + "args": [], + "optional": false, + "returnType": "Observable", + "typeParameters": [], + "line": 27, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "PostAPICommand" + } + } + ], + "indexSignatures": [], + "extends": "PostAPICommand", + "inputsClass": [], + "outputsClass": [], + "hostBindings": [], + "hostListeners": [] + } + ], + "directives": [ + { + "name": "ComponentBaseDirective", + "id": "directive-ComponentBaseDirective-25447bb815a1e1ab686cf18ab25eed23d0604fd3ea957ab6f9b505423d39924655f20bc32325b2acab3d6d2a3feca452f530db60366892ce6b782fc38b201301", + "file": "projects/arc-lib/src/lib/core/component-base.ts", + "type": "directive", + "description": "", + "rawdescription": "\n", + "sourceCode": "import { Directive, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: 'app-dir',\n})\nexport class ComponentBaseDirective implements OnDestroy {\n protected _destroy$: Subject = new Subject();\n\n ngOnDestroy() {\n this.clearAllSubscriptions();\n }\n\n clearAllSubscriptions() {\n this._destroy$.next();\n this._destroy$.complete();\n this._destroy$.unsubscribe();\n }\n\n blurActiveElement() {\n (document.activeElement as HTMLButtonElement)?.blur?.();\n }\n}\n", + "selector": "app-dir", + "providers": [], + "hostDirectives": [], + "standalone": false, + "inputsClass": [], + "outputsClass": [], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "propertiesClass": [ + { + "name": "_destroy$", + "defaultValue": "new Subject()", + "deprecated": false, + "deprecationMessage": "", + "type": "Subject", + "optional": false, + "description": "", + "line": 8, + "modifierKind": [ + 122 + ] + } + ], + "methodsClass": [ + { + "name": "blurActiveElement", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 20, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "clearAllSubscriptions", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "ngOnDestroy", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 10, + "deprecated": false, + "deprecationMessage": "" + } + ], + "implements": [ + "OnDestroy" + ] + }, + { + "name": "ResizeDirective", + "id": "directive-ResizeDirective-b5c14df5d3e11d930a639d3af9a1a86d612a85f2bc442d976be9f0f19cf1fa882e093f8850ff3f1735b68aab2800d5b70e0a9492753fe677816fbea6c8fba1b4", + "file": "projects/arc-lib/src/lib/components/resize/resize.directive.ts", + "type": "directive", + "description": "", + "rawdescription": "\n", + "sourceCode": "import {\n Directive,\n ElementRef,\n EventEmitter,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { ComponentBaseDirective } from '../../core/component-base';\nimport { ResizeService } from './resize.service';\nimport { ResizeEvent } from './types';\n\n@Directive({\n selector: '[Resize]',\n})\nexport class ResizeDirective\n extends ComponentBaseDirective\n implements OnInit, OnDestroy\n{\n constructor(private resizeService: ResizeService, private el: ElementRef) {\n super();\n }\n\n @Output()\n Resize = new EventEmitter();\n\n ngOnInit() {\n this.resizeService.observe(this.el.nativeElement);\n this.resizeService.listen(this.el.nativeElement).subscribe((size) => {\n this.Resize.emit(size);\n });\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n this.resizeService.unobserver(this.el.nativeElement);\n }\n}\n", + "selector": "[Resize]", + "providers": [], + "hostDirectives": [], + "standalone": false, + "inputsClass": [], + "outputsClass": [ + { + "name": "Resize", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "line": 25, + "type": "EventEmitter" + } + ], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "propertiesClass": [ + { + "name": "_destroy$", + "defaultValue": "new Subject()", + "deprecated": false, + "deprecationMessage": "", + "type": "Subject", + "optional": false, + "description": "", + "line": 8, + "modifierKind": [ + 122 + ], + "inheritance": { + "file": "ComponentBaseDirective" + } + } + ], + "methodsClass": [ + { + "name": "ngOnDestroy", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 34, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 161 + ], + "inheritance": { + "file": "ComponentBaseDirective" + } + }, + { + "name": "ngOnInit", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 27, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "blurActiveElement", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 20, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "ComponentBaseDirective" + } + }, + { + "name": "clearAllSubscriptions", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "ComponentBaseDirective" + } + } + ], + "extends": "ComponentBaseDirective", + "implements": [ + "OnInit", + "OnDestroy" + ], + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "resizeService", + "type": "ResizeService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "el", + "type": "ElementRef", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 19, + "jsdoctags": [ + { + "name": "resizeService", + "type": "ResizeService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "el", + "type": "ElementRef", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + } + ], + "components": [ + { + "name": "AuthComponent", + "id": "component-AuthComponent-cbff05e06c0578b0126c6021eedce8f75dd114e2e44ed4ba1fa95586d059f7fe262fd5d3ee3816c562a741cc69211604ebb782179f1a27dc324e78da926d93e5", + "file": "projects/arc-lib/src/lib/components/auth/auth.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "auth", + "styleUrls": [ + "./auth.component.scss" + ], + "styles": [], + "templateUrl": [ + "./auth.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [], + "outputsClass": [], + "propertiesClass": [], + "methodsClass": [], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import {Location} from '@angular/common';\nimport {Component} from '@angular/core';\nimport {NbAuthComponent, NbAuthService} from '@nebular/auth';\n\n@Component({\n selector: 'auth',\n templateUrl: './auth.component.html',\n styleUrls: ['./auth.component.scss'],\n})\nexport class AuthComponent extends NbAuthComponent {\n constructor(\n override readonly auth: NbAuthService,\n override readonly location: Location,\n ) {\n super(auth, location);\n }\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": "@import \"@nebular/theme/styles/global/breakpoints\";\n\n:host {\n $auth-layout-padding: 2.5rem;\n\n .login-img {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n }\n\n nb-auth-block {\n max-width: none;\n }\n\n ::ng-deep {\n nb-layout .layout .layout-container .content .columns nb-layout-column {\n padding: $auth-layout-padding;\n\n @include media-breakpoint-down(sm) {\n padding: 0;\n }\n }\n }\n}\n", + "styleUrl": "./auth.component.scss" + } + ], + "stylesData": "", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "auth", + "type": "NbAuthService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "location", + "type": "Location", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 10, + "jsdoctags": [ + { + "name": "auth", + "type": "NbAuthService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "location", + "type": "Location", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "extends": "NbAuthComponent", + "templateData": "\n \n \n \n \n \n \n
\n \n
\n
\n
\n" + }, + { + "name": "BbGanttComponent", + "id": "component-BbGanttComponent-e134801c881c2920d8ac7d41503d90f8a56ae25ed20f5eac22ada042cbcf51b117c68acc4d25de190d37a6a231ceefa7cf4ce0246a2d1cc5a4e07756a38d3748", + "file": "projects/arc-lib/src/lib/components/gantt/components/bb-gantt.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "gantt", + "styleUrls": [ + "./bb-gantt.component.scss" + ], + "styles": [], + "templateUrl": [ + "./bb-gantt.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [ + { + "name": "barComponent", + "defaultValue": "GanttBarsComponent", + "deprecated": false, + "deprecationMessage": "", + "line": 86, + "type": "Type>", + "decorators": [] + }, + { + "name": "childIndent", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "line": 119, + "type": "boolean", + "decorators": [] + }, + { + "name": "columnComponent", + "defaultValue": "GanttColumnComponent", + "deprecated": false, + "deprecationMessage": "", + "line": 83, + "type": "Type>", + "decorators": [] + }, + { + "name": "columnName", + "defaultValue": "'Employee Name'", + "deprecated": false, + "deprecationMessage": "", + "line": 71, + "type": "string", + "decorators": [] + }, + { + "name": "columnWidth", + "defaultValue": "GANTT_COLUMN_WIDTH", + "deprecated": false, + "deprecationMessage": "", + "line": 77, + "type": "any", + "decorators": [] + }, + { + "name": "contextItemFilter", + "deprecated": false, + "deprecationMessage": "", + "line": 53, + "type": "ContextItemFilter", + "decorators": [] + }, + { + "name": "contextItems", + "defaultValue": "[]", + "deprecated": false, + "deprecationMessage": "", + "line": 50, + "type": "NbMenuItem[]", + "decorators": [] + }, + { + "name": "data", + "deprecated": false, + "deprecationMessage": "", + "line": 47, + "type": "T[]", + "decorators": [] + }, + { + "name": "defaultScale", + "defaultValue": "Timelines.Monthly", + "deprecated": false, + "deprecationMessage": "", + "line": 107, + "type": "Timelines", + "decorators": [] + }, + { + "name": "highlightRange", + "deprecated": false, + "deprecationMessage": "", + "line": 101, + "type": "[Date, Date]", + "decorators": [] + }, + { + "name": "markToday", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "line": 116, + "type": "boolean", + "decorators": [] + }, + { + "name": "moveToToday", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "line": 98, + "type": "boolean", + "decorators": [] + }, + { + "name": "resizer", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "line": 80, + "type": "boolean", + "decorators": [] + }, + { + "name": "searchPlaceholder", + "deprecated": false, + "deprecationMessage": "", + "line": 89, + "type": "string", + "decorators": [] + }, + { + "name": "showBorder", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "line": 95, + "type": "boolean", + "decorators": [] + }, + { + "name": "showChildInitials", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "line": 65, + "type": "boolean", + "decorators": [] + }, + { + "name": "showGridBorder", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "line": 110, + "type": "boolean", + "decorators": [] + }, + { + "name": "showKebab", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "line": 74, + "type": "boolean", + "decorators": [] + }, + { + "name": "showOverallocatedIcon", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "line": 104, + "type": "boolean", + "decorators": [] + }, + { + "name": "showParentInitials", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "line": 62, + "type": "boolean", + "decorators": [] + }, + { + "name": "showSearch", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "line": 92, + "type": "boolean", + "decorators": [] + }, + { + "name": "showTooltip", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "line": 113, + "type": "boolean", + "decorators": [] + } + ], + "outputsClass": [ + { + "name": "contextItemClick", + "defaultValue": "new EventEmitter>()", + "deprecated": false, + "deprecationMessage": "", + "line": 56, + "type": "EventEmitter" + }, + { + "name": "event", + "defaultValue": "new EventEmitter>()", + "deprecated": false, + "deprecationMessage": "", + "line": 59, + "type": "EventEmitter" + } + ], + "propertiesClass": [ + { + "name": "contextTemplate", + "deprecated": false, + "deprecationMessage": "", + "type": "TemplateRef", + "optional": false, + "description": "", + "line": 68, + "decorators": [ + { + "name": "ViewChild", + "stringifiedArguments": "'menu', {static: true}" + } + ], + "modifierKind": [ + 167 + ] + }, + { + "name": "ganttContainer", + "deprecated": false, + "deprecationMessage": "", + "type": "ElementRef", + "optional": false, + "description": "", + "line": 44, + "decorators": [ + { + "name": "ViewChild", + "stringifiedArguments": "'gantt', {static: true}" + } + ], + "modifierKind": [ + 167 + ] + }, + { + "name": "viewContainerRef", + "deprecated": false, + "deprecationMessage": "", + "type": "ViewContainerRef", + "optional": false, + "description": "", + "line": 124, + "modifierKind": [ + 123, + 146 + ] + }, + { + "name": "_destroy$", + "defaultValue": "new Subject()", + "deprecated": false, + "deprecationMessage": "", + "type": "Subject", + "optional": false, + "description": "", + "line": 8, + "modifierKind": [ + 122 + ], + "inheritance": { + "file": "ComponentBaseDirective" + } + } + ], + "methodsClass": [ + { + "name": "ngAfterViewInit", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 149, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "ngOnChanges", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 145, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "ngOnDestroy", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 153, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 161 + ], + "inheritance": { + "file": "ComponentBaseDirective" + } + }, + { + "name": "ngOnInit", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 129, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "blurActiveElement", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 20, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "ComponentBaseDirective" + } + }, + { + "name": "clearAllSubscriptions", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "ComponentBaseDirective" + } + } + ], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {AnyObject} from '@project-lib/core/api';\nimport {ComponentBaseDirective} from '@project-lib/core/component-base';\nimport {NbMenuItem, NbMenuService} from '@nebular/theme';\nimport {takeUntil} from 'rxjs';\nimport {GANTT_COLUMN_WIDTH} from '../const';\nimport {GanttService} from '../services';\nimport {\n ContextItemClickEvent,\n ContextItemFilter,\n GanttEvent,\n GanttRenderOptions,\n GanttTaskValue,\n IBarComponent,\n IColumnComponent,\n Timelines,\n} from '../types';\nimport {GanttBarsComponent} from './gantt-bars/gantt-bars.component';\nimport {GanttColumnComponent} from './gantt-column/gantt-column.component';\n\n@Component({\n selector: 'gantt',\n templateUrl: './bb-gantt.component.html',\n styleUrls: ['./bb-gantt.component.scss'],\n})\nexport class BbGanttComponent\n extends ComponentBaseDirective\n implements OnChanges, OnInit, AfterViewInit, OnDestroy, GanttRenderOptions\n{\n @ViewChild('gantt', {static: true}) ganttContainer!: ElementRef;\n\n @Input()\n data!: T[];\n\n @Input()\n contextItems: NbMenuItem[] = [];\n\n @Input()\n contextItemFilter!: ContextItemFilter;\n\n @Output()\n contextItemClick = new EventEmitter>();\n\n @Output()\n event = new EventEmitter>();\n\n @Input()\n showParentInitials = false;\n\n @Input()\n showChildInitials = false;\n\n @ViewChild('menu', {static: true})\n contextTemplate!: TemplateRef;\n\n @Input()\n columnName = 'Employee Name';\n\n @Input()\n showKebab = true;\n\n @Input()\n columnWidth = GANTT_COLUMN_WIDTH;\n\n @Input()\n resizer = true;\n\n @Input()\n columnComponent: Type> = GanttColumnComponent;\n\n @Input()\n barComponent: Type> = GanttBarsComponent;\n\n @Input()\n searchPlaceholder?: string;\n\n @Input()\n showSearch = true;\n\n @Input()\n showBorder = true;\n\n @Input()\n moveToToday = true;\n\n @Input()\n highlightRange!: [Date, Date];\n\n @Input()\n showOverallocatedIcon = true;\n\n @Input()\n defaultScale: Timelines = Timelines.Monthly;\n\n @Input()\n showGridBorder = true;\n\n @Input()\n showTooltip = false;\n\n @Input()\n markToday = true;\n\n @Input()\n childIndent = true;\n\n constructor(\n private readonly ganttSvc: GanttService,\n private readonly menuService: NbMenuService,\n public readonly viewContainerRef: ViewContainerRef,\n ) {\n super();\n }\n\n ngOnInit() {\n this.menuService\n .onItemClick()\n .pipe(takeUntil(this._destroy$))\n .subscribe(event => {\n this.contextItemClick.emit({\n event: event.item,\n task: event.tag as unknown as GanttTaskValue,\n });\n this.ganttSvc.closeContextMenu();\n });\n this.ganttSvc.events.pipe(takeUntil(this._destroy$)).subscribe(event => {\n this.event.emit(event);\n });\n }\n\n ngOnChanges() {\n this.ganttSvc.feed(this.data);\n }\n\n ngAfterViewInit() {\n this.ganttSvc.render(this.ganttContainer, this);\n }\n\n override ngOnDestroy() {\n this.ganttSvc.destroy();\n super.ngOnDestroy();\n }\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": "@use \"sass:map\";\n@import \"projects/arc-lib/src/lib/theme/styles/_variables.scss\";\n//@use \"projects/arc-lib/src/lib/theme/styles/_variables.scss\";\n\n.gantt-container {\n position: relative;\n border-top: 0.063rem solid map.get( $color, gantt-lines);\n height: 100%;\n}\n\n.gantt-menu {\n background-color: map.get($color, light);\n box-shadow: 0px 0.938rem 1.25rem 0px #00000029;\n width: 11.75rem;\n}\n", + "styleUrl": "./bb-gantt.component.scss" + } + ], + "stylesData": "", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "ganttSvc", + "type": "GanttService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "menuService", + "type": "NbMenuService", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "viewContainerRef", + "type": "ViewContainerRef", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 119, + "jsdoctags": [ + { + "name": "ganttSvc", + "type": "GanttService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "menuService", + "type": "NbMenuService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "viewContainerRef", + "type": "ViewContainerRef", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "extends": "ComponentBaseDirective", + "implements": [ + "OnChanges", + "OnInit", + "AfterViewInit", + "OnDestroy", + "GanttRenderOptions" + ], + "templateData": "
\n
\n\n\n\n
\n \n
\n
\n" + }, + { + "name": "ButtonComponent", + "id": "component-ButtonComponent-a53fd738b978780d39fb5fcc9ae4cfe0088e57a1f6ce674862d57dab9192140bd1c05548a9910db0469a431142886e658ff2e761f15781b2ad430e58d64724d0", + "file": "projects/arc-lib/src/stories/button.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "storybook-button", + "styleUrls": [ + "./button.css" + ], + "styles": [], + "template": "", + "templateUrl": [], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [ + { + "name": "backgroundColor", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nWhat background color to use\n", + "description": "

What background color to use

\n", + "line": 28, + "type": "string", + "decorators": [] + }, + { + "name": "label", + "defaultValue": "'Button'", + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "pos": 786, + "end": 799, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 330, + "tagName": { + "pos": 787, + "end": 795, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "required" + }, + "comment": "" + } + ], + "rawdescription": "\n\nButton contents\n\n", + "description": "

Button contents

\n", + "line": 42, + "type": "string", + "decorators": [] + }, + { + "name": "primary", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIs this the principal call to action on the page?\n", + "description": "

Is this the principal call to action on the page?

\n", + "line": 22, + "type": "boolean", + "decorators": [] + }, + { + "name": "size", + "defaultValue": "'medium'", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nHow large should the button be?\n", + "description": "

How large should the button be?

\n", + "line": 34, + "type": "\"small\" | \"medium\" | \"large\"", + "decorators": [] + } + ], + "outputsClass": [ + { + "name": "onClick", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nOptional click handler\n", + "description": "

Optional click handler

\n", + "line": 48, + "type": "EventEmitter" + } + ], + "propertiesClass": [], + "methodsClass": [], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [ + { + "name": "CommonModule", + "type": "module" + } + ], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import { CommonModule } from '@angular/common';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'storybook-button',\n imports: [CommonModule],\n template: ` \n {{ label }}\n `,\n styleUrls: ['./button.css'],\n})\nexport default class ButtonComponent {\n /**\n * Is this the principal call to action on the page?\n */\n @Input()\n primary = false;\n\n /**\n * What background color to use\n */\n @Input()\n backgroundColor?: string;\n\n /**\n * How large should the button be?\n */\n @Input()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Button contents\n *\n * @required\n */\n @Input()\n label = 'Button';\n\n /**\n * Optional click handler\n */\n @Output()\n onClick = new EventEmitter();\n\n public get classes(): string[] {\n const mode = this.primary ? 'storybook-button--primary' : 'storybook-button--secondary';\n\n return ['storybook-button', `storybook-button--${this.size}`, mode];\n }\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": ".storybook-button {\n font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n font-weight: 700;\n border: 0;\n border-radius: 3em;\n cursor: pointer;\n display: inline-block;\n line-height: 1;\n}\n.storybook-button--primary {\n color: white;\n background-color: #1ea7fd;\n}\n.storybook-button--secondary {\n color: #333;\n background-color: transparent;\n box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset;\n}\n.storybook-button--small {\n font-size: 12px;\n padding: 10px 16px;\n}\n.storybook-button--medium {\n font-size: 14px;\n padding: 11px 20px;\n}\n.storybook-button--large {\n font-size: 16px;\n padding: 12px 24px;\n}\n", + "styleUrl": "./button.css" + } + ], + "stylesData": "", + "accessors": { + "classes": { + "name": "classes", + "getSignature": { + "name": "classes", + "type": "[]", + "returnType": "string[]", + "line": 50 + } + } + } + }, + { + "name": "GanttBarsComponent", + "id": "component-GanttBarsComponent-3617a7492f0203252a253712a7aa7670c211214bfbcba88a96f9c1f3e1729a1403e6468d08370cd163588319712f1c2b7a32657360a1f39e414cae962e8e8c1d", + "file": "projects/arc-lib/src/lib/components/gantt/components/gantt-bars/gantt-bars.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "gantt-bars", + "styleUrls": [ + "./gantt-bars.component.scss" + ], + "styles": [], + "templateUrl": [ + "./gantt-bars.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [], + "outputsClass": [], + "propertiesClass": [ + { + "name": "allocationBase", + "defaultValue": "MAX_ALLOCATION", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 20 + }, + { + "name": "allocationTypes", + "defaultValue": "{}", + "deprecated": false, + "deprecationMessage": "", + "type": "any", + "optional": false, + "description": "", + "line": 19 + }, + { + "name": "item", + "deprecated": false, + "deprecationMessage": "", + "type": "GanttTaskValue", + "optional": false, + "description": "", + "line": 18 + }, + { + "name": "translate", + "deprecated": false, + "deprecationMessage": "", + "type": "TranslateService", + "optional": false, + "description": "", + "line": 21, + "modifierKind": [ + 121 + ] + } + ], + "methodsClass": [ + { + "name": "formatAllocation", + "args": [ + { + "name": "allocation", + "type": "number", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "string", + "typeParameters": [], + "line": 33, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "allocation", + "type": "number", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "formatter", + "args": [ + { + "name": "rate", + "type": "number", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "string", + "typeParameters": [], + "line": 29, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "rate", + "type": "number", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "hasSubAllocation", + "args": [ + { + "name": "item", + "type": "GanttTaskValue", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "GanttTaskValueWithSubAllocation", + "typeParameters": [], + "line": 37, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "item", + "type": "GanttTaskValue", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "stringify", + "args": [ + { + "name": "subAllocation", + "type": "SubAllocation", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 26, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "subAllocation", + "type": "SubAllocation", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import {Component} from '@angular/core';\nimport {AnyObject} from '@project-lib/core/api';\nimport {MAX_ALLOCATION} from '@project-lib/core/constants';\nimport {TranslationService} from '@project-lib/core/localization';\nimport {TranslateService} from '@ngx-translate/core';\nimport {\n GanttTaskValue,\n GanttTaskValueWithSubAllocation,\n SubAllocation,\n} from '../../types';\n\n@Component({\n selector: 'gantt-bars',\n templateUrl: './gantt-bars.component.html',\n styleUrls: ['./gantt-bars.component.scss'],\n})\nexport class GanttBarsComponent {\n item!: GanttTaskValue;\n allocationTypes: any = {};\n allocationBase = MAX_ALLOCATION;\n private translate: TranslateService;\n constructor(private translateSvc: TranslationService) {\n this.translate = translateSvc.translate;\n }\n\n stringify(subAllocation: SubAllocation) {\n return JSON.stringify(subAllocation);\n }\n formatter(rate: number) {\n return `$${rate}/${this.translate.instant('hr')}`;\n }\n\n formatAllocation(allocation: number) {\n return `${allocation}${this.translate.instant('h/d')}`;\n }\n\n hasSubAllocation(\n item: GanttTaskValue,\n ): item is GanttTaskValueWithSubAllocation {\n return !!(item as GanttTaskValueWithSubAllocation).subAllocations;\n }\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": "@use \"sass:map\";\n@use \"../../../../theme/styles/variables\" as *;\n@use \"projects/arc-lib/src/lib/theme/styles/_variables.scss\" as *;\n\n.actual-rate {\n padding: 0.25rem 0.5rem;\n border-radius: 0.5rem !important;\n background: map.get($color, light);\n font-weight: map.get($font-weight, bold);\n color: map.get($color, actual-resource-gantt-text);\n font-size: map.get($font-size, medium);\n line-height: 1;\n margin-right: 0.75rem;\n}\n\n.bar-container {\n display: flex;\n flex-grow: 1;\n background: white;\n}\n\n.bar {\n font-family: var(--font-family-primary);\n font-weight: map.get($font-weight, bold);\n font-size: map.get($font-size, default);\n color: map.get($color, dark);\n border-radius: 0.5rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 100%;\n overflow: hidden;\n\n &.actual-bar {\n background: repeating-linear-gradient(305deg,\n map.get($color, actual-resource-gantt-lines),\n map.get($color, actual-resource-gantt-lines) 0.063rem,\n map.get($color, actual-resource-gantt-background) 0.063rem,\n map.get($color, actual-resource-gantt-background) 0.5rem);\n border: 0.063rem solid map.get($color, actual-resource-gantt-lines);\n\n &.closed-won {\n background-color: map.get($color,\n actual-resource-gantt-background) !important;\n }\n\n &.with-suballocations {\n padding: 0;\n border: none;\n overflow: visible;\n }\n\n color: map.get($color, actual-resource-gantt-text);\n }\n\n &.placeholder-bar {\n // background: repeating-linear-gradient(\n // 305deg,\n // map.get($color, placeholder-resource-gantt-lines),\n // map.get($color, placeholder-resource-gantt-lines) 0.063rem,\n // map.get($color, placeholder-resource-gantt-background) 0.063rem,\n // map.get($color, placeholder-resource-gantt-background) 0.5rem\n // );\n background: repeating-linear-gradient(305deg, #0095ff57, #0095ff57 0.063rem, #f7f7f7 0.063rem, #0095ff57 0.5rem);\n border: 0.063rem solid map.get($color, placeholder-resource-gantt-lines);\n padding: 2.5px;\n\n .placeholder_resource_hours {\n margin-left: 0.75rem;\n }\n }\n}\n\n.suballocation-bars {\n width: 100%;\n font-family: var(--font-family-primary);\n font-weight: map.get($font-weight, bold);\n font-size: map.get($font-size, default);\n border-radius: 0.5rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 100%;\n overflow: hidden;\n\n background: repeating-linear-gradient(305deg,\n map.get($color, actual-resource-gantt-lines),\n map.get($color, actual-resource-gantt-lines) 0.063rem,\n map.get($color, actual-resource-gantt-background) 0.063rem,\n map.get($color, actual-resource-gantt-background) 0.5rem);\n border: 0.063rem solid map.get($color, actual-resource-gantt-lines);\n\n color: map.get($color, actual-resource-gantt-text);\n}\n\n.actual-hours {\n margin-left: 0.75rem;\n}\n\n.parent-bar {\n background: map.get($color, light);\n border: none;\n border-radius: 0.5rem;\n text-align: left;\n\n & .actual-hours {\n color: black;\n }\n\n &.filled-parent-bar {\n background: map.get($color, gantt-parent-bar);\n border: 0.063rem solid map.get($color, gantt-parent-bar-border);\n }\n\n .gantt_split_parent {\n opacity: 1;\n display: none;\n }\n}\n\n.parent-allocations-container {\n width: 100%;\n}\n\n.parent-allocation-bar {\n padding: 0;\n border: 0;\n overflow: visible;\n}\n\n.arrow {\n font-size: map.get($font-size, large);\n font-weight: map.get($font-weight, light);\n vertical-align: middle;\n}\n\n.over-allocated {\n background: map.get($color, warning-banner) !important;\n border: 0.063rem solid map.get($color, overallocated-gantt-border) !important;\n\n .actual-hours {\n color: map.get($color, overallocated);\n }\n\n .actual-rate {\n color: map.get($color, overallocated);\n }\n}\n\n.overallocated-container {\n display: flex;\n color: map.get($color, warning);\n margin: 0rem 0.438rem;\n font-size: map.get($font-size, small);\n}\n\n.empty {\n visibility: hidden;\n}", + "styleUrl": "./gantt-bars.component.scss" + } + ], + "stylesData": "", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "translateSvc", + "type": "TranslationService", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 21, + "jsdoctags": [ + { + "name": "translateSvc", + "type": "TranslationService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "templateData": "\n \n
\n
\n {{ formatAllocation(item.allocation) }}\n
\n
\n
\n \n \n \n {{ formatAllocation(item.allocation) }}\n \n \n {{ formatter(item.payload?.['billingRate']) }}\n \n
\n \n allocationBase\"\n >\n
\n {{\n formatAllocation(\n allocationBar[\"allocatedHours\"] ?? allocationBar.allocation\n )\n }}\n
\n allocationBase\"\n class=\"overallocated-container\"\n >\n
\n
\n {{\n formatAllocation(allocationBar.allocation - allocationBase)\n }}\n
\n
\n
\n {{ formatter(item.payload[\"billingRate\"]) }}\n
\n \n
\n \n \n \n\n" + }, + { + "name": "GanttColumnComponent", + "id": "component-GanttColumnComponent-082469eb43133a18d9694d4fdc5aba1301ddcf1a74cf315e7ffda97923884ccb9a1ffb47bea7f8ca0ce173547e3edb3e9e75e4d094ecd900f015bbe3f91a614c", + "file": "projects/arc-lib/src/lib/components/gantt/components/gantt-column/gantt-column.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "gantt-column", + "styleUrls": [ + "./gantt-column.component.scss" + ], + "styles": [], + "templateUrl": [ + "./gantt-column.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [ + { + "name": "active", + "deprecated": false, + "deprecationMessage": "", + "line": 25, + "type": "boolean", + "decorators": [] + }, + { + "name": "contextItemFilter", + "deprecated": false, + "deprecationMessage": "", + "line": 40, + "type": "ContextItemFilter", + "decorators": [] + }, + { + "name": "contextItems", + "defaultValue": "[]", + "deprecated": false, + "deprecationMessage": "", + "line": 22, + "type": "NbMenuItem[]", + "decorators": [] + }, + { + "name": "item", + "deprecated": false, + "deprecationMessage": "", + "line": 19, + "type": "GanttTaskValue", + "decorators": [] + }, + { + "name": "showChildInitials", + "deprecated": false, + "deprecationMessage": "", + "line": 34, + "type": "boolean", + "decorators": [] + }, + { + "name": "showKebab", + "deprecated": false, + "deprecationMessage": "", + "line": 28, + "type": "boolean", + "decorators": [] + }, + { + "name": "showOverallocatedIcon", + "deprecated": false, + "deprecationMessage": "", + "line": 37, + "type": "boolean", + "decorators": [] + }, + { + "name": "showParentInitials", + "deprecated": false, + "deprecationMessage": "", + "line": 31, + "type": "boolean", + "decorators": [] + } + ], + "outputsClass": [], + "propertiesClass": [], + "methodsClass": [ + { + "name": "ngOnInit", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 15, + "deprecated": false, + "deprecationMessage": "" + } + ], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import {Component, Input} from '@angular/core';\nimport {AnyObject} from '@project-lib/core/api';\nimport {NbMenuItem} from '@nebular/theme';\nimport {ContextItemFilter, GanttTaskValue} from '../../types';\n\n@Component({\n selector: 'gantt-column',\n templateUrl: './gantt-column.component.html',\n styleUrls: ['./gantt-column.component.scss'],\n})\nexport class GanttColumnComponent {\n// // item :GanttTaskValue = {\n\n// }\n ngOnInit(){\n console.log(this.item);\n }\n @Input()\n item!: GanttTaskValue;\n\n @Input()\n contextItems: NbMenuItem[] = [];\n\n @Input()\n active!: boolean;\n\n @Input()\n showKebab!: boolean;\n\n @Input()\n showParentInitials!: boolean;\n\n @Input()\n showChildInitials!: boolean;\n\n @Input()\n showOverallocatedIcon!: boolean;\n\n @Input()\n contextItemFilter!: ContextItemFilter;\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": "// @use \"../../../../theme/styles/variables\" as *;\n@use \"projects/arc-lib/src/lib/theme/styles/_variables.scss\" as *;\n@use \"sass:map\";\n\n.column-container {\n width: 320px;\n\n .up-down-icon {\n display: flex;\n flex-flow: column;\n justify-content: right;\n align-items: end;\n border: 1px solid #cfcecec4;\n\n nb-icon:nth-child(1) {\n height: 30px !important;\n transform: rotate(180deg);\n }\n\n nb-icon:nth-child(2) {\n height: 30px !important;\n transform: rotate(360deg);\n }\n }\n\n .kebab-container {\n position: absolute;\n background: linear-gradient(269.92deg,\n rgba(253, 254, 255, 0.98) 55.46%,\n rgba(253, 254, 255, 0.735) 74.95%,\n rgba(253, 254, 255, 0) 105.92%);\n right: 2%;\n opacity: 0;\n transition: opacity 0.2s ease-in;\n height: 100%;\n\n .kebab {\n padding: 0 2rem;\n }\n }\n\n &:hover,\n &.active {\n .kebab-container {\n opacity: 1;\n }\n }\n\n .expand {\n height: 100%;\n margin: 0 0.5rem;\n }\n\n .employee-icon {\n min-width: 2.375rem;\n height: 2.375rem;\n border-radius: 50%;\n background: map.get($color, \"menu-item-active\");\n color: map.get($font, \"primary\");\n display: flex;\n margin: auto 0rem;\n line-height: 2.175rem;\n\n &>div {\n margin: auto;\n }\n }\n\n .with-designation {\n overflow: hidden;\n flex-grow: 1;\n height: 2.175rem;\n margin: auto 0rem;\n line-height: 1;\n padding: 0 1.102rem;\n font-size: map.get($font-size, default);\n justify-content: space-between;\n display: flex;\n flex-direction: column;\n max-width: 60%;\n\n &>.name {\n font-weight: map.get($font-weight, light);\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &>.designation {\n font-weight: map.get($font-weight, light);\n color: map.get($color, gantt-subtitle);\n font-size: map.get($font-size, medium);\n line-height: 1rem;\n white-space: nowrap;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n\n .without-designation {\n overflow: hidden;\n flex-grow: 1;\n height: 2.175rem;\n margin: auto;\n line-height: 2;\n padding: 0 0.2rem;\n font-size: map.get($font-size, default);\n justify-content: space-between;\n display: flex;\n flex-direction: column;\n\n &>.name {\n font-weight: map.get($font-weight, bold);\n }\n }\n\n .overallocation_icon {\n position: absolute;\n right: 20%;\n\n &>.icon {\n height: 1.25rem;\n width: 1.25rem;\n }\n }\n\n .overallocation_icon div {\n display: none;\n background-color: map.get($color, black-color) !important;\n color: map.get($font, light);\n border-radius: 0.5rem;\n position: absolute;\n z-index: 1;\n font-size: 0.75rem;\n right: -4.063rem;\n top: -0.313rem;\n }\n\n .overallocation_icon:hover div {\n display: flex;\n line-height: 1;\n padding: 0.75rem 1rem;\n }\n\n .inner-list {\n display: flex;\n align-items: center;\n border: 1px solid #cfcecec4;\n padding: 10px;\n\n .with-designation {\n .name {\n margin-top: 10px;\n }\n\n }\n }\n}", + "styleUrl": "./gantt-column.component.scss" + } + ], + "stylesData": "", + "templateData": "
\n
\n \n \n
\n
\n
\n
{{ item.name?.charAt(0)?.toUpperCase() }}
\n
\n
\n
{{ item.name }}
\n
\n {{ item.subtitle }}\n
\n
\n
\n
This resource is over allocated
\n \n
\n
\n \n
\n
\n
\n\n\n\n\n" + }, + { + "name": "GanttHeaderComponent", + "id": "component-GanttHeaderComponent-185725e8a1aa5da146126cea417c03049b1cf76eead33eef088777716e2d4ffea67d84f2871ad838a04929c45f68b6dfd6101172fd26cbcd540b7c987ab265a1", + "file": "projects/arc-lib/src/lib/components/gantt/components/gantt-header/gantt-header.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "gantt-header", + "styleUrls": [ + "./gantt-header.component.scss" + ], + "styles": [], + "templateUrl": [ + "./gantt-header.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [ + { + "name": "desc", + "deprecated": false, + "deprecationMessage": "", + "line": 10, + "type": "boolean", + "decorators": [] + }, + { + "name": "name", + "deprecated": false, + "deprecationMessage": "", + "line": 13, + "type": "string", + "decorators": [] + }, + { + "name": "searchPlaceholder", + "defaultValue": "'Enter your search here'", + "deprecated": false, + "deprecationMessage": "", + "line": 15, + "type": "string", + "decorators": [] + }, + { + "name": "showSearch", + "deprecated": false, + "deprecationMessage": "", + "line": 18, + "type": "boolean", + "decorators": [] + } + ], + "outputsClass": [], + "propertiesClass": [], + "methodsClass": [], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gantt-header',\n templateUrl: './gantt-header.component.html',\n styleUrls: ['./gantt-header.component.scss'],\n})\nexport class GanttHeaderComponent {\n @Input()\n desc!: boolean;\n\n @Input()\n name?: string;\n\n @Input() searchPlaceholder = 'Enter your search here';\n\n @Input()\n showSearch!: boolean;\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": "// @use \"../../../../theme/styles/variables\" as *;\n@use \"projects/arc-lib/src/lib/theme/styles/_variables.scss\" as *;\n@use \"sass:map\";\n\n.header-container {\n line-height: 1;\n width: 100%;\n display: flex;\n flex-direction: column;\n\n .search-bar {\n display: flex;\n justify-content: space-between;\n padding: 0 0.5rem 17px 0.5rem;\n border-bottom: 0.063rem solid map.get($color, gantt-lines);\n\n nb-form-field {\n flex-grow: 1;\n }\n\n input {\n padding: 7px 35px;\n border: 1px solid #ccc;\n border-radius: 7px;\n width: 400px;\n }\n\n .search-icon {\n height: 20px;\n margin-right: -35px;\n display: block\n }\n\n nb-icon[icon=\"menu-arrow-outline\"] {\n height: 100%;\n margin: 0 1rem;\n cursor: pointer;\n color: map.get($color, currency-tags);\n width: 1.059rem;\n left: 20.83%;\n right: 8.33%;\n top: 20.83%;\n bottom: 70.83%;\n }\n }\n\n .title-bar {\n align-items: center;\n flex-grow: 1;\n font-family: $main-font-family;\n font-size: map.get($font-size, small);\n text-transform: uppercase;\n padding: 0 0.3rem;\n display: flex;\n position: absolute;\n top: 21px;\n left: 27.5%;\n flex-direction: row-reverse;\n gap: 15px;\n margin-top: 5px;\n\n .sort {\n\n &>nb-icon {\n cursor: pointer;\n margin: -0.313rem;\n height: 22px;\n color: #000000bf;\n\n\n }\n\n\n\n .status-primary {\n transform: rotate(270deg);\n height: 30px;\n }\n\n .status-default {\n transform: rotate(270deg);\n height: 30px;\n }\n }\n }\n\n nb-form-field nb-icon {\n color: map.get($color, icon);\n }\n}", + "styleUrl": "./gantt-header.component.scss" + } + ], + "stylesData": "", + "templateData": "
\n
\n \n \n \n \n \n
\n
\n
{{ name }}
\n
\n \n \n
\n
\n
\n" + }, + { + "name": "GanttTooltipComponent", + "id": "component-GanttTooltipComponent-a69bfe33576d617f388b9c7b9af53ab17da0ee659e77e927cd037203b4ac261d4abf813ed25dffaf87c2578457839f97a804f80488fc3ef30764f3337ae415f0", + "file": "projects/arc-lib/src/lib/components/gantt/components/gantt-tooltip/gantt-tooltip.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "gantt-tooltip", + "styleUrls": [ + "./gantt-tooltip.component.scss" + ], + "styles": [], + "templateUrl": [ + "./gantt-tooltip.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [], + "outputsClass": [], + "propertiesClass": [ + { + "name": "item", + "deprecated": false, + "deprecationMessage": "", + "type": "SubAllocation", + "optional": false, + "description": "", + "line": 12 + }, + { + "name": "maxAllocation", + "defaultValue": "MAX_ALLOCATION", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 13 + } + ], + "methodsClass": [ + { + "name": "formatAllocation", + "args": [ + { + "name": "allocation", + "type": "number", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "string", + "typeParameters": [], + "line": 25, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "allocation", + "type": "number", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "formatDate", + "args": [ + { + "name": "date", + "type": "Date", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 17, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "date", + "type": "Date", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "formatter", + "args": [ + { + "name": "rate", + "type": "number", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "string", + "typeParameters": [], + "line": 21, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "rate", + "type": "number", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import {Component} from '@angular/core';\nimport {MAX_ALLOCATION} from '@project-lib/core/constants';\nimport {TranslateService} from '@ngx-translate/core';\nimport {SubAllocation} from '../../types';\n\n@Component({\n selector: 'gantt-tooltip',\n templateUrl: './gantt-tooltip.component.html',\n styleUrls: ['./gantt-tooltip.component.scss'],\n})\nexport class GanttTooltipComponent {\n item!: SubAllocation;\n maxAllocation = MAX_ALLOCATION;\n\n constructor(private translate: TranslateService) {}\n\n formatDate(date: Date) {\n return date? new Date(date):new Date();\n }\n\n formatter(rate: number) {\n return `$${rate}/${this.translate.instant('hr')}`;\n }\n\n formatAllocation(allocation: number) {\n return `${allocation}${this.translate.instant('h/d')}`;\n }\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": "@use \"../../../../theme/styles/variables\" as *;\n@use \"sass:map\";\n\n.gantt-tooltip {\n background-color: map.get($color, dark);\n box-shadow: 0 0.25rem 0.375rem map.get($color, tooltip-box-shadow);\n padding: 1.488rem;\n border-radius: 0.5rem;\n font-family: var(--font-family-primary);\n font-weight: map.get($font-weight, light);\n font-size: map.get($font-size, default);\n width: 25rem;\n max-height: 20rem;\n overflow-y: auto;\n}\n\n.gantt-tooltip::-webkit-scrollbar {\n width: 0.5rem !important;\n height: 0.5rem !important;\n overflow-x: visible;\n}\n\n.gantt-tooltip::-webkit-scrollbar-thumb {\n background: map.get($color, border-disable) !important;\n border-radius: 1.25rem !important;\n height: 13.18rem !important;\n}\n\n.gantt-tooltip .key {\n display: flex;\n line-height: 2.5rem;\n\n >div:first-child {\n color: white;\n width: 12rem;\n font-weight: bold;\n }\n\n >div:last-child {\n font-weight: map.get($font-weight, bold);\n font-size: map.get($font-size, large);\n color: map.get($color, light);\n width: 20rem;\n text-align: right;\n }\n}\n\n.deals {\n font-weight: map.get($font-weight, bold);\n font-size: map.get($font-size, large);\n color: map.get($color, light);\n}\n\nhr {\n background-color: map.get($font, tooltip-text);\n margin: auto;\n}\n\n.over-allocated {\n display: flex;\n color: map.get($font, tooltip-overallocated-text) !important;\n\n >div:first-child {\n text-align: right;\n width: 100%;\n }\n}\n\n.arrow {\n font-size: 1.25rem !important;\n}\n\n.overallocated-hours {\n color: map.get($font, tooltip-overallocated-text) !important;\n padding-right: 2rem;\n}\n\n.deal-name {\n text-decoration: underline;\n width: 24rem !important;\n color: map.get($color, light) !important;\n font-weight: map.get($font-weight, bold);\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n padding-left: 1rem;\n}", + "styleUrl": "./gantt-tooltip.component.scss" + } + ], + "stylesData": "", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "translate", + "type": "TranslateService", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 13, + "jsdoctags": [ + { + "name": "translate", + "type": "TranslateService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "templateData": "
\n
\n
Start Date
\n
\n {{ formatDate(item.startDate) | date : \"dd/MM/YYYY\" }}\n
\n
\n
\n
End Date
\n
\n {{ formatDate(item.endDate) | date : \"dd/MM/YYYY\" }}\n
\n
\n
\n
Hourly Rate Charged
\n
{{ formatter(item.billingRate!) }}
\n
\n
\n
Allocated Hours
\n
{{ formatAllocation(item.allocatedHours) }}
\n
\n
\n
\n
Current Allocations
\n
maxAllocation ? 'over-allocated' : ''\">\n
maxAllocation\">\n \n \n {{ formatAllocation(item.allocation - maxAllocation) }}\n \n
\n
\n {{ formatAllocation(item.allocation) }}\n
\n
\n
\n
\n
{{ deal.name }}
\n
{{ formatAllocation(deal.allocatedHours) }}
\n
\n
\n" + }, + { + "name": "HeaderComponent", + "id": "component-HeaderComponent-3d494fd89671305c6be07de00e019efdf08f2e36c2169e5fb75a5acdb2841da927e3ef3cbd21cc18f478373a784b1fb90e8b63b9df4b3498a75b652bd9c37b38", + "file": "projects/arc-lib/src/stories/header.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "storybook-header", + "styleUrls": [ + "./header.css" + ], + "styles": [], + "template": "
\n
\n \n \n \n \n \n \n \n

Acme

\n
\n
\n
\n \n Welcome, {{ user.name }}!\n \n \n
\n
\n \n \n
\n
\n
\n
", + "templateUrl": [], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [ + { + "name": "user", + "defaultValue": "null", + "deprecated": false, + "deprecationMessage": "", + "line": 65, + "type": "User | null", + "decorators": [] + } + ], + "outputsClass": [ + { + "name": "onCreateAccount", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "line": 74, + "type": "EventEmitter" + }, + { + "name": "onLogin", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "line": 68, + "type": "EventEmitter" + }, + { + "name": "onLogout", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "line": 71, + "type": "EventEmitter" + } + ], + "propertiesClass": [], + "methodsClass": [], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport type { User } from './User';\n\n@Component({\n selector: 'storybook-header',\n template: `
\n
\n
\n \n \n \n \n \n \n \n

Acme

\n
\n
\n
\n \n Welcome, {{ user.name }}!\n \n \n
\n
\n \n \n
\n
\n
\n
`,\n styleUrls: ['./header.css'],\n})\nexport default class HeaderComponent {\n @Input()\n user: User | null = null;\n\n @Output()\n onLogin = new EventEmitter();\n\n @Output()\n onLogout = new EventEmitter();\n\n @Output()\n onCreateAccount = new EventEmitter();\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": ".storybook-header {\n font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n padding: 15px 20px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.storybook-header svg {\n display: inline-block;\n vertical-align: top;\n}\n\n.storybook-header h1 {\n font-weight: 700;\n font-size: 20px;\n line-height: 1;\n margin: 6px 0 6px 10px;\n display: inline-block;\n vertical-align: top;\n}\n\n.storybook-header button + button {\n margin-left: 10px;\n}\n\n.storybook-header .welcome {\n color: #333;\n font-size: 14px;\n margin-right: 10px;\n}\n", + "styleUrl": "./header.css" + } + ], + "stylesData": "" + }, + { + "name": "ListComponent", + "id": "component-ListComponent-3f5ab0f7af740f15c1aba70e922e578f29b7e5c7af27cde23b0601249d9ed75413d4cbe3888d48bab88572376d1283324fce60a9a4d5595ed2be701e7b70490e", + "file": "projects/arc-lib/src/lib/components/selector/list/list.component.ts", + "changeDetection": "ChangeDetectionStrategy.OnPush", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "list", + "styleUrls": [ + "./list.component.scss" + ], + "styles": [], + "templateUrl": [ + "./list.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [ + { + "name": "addTagString", + "defaultValue": "'createANewTag'", + "deprecated": false, + "deprecationMessage": "", + "line": 101, + "type": "string", + "decorators": [] + }, + { + "name": "allowInput", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIndicates whether custom the input is allowed.\n", + "description": "

Indicates whether custom the input is allowed.

\n", + "line": 111, + "type": "boolean", + "decorators": [] + }, + { + "name": "disabledField", + "defaultValue": "'deleted' as keyof InputType", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe field to show disabled items in the list\n", + "description": "

The field to show disabled items in the list

\n", + "line": 60, + "type": "", + "decorators": [] + }, + { + "name": "groupConfig", + "defaultValue": "[]", + "deprecated": false, + "deprecationMessage": "", + "line": 148, + "type": "GroupConfig[]", + "decorators": [] + }, + { + "name": "idField", + "defaultValue": "'id' as IdField", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe field in the data item that uniquely identifies it.\n", + "description": "

The field in the data item that uniquely identifies it.

\n", + "line": 54, + "type": "IdField", + "decorators": [] + }, + { + "name": "itemHeight", + "defaultValue": "ITEM_HEIGHT", + "deprecated": false, + "deprecationMessage": "", + "line": 64, + "type": "any", + "decorators": [] + }, + { + "name": "multiple", + "defaultValue": "false as MultipleMode", + "deprecated": false, + "deprecationMessage": "", + "line": 68, + "type": "MultipleMode", + "decorators": [] + }, + { + "name": "nameField", + "defaultValue": "'name' as keyof InputType", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe name of the field in the generic type T that contains the name of the\nitem to display. This is used to read the name of each item in the list.\n", + "description": "

The name of the field in the generic type T that contains the name of the\nitem to display. This is used to read the name of each item in the list.

\n", + "line": 48, + "type": "", + "decorators": [] + }, + { + "name": "noDataText", + "defaultValue": "'noDataLbl'", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe text to display when no data is available\n", + "description": "

The text to display when no data is available

\n", + "line": 97, + "type": "string", + "decorators": [] + }, + { + "name": "noSearchResultText", + "defaultValue": "'noResultLbl'", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThis is the search result text to be displayed when no search result is found.\n", + "description": "

This is the search result text to be displayed when no search result is found.

\n", + "line": 91, + "type": "string", + "decorators": [] + }, + { + "name": "options", + "defaultValue": "[]", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe list of items to display.\n", + "description": "

The list of items to display.

\n", + "line": 41, + "type": "InputType[]", + "decorators": [] + }, + { + "name": "removal", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe removal input is a boolean value that determines whether or not the\ncomponent should be rendered in removal mode\n", + "description": "

The removal input is a boolean value that determines whether or not the\ncomponent should be rendered in removal mode

\n", + "line": 81, + "type": "boolean", + "decorators": [] + }, + { + "name": "search", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nWhether to show the search box.\n", + "description": "

Whether to show the search box.

\n", + "line": 74, + "type": "boolean", + "decorators": [] + }, + { + "name": "searchPlaceholder", + "defaultValue": "'search'", + "deprecated": false, + "deprecationMessage": "", + "line": 85, + "type": "string", + "decorators": [] + }, + { + "name": "selections", + "deprecated": false, + "deprecationMessage": "", + "line": 114, + "type": "SelectionModel", + "decorators": [] + }, + { + "name": "selectOnEnter", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "line": 105, + "type": "boolean", + "decorators": [] + }, + { + "name": "showIcon", + "deprecated": false, + "deprecationMessage": "", + "line": 145, + "type": "boolean", + "decorators": [] + } + ], + "outputsClass": [ + { + "name": "closed", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nEmits a value of true when the user clicks the close button.\n", + "description": "

Emits a value of true when the user clicks the close button.

\n", + "jsdoctags": [ + { + "pos": 2776, + "end": 2858, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 330, + "tagName": { + "pos": 2777, + "end": 2788, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "description" + }, + "comment": "

Emits a value of true when the user clicks the close button.

\n" + } + ], + "line": 121, + "type": "EventEmitter" + }, + { + "name": "remove", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "line": 132, + "type": "EventEmitter" + }, + { + "name": "toggle", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nEmits the selected value when the user toggles an option.\n", + "description": "

Emits the selected value when the user toggles an option.

\n", + "jsdoctags": [ + { + "pos": 2988, + "end": 3051, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 344, + "tagName": { + "pos": 2989, + "end": 2994, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "

The value of the option that the user toggled.

\n", + "name": { + "pos": 2995, + "end": 3000, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "value" + }, + "isNameFirst": true, + "isBracketed": false + } + ], + "line": 128, + "type": "EventEmitter" + } + ], + "propertiesClass": [ + { + "name": "groupIndexMap", + "defaultValue": "{}", + "deprecated": false, + "deprecationMessage": "", + "type": "Record", + "optional": false, + "description": "", + "line": 149 + }, + { + "name": "removed", + "deprecated": false, + "deprecationMessage": "", + "type": "Set", + "optional": false, + "description": "", + "line": 142 + }, + { + "name": "searchControl", + "deprecated": false, + "deprecationMessage": "", + "type": "UntypedFormControl", + "optional": false, + "description": "", + "line": 141 + }, + { + "name": "searchInput", + "deprecated": false, + "deprecationMessage": "", + "type": "ElementRef", + "optional": false, + "description": "", + "line": 135, + "decorators": [ + { + "name": "ViewChild", + "stringifiedArguments": "'searchInput'" + } + ], + "modifierKind": [ + 167 + ] + }, + { + "name": "viewport", + "deprecated": false, + "deprecationMessage": "", + "type": "CdkVirtualScrollViewport", + "optional": false, + "description": "", + "line": 138, + "decorators": [ + { + "name": "ViewChild", + "stringifiedArguments": "CdkVirtualScrollViewport" + } + ], + "modifierKind": [ + 167 + ] + }, + { + "name": "visibleList", + "defaultValue": "[]", + "deprecated": false, + "deprecationMessage": "", + "type": "InputType[]", + "optional": false, + "description": "", + "line": 140 + } + ], + "methodsClass": [ + { + "name": "enterOnSearch", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 240, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIf the user presses enter on the search box, and there are items in the list, select the first item\nin the list\n", + "description": "

If the user presses enter on the search box, and there are items in the list, select the first item\nin the list

\n" + }, + { + "name": "getName", + "args": [ + { + "name": "item", + "type": "InputType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "string", + "typeParameters": [], + "line": 201, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nGet the name of the item by getting the value of the name field of the item.\n", + "description": "

Get the name of the item by getting the value of the name field of the item.

\n", + "jsdoctags": [ + { + "name": { + "pos": 4924, + "end": 4928, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "item" + }, + "type": "InputType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 4906, + "end": 4911, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • InputType - the item that we're getting the name of
  • \n
\n", + "typeExpression": { + "pos": 4912, + "end": 4923, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 4913, + "end": 4922, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 4913, + "end": 4922, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "InputType" + } + } + } + }, + { + "tagName": { + "pos": 4989, + "end": 4996, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "returns" + }, + "comment": "

The name of the item.

\n" + } + ] + }, + { + "name": "isPlaceholder", + "args": [ + { + "name": "item", + "type": "InputType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "boolean", + "typeParameters": [], + "line": 227, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIf the id of the item is a string and it's equal to the placeholder item, then return true.\nOtherwise, return false\n", + "description": "

If the id of the item is a string and it's equal to the placeholder item, then return true.\nOtherwise, return false

\n", + "jsdoctags": [ + { + "name": { + "pos": 5762, + "end": 5766, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "item" + }, + "type": "InputType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 5744, + "end": 5749, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • InputType - the item to check
  • \n
\n", + "typeExpression": { + "pos": 5750, + "end": 5761, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 5751, + "end": 5760, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 5751, + "end": 5760, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "InputType" + } + } + } + }, + { + "tagName": { + "pos": 5805, + "end": 5812, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "returns" + }, + "comment": "

A boolean value.

\n" + } + ] + }, + { + "name": "ngAfterViewInit", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 172, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nAfter the view is initialized, if the searchInput exists, focus on it.\n", + "description": "

After the view is initialized, if the searchInput exists, focus on it.

\n" + }, + { + "name": "ngOnChanges", + "args": [ + { + "name": "changes", + "type": "SimpleChanges", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 179, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "changes", + "type": "SimpleChanges", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "ngOnInit", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 153, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt initializes the removed set, the visible list, and the search control\n", + "description": "

It initializes the removed set, the visible list, and the search control

\n" + }, + { + "name": "removeItem", + "args": [ + { + "name": "item", + "type": "InputType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 209, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt removes an item from the list, emits an event, and then checks if the list is empty\n", + "description": "

It removes an item from the list, emits an event, and then checks if the list is empty

\n", + "jsdoctags": [ + { + "name": { + "pos": 5235, + "end": 5239, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "item" + }, + "type": "InputType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 5217, + "end": 5222, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • InputType - the item to be removed from the list
  • \n
\n", + "typeExpression": { + "pos": 5223, + "end": 5234, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 5224, + "end": 5233, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 5224, + "end": 5233, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "InputType" + } + } + } + } + ] + }, + { + "name": "sortByGroups", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 246, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "toggleItem", + "args": [ + { + "name": "item", + "type": "InputType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 189, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe function takes an item of type T, and emits an event with the item as the payload\n", + "description": "

The function takes an item of type T, and emits an event with the item as the payload

\n", + "jsdoctags": [ + { + "name": { + "pos": 4637, + "end": 4641, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "item" + }, + "type": "InputType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 4619, + "end": 4624, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • InputType - the item that was clicked
  • \n
\n", + "typeExpression": { + "pos": 4625, + "end": 4636, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 4626, + "end": 4635, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 4626, + "end": 4635, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "InputType" + } + } + } + } + ] + } + ], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import { SelectionModel } from '@angular/cdk/collections';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n\nimport { NbFormFieldModule, NbListModule } from '@nebular/theme';\nimport { ITEM_HEIGHT, PLACEHOLDER_ITEM } from '../constants';\nimport { GroupConfig } from '../types';\n\n@Component({\n selector: 'list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ListComponent<\n InputType,\n MultipleMode extends boolean,\n Value extends InputType[IdField],\n IdField extends keyof InputType,\n> implements OnInit, AfterViewInit, OnChanges {\n constructor(private _cdr: ChangeDetectorRef) { }\n /**\n * The list of items to display.\n */\n @Input()\n options?: InputType[] = [];\n\n /**\n * The name of the field in the generic type T that contains the name of the\n * item to display. This is used to read the name of each item in the list.\n */\n @Input()\n nameField: keyof InputType = 'name' as keyof InputType;\n\n /**\n * The field in the data item that uniquely identifies it.\n */\n @Input()\n idField: IdField = 'id' as IdField;\n\n /**\n * The field to show disabled items in the list\n */\n @Input()\n disabledField: keyof InputType = 'deleted' as keyof InputType;\n\n /* height of the each items in the list. */\n @Input()\n itemHeight = ITEM_HEIGHT;\n\n /* A boolean that is used to determine if the user can select multiple items in the list. */\n @Input()\n multiple: MultipleMode = false as MultipleMode;\n\n /**\n * Whether to show the search box.\n */\n @Input()\n search = true;\n\n /**\n * The removal input is a boolean value that determines whether or not the\n * component should be rendered in removal mode\n */\n @Input()\n removal = false;\n\n /* Placeholder for the search input */\n @Input()\n searchPlaceholder = 'search';\n\n /**\n * This is the search result text to be displayed when no search result is found.\n */\n @Input()\n noSearchResultText = 'noResultLbl';\n\n /**\n * The text to display when no data is available\n */\n @Input()\n noDataText = 'noDataLbl';\n\n /* label to show to add a custom item in the dropdown */\n @Input()\n addTagString = 'createANewTag';\n\n /* When the user presses enter while searching, the first item visible is selected */\n @Input()\n selectOnEnter = true;\n\n /**\n * Indicates whether custom the input is allowed.\n */\n @Input()\n allowInput = false;\n\n @Input()\n selections!: SelectionModel;\n\n /**\n * @description\n * Emits a value of true when the user clicks the close button.\n */\n @Output()\n closed = new EventEmitter();\n\n /**\n * Emits the selected value when the user toggles an option.\n * @param value The value of the option that the user toggled.\n */\n @Output()\n toggle = new EventEmitter();\n\n /* Emits an event when an item is removed */\n @Output()\n remove = new EventEmitter();\n\n @ViewChild('searchInput')\n searchInput!: ElementRef;\n\n @ViewChild(CdkVirtualScrollViewport)\n viewport!: CdkVirtualScrollViewport;\n\n visibleList: InputType[] = [];\n searchControl!: UntypedFormControl;\n removed!: Set;\n\n @Input()\n showIcon!: boolean;\n\n @Input()\n groupConfig?: GroupConfig[] = [];\n groupIndexMap: Record = {};\n /**\n * It initializes the removed set, the visible list, and the search control\n */\n ngOnInit(): void {\n this.removed = new Set();\n this.visibleList = Object.assign([], this.options);\n this.sortByGroups();\n this.searchControl = new UntypedFormControl();\n this.searchControl.valueChanges.subscribe(value => {\n this.visibleList =\n this.options?.filter(\n item =>\n !value ||\n this.getName(item).toLowerCase().includes(value.toLowerCase()),\n ) ?? [];\n this.sortByGroups();\n });\n }\n\n /**\n * After the view is initialized, if the searchInput exists, focus on it.\n */\n ngAfterViewInit(): void {\n if (this.searchInput) {\n this.searchInput.nativeElement.focus();\n this._cdr.detectChanges();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['options']) {\n this.visibleList = Object.assign([], this.options);\n }\n }\n\n /**\n * The function takes an item of type T, and emits an event with the item as the payload\n * @param {InputType} item - InputType - the item that was clicked\n */\n toggleItem(item: InputType) {\n this.toggle.emit(item);\n if (this.allowInput) {\n this.closed.emit();\n }\n }\n\n /**\n * Get the name of the item by getting the value of the name field of the item.\n * @param {InputType} item - InputType - the item that we're getting the name of\n * @returns The name of the item.\n */\n getName(item: InputType) {\n return item[this.nameField] as unknown as string;\n }\n\n /**\n * It removes an item from the list, emits an event, and then checks if the list is empty\n * @param {InputType} item - InputType - the item to be removed from the list\n */\n removeItem(item: InputType) {\n this.removed.add(item);\n this.remove.emit(item);\n this.visibleList =\n this.options?.filter(item => !this.removed.has(item)) ?? [];\n if (this.visibleList.length) {\n this.viewport?.checkViewportSize();\n } else {\n this.closed.emit(true);\n }\n }\n\n /**\n * If the id of the item is a string and it's equal to the placeholder item, then return true.\n * Otherwise, return false\n * @param {InputType} item - InputType - the item to check\n * @returns A boolean value.\n */\n isPlaceholder(item: InputType) {\n const id = item[this.idField];\n if (typeof id === 'string' && id === PLACEHOLDER_ITEM) {\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * If the user presses enter on the search box, and there are items in the list, select the first item\n * in the list\n */\n enterOnSearch() {\n if (!this.removal && this.visibleList.length) {\n this.toggleItem(this.visibleList[0]);\n }\n }\n\n sortByGroups() {\n if (this.groupConfig && this.groupConfig.length) {\n let groupedData: InputType[][] = this.groupConfig.map(() => []);\n this.visibleList?.forEach(option => {\n const group = this.groupConfig!.findIndex(\n group =>\n (group.value === '*' && option[group.fieldName]) ||\n option[group.fieldName] === group.value,\n );\n if (group !== -1) groupedData[group].push(option);\n });\n this.groupIndexMap = this.groupConfig.reduce(\n (acc, obj, index) =>\n obj.groupName ? { ...acc, [index]: obj.groupName } : acc,\n {},\n );\n this.visibleList = groupedData.flat();\n }\n }\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": "@use \"sass:map\";\n// @import \"../../../theme/styles/variables\";\n@use \"projects/arc-lib/src/lib/theme/styles/_variables.scss\" as *;\n\n.select-panel {\n font-family: $main-font-family;\n font-weight: map.get($font-weight, lightest);\n background: map.get($color, light);\n border-radius: 0.25rem;\n display: flex;\n flex-direction: column;\n\n .search-div {\n padding: 0.4rem 0.75rem;\n }\n\n .list {\n flex-grow: 1;\n\n .item {\n // 38px to match item height in component\n height: 2.375rem;\n cursor: pointer;\n\n &.top-buffer:first-child {\n margin-top: 0.4rem;\n }\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.4rem 0.75rem;\n\n nb-checkbox {\n margin-bottom: -0.188rem;\n }\n\n &:hover {\n background: map.get($color, background-basic);\n }\n\n &.selected {\n background: map.get($color, list-selected);\n }\n\n &.disabled {\n color: map.get($font, disable);\n pointer-events: none;\n }\n\n div {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 90%;\n }\n\n .add-tag-item {\n color: map.get($color, primary);\n }\n }\n }\n\n .no-results-container {\n display: flex;\n align-items: center;\n justify-content: center;\n\n .no-results {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n }\n}\n\n.label-item {\n line-height: 1rem;\n letter-spacing: 0rem;\n text-align: left;\n margin-left: 0.8rem;\n}\n\n.list-icon {\n display: inline-block;\n background: map.get($color, \"menu-item-active\");\n color: map.get($font, \"primary\");\n width: 2rem;\n height: 2rem !important;\n margin-right: 0.5rem;\n line-height: 2rem;\n text-align: center;\n border-radius: 50%;\n}\n", + "styleUrl": "./list.component.scss" + } + ], + "stylesData": "", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "_cdr", + "type": "ChangeDetectorRef", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 35, + "jsdoctags": [ + { + "name": "_cdr", + "type": "ChangeDetectorRef", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "implements": [ + "OnInit", + "AfterViewInit", + "OnChanges" + ], + "templateData": "
\n
\n
\n \n \n \n \n \n
\n
\n \n \n
\n {{ groupIndexMap[i] }}\n
\n
\n {{ item[nameField] }}\n
\n \n {{ item[nameField] }}\n \n {{ addTagString | translate : { name: item[nameField] } }}\n \n \n \n \n {{ item.name.charAt(0).toUpperCase() }}\n \n {{ item[nameField] }}\n \n
\n \n \n \n
\n
\n
\n
\n
\n {{ noSearchResultText | translate }}\n
\n \n
{{ noDataText | translate }}
\n
\n
\n
\n\n\n" + }, + { + "name": "LoginComponent", + "id": "component-LoginComponent-01652c30418cc3d3d88610ccda934e1631f72ed2daf7440dd1570f55afe806de9f37acaf81ccace17afbfb15bb11369d6ab87e8293e2a574f95115325f86f0e2", + "file": "projects/arc-lib/src/lib/components/auth/login/login.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "login", + "styleUrls": [ + "./login.component.scss" + ], + "styles": [], + "templateUrl": [ + "./login.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [], + "outputsClass": [], + "propertiesClass": [ + { + "name": "_destroy$", + "defaultValue": "new Subject()", + "deprecated": false, + "deprecationMessage": "", + "type": "Subject", + "optional": false, + "description": "", + "line": 8, + "modifierKind": [ + 122 + ], + "inheritance": { + "file": "ComponentBaseDirective" + } + } + ], + "methodsClass": [ + { + "name": "loginViaGoogle", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 21, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "getAllQueryParams", + "args": [], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 22, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "RouteComponentBaseDirective" + } + }, + { + "name": "getChildRouteParam", + "args": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 36, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ], + "inheritance": { + "file": "RouteComponentBaseDirective" + } + }, + { + "name": "getDataParam", + "args": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ], + "inheritance": { + "file": "RouteComponentBaseDirective" + } + }, + { + "name": "getQueryParam", + "args": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 18, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ], + "inheritance": { + "file": "RouteComponentBaseDirective" + } + }, + { + "name": "getRouteParam", + "args": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 26, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ], + "inheritance": { + "file": "RouteComponentBaseDirective" + } + }, + { + "name": "getRouteParamObservable", + "args": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "any", + "typeParameters": [], + "line": 30, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "key", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ], + "inheritance": { + "file": "RouteComponentBaseDirective" + } + }, + { + "name": "goBack", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 40, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "RouteComponentBaseDirective" + } + }, + { + "name": "navigateHome", + "args": [ + { + "name": "homePath", + "type": "", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 44, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "homePath", + "type": "", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ], + "inheritance": { + "file": "RouteComponentBaseDirective" + } + }, + { + "name": "blurActiveElement", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 20, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "ComponentBaseDirective" + } + }, + { + "name": "clearAllSubscriptions", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "ComponentBaseDirective" + } + }, + { + "name": "ngOnDestroy", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 10, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "ComponentBaseDirective" + } + } + ], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import {Location} from '@angular/common';\nimport {Component} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {AuthService} from '@project-lib/core/auth';\nimport {RouteComponentBaseDirective} from '@project-lib/core/route-component-base';\n\n@Component({\n selector: 'login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n})\nexport class LoginComponent extends RouteComponentBaseDirective {\n constructor(\n override readonly route: ActivatedRoute,\n override readonly location: Location,\n private readonly authService: AuthService,\n ) {\n super(route, location);\n }\n\n loginViaGoogle() {\n this.authService.loginViaGoogle();\n }\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": "@use \"sass:map\";\n@use \"projects/arc-lib/src/lib/theme/styles/_variables.scss\" as *;\n\n:host {\n .logo {\n padding-top: 15%;\n }\n\n .description {\n padding-top: 10%;\n }\n\n .login-btn {\n padding-top: 10%;\n }\n\n .footer {\n padding-top: 15%;\n }\n}\n\n.google-btn {\n width: 24.125rem;\n height: 4rem;\n border-radius: 0.375rem;\n font-size: 1.25rem;\n font-family: #{nb-theme(font-family-primary)};\n font-weight: 600;\n line-height: 1.5rem;\n background-color: map.get($font, \"light\");\n border: 0.063rem solid map.get($color, \"border-disable\");\n position: absolute;\n\n &:hover {\n border-color: map-get($font, \"placeholder\");\n }\n\n &:active {\n border-color: map-get($font, \"primary\");\n }\n}\n", + "styleUrl": "./login.component.scss" + } + ], + "stylesData": "", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "route", + "type": "ActivatedRoute", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "location", + "type": "Location", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "authService", + "type": "AuthService", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 12, + "jsdoctags": [ + { + "name": "route", + "type": "ActivatedRoute", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "location", + "type": "Location", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "authService", + "type": "AuthService", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "extends": "RouteComponentBaseDirective", + "templateData": "\n \n
\n \n
\n
\n

Hello and Welcome! to the Angular Boiler Plate

\n
\n
\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam egestas\n dui sit amet purus consequat, sed ornare nulla imperdiete tiam egestas\n dui sit amet.\n
\n
\n \n
\n
\n \n By continuing with Google, you agree to our Terms of Service and Privacy\n Policy.\n \n
\n
\n
\n" + }, + { + "name": "PageComponent", + "id": "component-PageComponent-badb6d8cee577661da79ba82ad8f599604afd40fa34e36c7b88d71d77a4fbc7184228cba2f0d73e255d0b7bc51c4c7a8e7b0128b3624aeb0255abab9030fa59a", + "file": "projects/arc-lib/src/stories/page.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "storybook-page", + "styleUrls": [ + "./page.css" + ], + "styles": [], + "template": "
\n
\n

Pages in Storybook

\n

\n We recommend building UIs with a\n \n component-driven\n \n process starting with atomic components and ending with pages.\n

\n

\n Render pages with mock data. This makes it easy to build and review page states without\n needing to navigate to them in your app. Here are some handy patterns for managing page data\n in Storybook:\n

\n
    \n
  • \n Use a higher-level connected component. Storybook helps you compose such data from the\n \"args\" of child component stories\n
  • \n
  • \n Assemble data in the page component from your services. You can mock these services out\n using Storybook.\n
  • \n
\n

\n Get a guided tutorial on component-driven development at\n \n Storybook tutorials\n \n . Read more in the\n docs \n .\n

\n
\n Tip Adjust the width of the canvas with the\n \n \n \n \n \n Viewports addon in the toolbar\n
\n
\n
", + "templateUrl": [], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [], + "outputsClass": [], + "propertiesClass": [ + { + "name": "user", + "defaultValue": "null", + "deprecated": false, + "deprecationMessage": "", + "type": "User | null", + "optional": false, + "description": "", + "line": 64 + } + ], + "methodsClass": [ + { + "name": "doCreateAccount", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 74, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "doLogin", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 70, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "doLogout", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 66, + "deprecated": false, + "deprecationMessage": "" + } + ], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import { Component } from '@angular/core';\nimport type { User } from './User';\n\n@Component({\n selector: 'storybook-page',\n template: `
\n \n
\n

Pages in Storybook

\n

\n We recommend building UIs with a\n \n component-driven\n \n process starting with atomic components and ending with pages.\n

\n

\n Render pages with mock data. This makes it easy to build and review page states without\n needing to navigate to them in your app. Here are some handy patterns for managing page data\n in Storybook:\n

\n
    \n
  • \n Use a higher-level connected component. Storybook helps you compose such data from the\n \"args\" of child component stories\n
  • \n
  • \n Assemble data in the page component from your services. You can mock these services out\n using Storybook.\n
  • \n
\n

\n Get a guided tutorial on component-driven development at\n \n Storybook tutorials\n \n . Read more in the\n docs \n .\n

\n
\n Tip Adjust the width of the canvas with the\n \n \n \n \n \n Viewports addon in the toolbar\n
\n
\n
`,\n styleUrls: ['./page.css'],\n})\nexport default class PageComponent {\n user: User | null = null;\n\n doLogout() {\n this.user = null;\n }\n\n doLogin() {\n this.user = { name: 'Jane Doe' };\n }\n\n doCreateAccount() {\n this.user = { name: 'Jane Doe' };\n }\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": ".storybook-page {\n font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 24px;\n padding: 48px 20px;\n margin: 0 auto;\n max-width: 600px;\n color: #333;\n}\n\n.storybook-page h2 {\n font-weight: 700;\n font-size: 32px;\n line-height: 1;\n margin: 0 0 4px;\n display: inline-block;\n vertical-align: top;\n}\n\n.storybook-page p {\n margin: 1em 0;\n}\n\n.storybook-page a {\n text-decoration: none;\n color: #1ea7fd;\n}\n\n.storybook-page ul {\n padding-left: 30px;\n margin: 1em 0;\n}\n\n.storybook-page li {\n margin-bottom: 8px;\n}\n\n.storybook-page .tip {\n display: inline-block;\n border-radius: 1em;\n font-size: 11px;\n line-height: 12px;\n font-weight: 700;\n background: #e7fdd8;\n color: #66bf3c;\n padding: 4px 12px;\n margin-right: 10px;\n vertical-align: top;\n}\n\n.storybook-page .tip-wrapper {\n font-size: 13px;\n line-height: 20px;\n margin-top: 40px;\n margin-bottom: 40px;\n}\n\n.storybook-page .tip-wrapper svg {\n display: inline-block;\n height: 12px;\n width: 12px;\n margin-right: 4px;\n vertical-align: top;\n margin-top: 3px;\n}\n\n.storybook-page .tip-wrapper svg path {\n fill: #1ea7fd;\n}\n", + "styleUrl": "./page.css" + } + ], + "stylesData": "" + }, + { + "name": "SelectComponent", + "id": "component-SelectComponent-868876e7d0bf79ef0b4696f0443d82c3fc78cfe968392c91ec3de1016d5cd1af326b61ecd57963f0387f691d78176192898ea55cdcef7ba18fa8095863089b77", + "file": "projects/arc-lib/src/lib/components/selector/select/select.component.ts", + "changeDetection": "ChangeDetectionStrategy.OnPush", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [ + { + "name": "{\n provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SelectComponent,\n}", + "type": "component" + } + ], + "selector": "select", + "styleUrls": [ + "./select.component.scss" + ], + "styles": [], + "templateUrl": [ + "./select.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [ + { + "name": "addTagString", + "defaultValue": "'createANewTag'", + "deprecated": false, + "deprecationMessage": "", + "line": 203, + "type": "string", + "decorators": [] + }, + { + "name": "allowInput", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIndicates whether custom the input is allowed.\n", + "description": "

Indicates whether custom the input is allowed.

\n", + "line": 195, + "type": "boolean", + "decorators": [] + }, + { + "name": "disabled", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "line": 189, + "type": "boolean", + "decorators": [] + }, + { + "name": "disabledField", + "defaultValue": "'deleted' as keyof InputType", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe field to show disabled items in the list\n", + "description": "

The field to show disabled items in the list

\n", + "line": 155, + "type": "", + "decorators": [] + }, + { + "name": "groupConfig", + "defaultValue": "[]", + "deprecated": false, + "deprecationMessage": "", + "line": 211, + "type": "GroupConfig[]", + "decorators": [] + }, + { + "name": "idField", + "defaultValue": "'id' as IdField", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe field in the data item that uniquely identifies it.\n", + "description": "

The field in the data item that uniquely identifies it.

\n", + "line": 137, + "type": "IdField", + "decorators": [] + }, + { + "name": "inputMinWidth", + "defaultValue": "INPUT_MIN_WIDTH", + "deprecated": false, + "deprecationMessage": "", + "line": 166, + "type": "any", + "decorators": [] + }, + { + "name": "maxVisibleItems", + "defaultValue": "MIN_VISIBLE_ITEMS", + "deprecated": false, + "deprecationMessage": "", + "line": 199, + "type": "any", + "decorators": [] + }, + { + "name": "multiple", + "defaultValue": "false as MultipleMode", + "deprecated": false, + "deprecationMessage": "", + "line": 170, + "type": "MultipleMode", + "decorators": [] + }, + { + "name": "nameField", + "defaultValue": "'name' as keyof InputType", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe name of the field in the generic type T that contains the name of the\nitem to display. This is used to read the name of each item in the list.\n", + "description": "

The name of the field in the generic type T that contains the name of the\nitem to display. This is used to read the name of each item in the list.

\n", + "line": 149, + "type": "", + "decorators": [] + }, + { + "name": "options", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe options that will be displayed in the select.\n", + "description": "

The options that will be displayed in the select.

\n", + "line": 176, + "type": "InputType[]", + "decorators": [] + }, + { + "name": "placeholder", + "defaultValue": "''", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe text to be displayed in the input box when no value is entered.\n", + "description": "

The text to be displayed in the input box when no value is entered.

\n", + "line": 161, + "type": "string", + "decorators": [] + }, + { + "name": "search", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nWhether to show the search box.\n", + "description": "

Whether to show the search box.

\n", + "line": 185, + "type": "boolean", + "decorators": [] + }, + { + "name": "searchPlaceholder", + "defaultValue": "'search'", + "deprecated": false, + "deprecationMessage": "", + "line": 207, + "type": "string", + "decorators": [] + }, + { + "name": "selectOnEnter", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nWhether to select the first option when the user presses enter\n", + "description": "

Whether to select the first option when the user presses enter

\n", + "line": 216, + "type": "boolean", + "decorators": [] + }, + { + "name": "showClearAll", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "line": 179, + "type": "boolean", + "decorators": [] + }, + { + "name": "showIcon", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nshowIcon allows user to show initial of the option as an icon\n", + "description": "

showIcon allows user to show initial of the option as an icon

\n", + "line": 143, + "type": "boolean", + "decorators": [] + }, + { + "name": "value", + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "pos": 6602, + "end": 6651, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 344, + "tagName": { + "pos": 6603, + "end": 6608, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • ValueType<MultipleMode, Value>
  • \n
\n", + "name": { + "pos": 6609, + "end": 6614, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "value" + }, + "isNameFirst": true, + "isBracketed": false + } + ], + "rawdescription": "\n\nThe function sets the value of the selection model to the value passed in\n", + "description": "

The function sets the value of the selection model to the value passed in

\n", + "line": 262, + "type": "ValueType", + "decorators": [] + } + ], + "outputsClass": [ + { + "name": "added", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "line": 225, + "type": "EventEmitter" + }, + { + "name": "cleared", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "line": 231, + "type": "EventEmitter" + }, + { + "name": "newAdded", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "line": 219, + "type": "EventEmitter" + }, + { + "name": "newRemoved", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "line": 222, + "type": "EventEmitter" + }, + { + "name": "removed", + "defaultValue": "new EventEmitter()", + "deprecated": false, + "deprecationMessage": "", + "line": 228, + "type": "EventEmitter" + }, + { + "name": "valueChange", + "defaultValue": "new EventEmitter>()", + "deprecated": false, + "deprecationMessage": "", + "line": 234, + "type": "EventEmitter" + } + ], + "propertiesClass": [ + { + "name": "autoCompleteInput", + "deprecated": false, + "deprecationMessage": "", + "type": "ElementRef", + "optional": true, + "description": "", + "line": 76, + "decorators": [ + { + "name": "ViewChild", + "stringifiedArguments": "'autoCompleteInput'" + } + ], + "modifierKind": [ + 167 + ] + }, + { + "name": "currentPanel", + "deprecated": false, + "deprecationMessage": "", + "type": "Panel", + "optional": true, + "description": "", + "line": 85 + }, + { + "name": "currentPanelType", + "deprecated": false, + "deprecationMessage": "", + "type": "PanelType", + "optional": true, + "description": "", + "line": 86 + }, + { + "name": "dropdownHeight", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": false, + "description": "", + "line": 129 + }, + { + "name": "elementRef", + "deprecated": false, + "deprecationMessage": "", + "type": "ElementRef", + "optional": false, + "description": "", + "line": 64, + "modifierKind": [ + 123 + ] + }, + { + "name": "isEmpty", + "defaultValue": "true", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 81 + }, + { + "name": "itemHeight", + "defaultValue": "ITEM_HEIGHT", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 121 + }, + { + "name": "onChange", + "defaultValue": "() => {...}", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 237 + }, + { + "name": "onTouched", + "defaultValue": "() => {...}", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 239 + }, + { + "name": "overlay", + "deprecated": false, + "deprecationMessage": "", + "type": "Overlay", + "optional": false, + "description": "", + "line": 63, + "modifierKind": [ + 123 + ] + }, + { + "name": "padding", + "defaultValue": "TAG_PADDING", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 117 + }, + { + "name": "panels", + "deprecated": false, + "deprecationMessage": "", + "type": "Record>", + "optional": false, + "description": "", + "line": 84 + }, + { + "name": "positions", + "defaultValue": "[\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 5,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'bizbook-select-panel-above',\n },\n ]", + "deprecated": false, + "deprecationMessage": "", + "type": "ConnectedPosition[]", + "optional": false, + "description": "", + "line": 95 + }, + { + "name": "searchHeight", + "defaultValue": "SEARCH_HEIGHT", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 125 + }, + { + "name": "selectedItems", + "defaultValue": "new SelectionModel()", + "deprecated": false, + "deprecationMessage": "", + "type": "SelectionModel", + "optional": false, + "description": "", + "line": 79 + }, + { + "name": "selections", + "defaultValue": "new SelectionModel()", + "deprecated": false, + "deprecationMessage": "", + "type": "SelectionModel", + "optional": false, + "description": "", + "line": 78 + }, + { + "name": "state", + "defaultValue": "SelectState.Closed", + "deprecated": false, + "deprecationMessage": "", + "type": "SelectState", + "optional": false, + "description": "", + "line": 92 + }, + { + "name": "states", + "defaultValue": "SelectState", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 89 + }, + { + "name": "suffixCount", + "defaultValue": "0", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": false, + "description": "", + "line": 131 + }, + { + "name": "suffixWidth", + "defaultValue": "SUFFIX_WIDTH", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 123 + }, + { + "name": "tagMargin", + "defaultValue": "TAG_MARGIN", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 119 + }, + { + "name": "tags", + "deprecated": false, + "deprecationMessage": "", + "type": "QueryList", + "optional": false, + "description": "", + "line": 73, + "decorators": [ + { + "name": "ViewChildren", + "stringifiedArguments": "NbTagComponent" + } + ], + "modifierKind": [ + 167 + ] + }, + { + "name": "types", + "defaultValue": "PanelType", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 90 + }, + { + "name": "visibleTags", + "defaultValue": "[]", + "deprecated": false, + "deprecationMessage": "", + "type": "InputType[]", + "optional": false, + "description": "", + "line": 80 + }, + { + "name": "width", + "defaultValue": "0", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "optional": false, + "description": "", + "line": 113 + }, + { + "name": "_destroy$", + "defaultValue": "new Subject()", + "deprecated": false, + "deprecationMessage": "", + "type": "Subject", + "optional": false, + "description": "", + "line": 8, + "modifierKind": [ + 122 + ], + "inheritance": { + "file": "ComponentBaseDirective" + } + } + ], + "methodsClass": [ + { + "name": "_dropdownHeight", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 680, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\n_dropdownHeight() is a private function that calculates the panelHeight property based on the number\nof items in the data array and the `maxVisibleItems` property.\nIf the `search` property is true, then it adds the `searchHeight` property to the panelHeight.\n", + "description": "

_dropdownHeight() is a private function that calculates the panelHeight property based on the number\nof items in the data array and the maxVisibleItems property.\nIf the search property is true, then it adds the searchHeight property to the panelHeight.

\n", + "modifierKind": [ + 121 + ] + }, + { + "name": "_initSelectionModel", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 641, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\n> Initialize the selection models based on the `multiple` property\n", + "description": "
\n

Initialize the selection models based on the multiple property

\n
\n", + "modifierKind": [ + 121 + ] + }, + { + "name": "_panelHeight", + "args": [ + { + "name": "type", + "type": "PanelType", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "list", + "type": "InputType[]", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 667, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt sets the height of the `panel` div to the height of the number of items in the `invisibleTags`\narray, or the `maxVisibleItems` property, whichever is smaller\n", + "description": "

It sets the height of the panel div to the height of the number of items in the invisibleTags\narray, or the maxVisibleItems property, whichever is smaller

\n", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "type", + "type": "PanelType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "list", + "type": "InputType[]", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "_panelWidth", + "args": [ + { + "name": "type", + "type": "PanelType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 657, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt updates the width of the panel overlay element.\n", + "description": "

It updates the width of the panel overlay element.

\n", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "type", + "type": "PanelType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "_processChange", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 575, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nA function that is called when the selection changes.\n", + "description": "

A function that is called when the selection changes.

\n", + "modifierKind": [ + 121 + ] + }, + { + "name": "_setSelections", + "args": [ + { + "name": "value", + "type": "ValueType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 591, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\n`this._setSelections` is a private function that updates the value of the selections\n", + "description": "

this._setSelections is a private function that updates the value of the selections

\n", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": { + "pos": 16438, + "end": 16443, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "value" + }, + "type": "ValueType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 16432, + "end": 16437, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • ValueType<MultipleMode, Value>
  • \n
\n" + } + ] + }, + { + "name": "_updateEmptyState", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 606, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIf the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set\nit to false\n", + "description": "

If the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set\nit to false

\n", + "modifierKind": [ + 121 + ] + }, + { + "name": "_updateWidth", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 649, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt updates the width of the dropdown overlay element.\n", + "description": "

It updates the width of the dropdown overlay element.

\n", + "modifierKind": [ + 121 + ] + }, + { + "name": "asString", + "args": [ + { + "name": "item", + "type": "T", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "string", + "typeParameters": [ + "T" + ], + "line": 553, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt takes an item of type T and returns it as a string\n", + "description": "

It takes an item of type T and returns it as a string

\n", + "jsdoctags": [ + { + "name": { + "pos": 15296, + "end": 15300, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "item" + }, + "type": "T", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 15286, + "end": 15291, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • T - The item to be converted to a string.
  • \n
\n", + "typeExpression": { + "pos": 15292, + "end": 15295, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 15293, + "end": 15294, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 15293, + "end": 15294, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "T" + } + } + } + }, + { + "tagName": { + "pos": 15351, + "end": 15358, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "returns" + }, + "comment": "

The item as a string.

\n" + } + ] + }, + { + "name": "autocompleteEnter", + "args": [ + { + "name": "input", + "type": "HTMLInputElement", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 438, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIf the user presses enter, clear the input and if there's an autocomplete suggestion, select it\n", + "description": "

If the user presses enter, clear the input and if there's an autocomplete suggestion, select it

\n", + "jsdoctags": [ + { + "name": { + "pos": 11940, + "end": 11945, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "input" + }, + "type": "HTMLInputElement", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 11915, + "end": 11920, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • HTMLInputElement - the input element that the user is typing in
  • \n
\n", + "typeExpression": { + "pos": 11921, + "end": 11939, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 11922, + "end": 11938, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 11922, + "end": 11938, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "HTMLInputElement" + } + } + } + } + ] + }, + { + "name": "clearAll", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 345, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt clears the selections and selectedItems collections, then emits the cleared event\n", + "description": "

It clears the selections and selectedItems collections, then emits the cleared event

\n" + }, + { + "name": "close", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 478, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe function closes the dropdown and tells Angular to check for changes\n", + "description": "

The function closes the dropdown and tells Angular to check for changes

\n" + }, + { + "name": "closePanel", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 387, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIf there is a current panel, set its state to closed and clear the current panel and panel type\n", + "description": "

If there is a current panel, set its state to closed and clear the current panel and panel type

\n" + }, + { + "name": "emitNewValue", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 486, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt emits the new value of the select box\n", + "description": "

It emits the new value of the select box

\n" + }, + { + "name": "handleAutocompleteSelect", + "args": [ + { + "name": "item", + "type": "InputType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 453, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIf the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item\ndropdown.\n", + "description": "

If the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item\ndropdown.

\n", + "jsdoctags": [ + { + "name": { + "pos": 12413, + "end": 12417, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "item" + }, + "type": "InputType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 12395, + "end": 12400, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • InputType - this is the item that was selected from the autocomplete\ndropdown.
  • \n
\n", + "typeExpression": { + "pos": 12401, + "end": 12412, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 12402, + "end": 12411, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 12402, + "end": 12411, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "InputType" + } + } + } + } + ] + }, + { + "name": "isPlaceholder", + "args": [ + { + "name": "item", + "type": "InputType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "boolean", + "typeParameters": [], + "line": 563, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIf the id of the item is a string and it's equal to the placeholder item, then return true.\nOtherwise, return false\n", + "description": "

If the id of the item is a string and it's equal to the placeholder item, then return true.\nOtherwise, return false

\n", + "jsdoctags": [ + { + "name": { + "pos": 15611, + "end": 15615, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "item" + }, + "type": "InputType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 15593, + "end": 15598, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • InputType - the item to check
  • \n
\n", + "typeExpression": { + "pos": 15599, + "end": 15610, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 15600, + "end": 15609, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 15600, + "end": 15609, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "InputType" + } + } + } + }, + { + "tagName": { + "pos": 15654, + "end": 15661, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "returns" + }, + "comment": "

A boolean value.

\n" + } + ] + }, + { + "name": "ngOnChanges", + "args": [ + { + "name": "changes", + "type": "SimpleChanges", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 311, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "changes", + "type": "SimpleChanges", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "ngOnInit", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 300, + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "open", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 470, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nThe funtion closes the dropdown, change detection is triggered internally by the update width method\n", + "description": "

The funtion closes the dropdown, change detection is triggered internally by the update width method

\n" + }, + { + "name": "openPanel", + "args": [ + { + "name": "type", + "type": "PanelType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 375, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "type", + "type": "PanelType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "registerOnChange", + "args": [ + { + "name": "onChange", + "type": "function", + "deprecated": false, + "deprecationMessage": "", + "function": [ + { + "name": "value", + "type": "ValueType", + "deprecated": false, + "deprecationMessage": "" + } + ] + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 241, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "onChange", + "type": "function", + "deprecated": false, + "deprecationMessage": "", + "function": [ + { + "name": "value", + "type": "ValueType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "registerOnTouched", + "args": [ + { + "name": "onTouched", + "type": "function", + "deprecated": false, + "deprecationMessage": "", + "function": [] + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 245, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "onTouched", + "type": "function", + "deprecated": false, + "deprecationMessage": "", + "function": [], + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "setDisabledState", + "args": [ + { + "name": "isDisabled", + "type": "boolean", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 253, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "isDisabled", + "type": "boolean", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "toggle", + "args": [ + { + "name": "item", + "type": "InputType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 325, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIf the item is not a placeholder, toggle the item in the selections array. If the item is a\nplaceholder, and it is not selected, emit the item as a newRemoved event\n", + "description": "

If the item is not a placeholder, toggle the item in the selections array. If the item is a\nplaceholder, and it is not selected, emit the item as a newRemoved event

\n", + "jsdoctags": [ + { + "name": { + "pos": 8634, + "end": 8638, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "item" + }, + "type": "InputType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 8616, + "end": 8621, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • InputType - the item that was selected/deselected
  • \n
\n", + "typeExpression": { + "pos": 8622, + "end": 8633, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 8623, + "end": 8632, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 8623, + "end": 8632, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "InputType" + } + } + } + } + ] + }, + { + "name": "toggleDropdown", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 355, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIf the state is closed, open the dropdown, otherwise close it\n", + "description": "

If the state is closed, open the dropdown, otherwise close it

\n" + }, + { + "name": "togglePanel", + "args": [ + { + "name": "type", + "type": "PanelType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 367, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIf the panel is closed, open it, otherwise close it\n", + "description": "

If the panel is closed, open it, otherwise close it

\n", + "jsdoctags": [ + { + "name": "type", + "type": "PanelType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "updateAutocompleteOptions", + "args": [ + { + "name": "value", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 400, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt filters the autocomplete options based on the value of the input, and adds a placeholder option\nif the value is not found in the data\n", + "description": "

It filters the autocomplete options based on the value of the input, and adds a placeholder option\nif the value is not found in the data

\n", + "jsdoctags": [ + { + "name": { + "pos": 10644, + "end": 10649, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "value" + }, + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 10629, + "end": 10634, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • string - the value of the input field
  • \n
\n", + "typeExpression": { + "pos": 10635, + "end": 10643, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 10636, + "end": 10642, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 152 + } + } + } + ] + }, + { + "name": "updateSelectedItems", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 617, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt updates the selectedItems with the selected items\n", + "description": "

It updates the selectedItems with the selected items

\n", + "modifierKind": [ + 121 + ] + }, + { + "name": "updateTagsCount", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 502, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt calculates the width of the tags and the input box and then decides which tags to show and which\nto hide\n", + "description": "

It calculates the width of the tags and the input box and then decides which tags to show and which\nto hide

\n" + }, + { + "name": "writeValue", + "args": [ + { + "name": "value", + "type": "ValueType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 249, + "deprecated": false, + "deprecationMessage": "", + "jsdoctags": [ + { + "name": "value", + "type": "ValueType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + { + "name": "blurActiveElement", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 20, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "ComponentBaseDirective" + } + }, + { + "name": "clearAllSubscriptions", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 14, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "ComponentBaseDirective" + } + }, + { + "name": "ngOnDestroy", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 10, + "deprecated": false, + "deprecationMessage": "", + "inheritance": { + "file": "ComponentBaseDirective" + } + } + ], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import {SelectionModel} from '@angular/cdk/collections';\nimport {ConnectedPosition, Overlay, ViewportRuler} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {DIGITS} from '@project-lib/core/constants';\nimport {ComponentBaseDirective} from '@project-lib/core/component-base';\nimport {NbTagComponent} from '@nebular/theme';\nimport {cloneDeep, isEqual} from 'lodash';\nimport {takeUntil} from 'rxjs';\nimport {dropdownAnimation, rotateAnimation} from '../animations';\nimport {\n INPUT_MIN_WIDTH,\n ITEM_HEIGHT,\n MIN_VISIBLE_ITEMS,\n panelConfigs,\n PanelType,\n PLACEHOLDER_ITEM,\n SEARCH_HEIGHT,\n SelectState,\n SUFFIX_WIDTH,\n TAG_MARGIN,\n TAG_PADDING,\n} from '../constants';\nimport {GroupConfig, Panel, ValueType} from '../types';\n@Component({\n selector: 'select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n animations: [dropdownAnimation, rotateAnimation],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SelectComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SelectComponent<\n InputType,\n MultipleMode extends boolean,\n Value extends InputType[IdField],\n IdField extends keyof InputType,\n >\n extends ComponentBaseDirective\n implements ControlValueAccessor, OnInit, OnChanges\n{\n constructor(\n public overlay: Overlay,\n public elementRef: ElementRef,\n protected _viewportRuler: ViewportRuler,\n private _cdr: ChangeDetectorRef,\n ) {\n super();\n this.panels = cloneDeep(panelConfigs);\n }\n\n @ViewChildren(NbTagComponent)\n tags!: QueryList;\n\n @ViewChild('autoCompleteInput')\n autoCompleteInput?: ElementRef;\n\n selections: SelectionModel = new SelectionModel();\n selectedItems: SelectionModel = new SelectionModel();\n visibleTags: InputType[] = [];\n isEmpty = true;\n\n /* Defining config for both kinds of panels */\n panels: Record>;\n currentPanel?: Panel;\n currentPanelType?: PanelType;\n\n /* A type alias for states and panel type enum */\n states = SelectState;\n types = PanelType;\n /* Setting the state of the dropdown to closed. */\n state: SelectState = SelectState.Closed;\n\n /* Setting the position of the dropdown. */\n positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 5,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'bizbook-select-panel-above',\n },\n ];\n\n // dropdown overlay width, this is set based on width of container\n width = 0;\n\n /* css dependent values, these are supposed to be changed whenever css is changed */\n /* the padding of the tags container. */\n padding = TAG_PADDING;\n /* The margin between tags. */\n tagMargin = TAG_MARGIN;\n /* The height of each item in the dropdown. */\n itemHeight = ITEM_HEIGHT;\n /* The width of the cross, plus and chevron icons. */\n suffixWidth = SUFFIX_WIDTH;\n /* The height of the input box */\n searchHeight = SEARCH_HEIGHT;\n\n /* calculated values based on above values */\n /* A variable that is used to set the height of the dropdown. */\n dropdownHeight!: number;\n /* this could 1,2 or 3, based on the whether the cross, plus and chevrons */\n suffixCount = 0;\n\n /**\n * The field in the data item that uniquely identifies it.\n */\n @Input()\n idField: IdField = 'id' as IdField;\n\n /**\n * showIcon allows user to show initial of the option as an icon\n */\n @Input()\n showIcon = false;\n /**\n * The name of the field in the generic type T that contains the name of the\n * item to display. This is used to read the name of each item in the list.\n */\n @Input()\n nameField: keyof InputType = 'name' as keyof InputType;\n\n /**\n * The field to show disabled items in the list\n */\n @Input()\n disabledField: keyof InputType = 'deleted' as keyof InputType;\n\n /**\n * The text to be displayed in the input box when no value is entered.\n */\n @Input()\n placeholder = '';\n\n // Sets the minimum width for the input box, in pixels.\n // Used to prevent the input box from shrinking when the container is very small.\n @Input()\n inputMinWidth = INPUT_MIN_WIDTH;\n\n // This code sets the multiple mode for the Select component.\n @Input()\n multiple: MultipleMode = false as MultipleMode;\n\n /**\n * The options that will be displayed in the select.\n */\n @Input()\n options?: InputType[];\n\n @Input()\n showClearAll = true;\n\n /**\n * Whether to show the search box.\n */\n @Input()\n search = true;\n\n // disable the dropdown\n @Input()\n disabled = false;\n\n /**\n * Indicates whether custom the input is allowed.\n */\n @Input()\n allowInput = false;\n\n /* Max number of items visible at a time in the dropdown, used to set the height */\n @Input()\n maxVisibleItems = MIN_VISIBLE_ITEMS;\n\n /* label to show to add a custom item in the dropdown */\n @Input()\n addTagString = 'createANewTag';\n\n /* Placeholder for the search input */\n @Input()\n searchPlaceholder = 'search';\n\n /* Used to get groupConfig from components to group data if needed */\n @Input()\n groupConfig: GroupConfig[] = [];\n /**\n * Whether to select the first option when the user presses enter\n */\n @Input()\n selectOnEnter = true;\n\n @Output()\n newAdded = new EventEmitter();\n\n @Output()\n newRemoved = new EventEmitter();\n\n @Output()\n added = new EventEmitter();\n\n @Output()\n removed = new EventEmitter();\n\n @Output()\n cleared = new EventEmitter();\n\n @Output()\n valueChange = new EventEmitter>();\n\n /* Control value accessor related properties */\n onChange = (value: ValueType) => {};\n\n onTouched = () => {};\n\n registerOnChange(onChange: (value: ValueType) => {}) {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouched: () => {}) {\n this.onTouched = onTouched;\n }\n\n writeValue(value: ValueType) {\n this.value = value;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n /**\n * The function sets the value of the selection model to the value passed in\n * @param value - ValueType\n */\n @Input()\n set value(value: ValueType) {\n this._initSelectionModel();\n this._setSelections(value);\n this.onChange(value);\n this.onTouched();\n this.updateTagsCount();\n }\n\n /**\n * If the `multiple` property is true, return the `selected` property of the `selections` object as an\n * array. Otherwise, return the first element of the `selected` property of the `selections` object as\n * a single value\n * @returns The value of the selected item.\n */\n get value(): ValueType {\n if (this.multiple === true) {\n return this.selections.selected as ValueType;\n } else {\n return this.selections.selected[0] as ValueType;\n }\n }\n\n /**\n * It returns the list of invisible tags to be shown in tags panel\n * @returns The list of invisible tags.\n */\n get invisibleTags() {\n return this.panels[PanelType.Extra].list;\n }\n\n /**\n * It sets the value of the invisibleTags property to the value of the value parameter.\n * @param {InputType[]} value - The value of the input.\n */\n set invisibleTags(value: InputType[]) {\n this.panels[PanelType.Extra].list = Object.assign([], value);\n }\n\n ngOnInit(): void {\n this._initSelectionModel();\n /* Subscribing to the viewportRuler's change event and updating the width of the element. */\n this._viewportRuler\n .change()\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n this._updateWidth();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['multiple'] && !changes['multiple'].isFirstChange()) {\n this._initSelectionModel();\n }\n this._dropdownHeight();\n this.updateSelectedItems();\n this.updateTagsCount();\n }\n\n /**\n * If the item is not a placeholder, toggle the item in the selections array. If the item is a\n * placeholder, and it is not selected, emit the item as a newRemoved event\n * @param {InputType} item - InputType - the item that was selected/deselected\n */\n toggle(item: InputType) {\n this.selectedItems.toggle(item);\n if (!this.isPlaceholder(item)) {\n this.selections.toggle(item[this.idField] as Value);\n if (this.selections.isSelected(item[this.idField] as Value)) {\n this.added.emit(item);\n } else {\n this.removed.emit(item);\n }\n } else if (!this.selectedItems.isSelected(item)) {\n this.newRemoved.emit(item);\n } else {\n this.newAdded.emit(item);\n }\n this._processChange();\n }\n\n /**\n * It clears the selections and selectedItems collections, then emits the cleared event\n */\n clearAll() {\n this.selections.clear();\n this.selectedItems.clear();\n this._processChange();\n this.cleared.emit();\n }\n\n /**\n * If the state is closed, open the dropdown, otherwise close it\n */\n toggleDropdown() {\n if (this.state === SelectState.Closed) {\n this.open();\n } else {\n this.close();\n }\n this._cdr.detectChanges();\n }\n\n /**\n * If the panel is closed, open it, otherwise close it\n */\n togglePanel(type: PanelType) {\n if (this.panels[type].state === SelectState.Closed) {\n this.openPanel(type);\n } else {\n this.closePanel();\n }\n }\n\n openPanel(type: PanelType) {\n this.panels[type].state = SelectState.Open;\n this.currentPanel = this.panels[type];\n this.currentPanelType = type;\n this._panelWidth(type);\n this._panelHeight(type, this.panels[type].list);\n this._cdr.detectChanges();\n }\n\n /**\n * If there is a current panel, set its state to closed and clear the current panel and panel type\n */\n closePanel() {\n if (this.currentPanel) {\n this.currentPanel.state = SelectState.Closed;\n this.currentPanel = undefined;\n this.currentPanelType = undefined;\n }\n }\n\n /**\n * It filters the autocomplete options based on the value of the input, and adds a placeholder option\n * if the value is not found in the data\n * @param {string} value - string - the value of the input field\n */\n updateAutocompleteOptions(value: string) {\n let showAddOption = !this.selectedItems.selected.some(item =>\n isEqual(item[this.nameField], value),\n );\n this.panels[PanelType.Autocomplete].list = [];\n if (value) {\n this.panels[PanelType.Autocomplete].list =\n this.options?.filter(item => {\n if (this.asString(item[this.nameField]) === value) {\n showAddOption = false;\n }\n return (\n !this.selections.isSelected(item[this.idField] as Value) &&\n this.asString(item[this.nameField])\n .toLowerCase()\n .trim()\n .indexOf(value.toLowerCase().trim()) > -1\n );\n }) ?? [];\n }\n if (showAddOption && value.length) {\n this.panels[PanelType.Autocomplete].list.push({\n [this.idField]: PLACEHOLDER_ITEM,\n [this.nameField]: value,\n } as unknown as InputType);\n }\n if (this.panels[PanelType.Autocomplete].list.length) {\n this.openPanel(PanelType.Autocomplete);\n } else {\n this.closePanel();\n }\n this._cdr.detectChanges();\n }\n\n /**\n * If the user presses enter, clear the input and if there's an autocomplete suggestion, select it\n * @param {HTMLInputElement} input - HTMLInputElement - the input element that the user is typing in\n */\n autocompleteEnter(input: HTMLInputElement) {\n input.value = '';\n if (this.panels[PanelType.Autocomplete].list[0]) {\n this.handleAutocompleteSelect(\n this.panels[PanelType.Autocomplete].list[0],\n );\n this.closePanel();\n }\n }\n\n /**\n * If the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item\n * @param {InputType} item - InputType - this is the item that was selected from the autocomplete\n * dropdown.\n */\n handleAutocompleteSelect(item: InputType) {\n if (this.isPlaceholder(item)) {\n this.selectedItems.select(item);\n this.newAdded.emit(item);\n } else {\n this.toggle(item);\n }\n this.panels[PanelType.Autocomplete].list = [];\n if (this.autoCompleteInput) {\n this.autoCompleteInput.nativeElement.value = '';\n }\n this._processChange();\n }\n\n /**\n * The funtion closes the dropdown, change detection is triggered internally by the update width method\n */\n open() {\n this.state = SelectState.Open;\n this._updateWidth();\n }\n\n /**\n * The function closes the dropdown and tells Angular to check for changes\n */\n close() {\n this.state = SelectState.Closed;\n this._cdr.detectChanges();\n }\n\n /**\n * It emits the new value of the select box\n */\n emitNewValue() {\n if (this.multiple === true) {\n this.valueChange.emit(\n this.selections.selected as ValueType,\n );\n } else {\n this.valueChange.emit(\n this.selections.selected[0] as ValueType,\n );\n }\n }\n\n /**\n * It calculates the width of the tags and the input box and then decides which tags to show and which\n * to hide\n */\n updateTagsCount() {\n // for cross and chevron if not disabled\n this.suffixCount = this.disabled ? 0 : DIGITS.TWO;\n if (this.invisibleTags.length) {\n // for the counter box\n this.suffixCount += 1;\n }\n this.invisibleTags = [];\n this.visibleTags = Object.assign([], this.selectedItems.selected);\n this._cdr.detectChanges();\n const inputBuffer =\n this.allowInput && !this.disabled\n ? this.inputMinWidth + DIGITS.TWO * this.tagMargin\n : 0;\n const width = this.elementRef.nativeElement.getBoundingClientRect().width;\n const rightPadding = this.suffixWidth * this.suffixCount;\n const allowedWidth =\n width - (this.padding * DIGITS.TWO + rightPadding + inputBuffer);\n let combinedWidth = 0;\n let i;\n for (i = 0; i < this.tags.length; i++) {\n const tag = this.tags.get(i);\n if (!tag) {\n break;\n }\n combinedWidth =\n combinedWidth +\n tag._hostElement.nativeElement.getBoundingClientRect().width +\n DIGITS.TWO * this.tagMargin;\n if (combinedWidth > allowedWidth) {\n break;\n }\n }\n if (i === 0) {\n i = 1;\n }\n this.visibleTags = this.selectedItems.selected.slice(0, i);\n this.invisibleTags = this.selectedItems.selected.slice(i);\n // this required again to ensure proper width of input element\n if (this.invisibleTags.length) {\n // for the counter box\n this.suffixCount += 1;\n }\n this._cdr.detectChanges();\n }\n\n /**\n * It takes an item of type T and returns it as a string\n * @param {T} item - T - The item to be converted to a string.\n * @returns The item as a string.\n */\n asString(item: T) {\n return item as unknown as string;\n }\n\n /**\n * If the id of the item is a string and it's equal to the placeholder item, then return true.\n * Otherwise, return false\n * @param {InputType} item - InputType - the item to check\n * @returns A boolean value.\n */\n isPlaceholder(item: InputType) {\n const id = item[this.idField];\n if (typeof id === 'string' && id === PLACEHOLDER_ITEM) {\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * A function that is called when the selection changes.\n */\n private _processChange() {\n this._updateEmptyState();\n this.emitNewValue();\n this.onChange(this.value);\n // this triggers the detect changes\n this.updateTagsCount();\n // this can only be called after tags have been updated\n if (this.currentPanel && this.currentPanelType) {\n this._panelHeight(this.currentPanelType, this.currentPanel.list);\n }\n }\n\n /**\n * `this._setSelections` is a private function that updates the value of the selections\n * @param value - ValueType\n */\n private _setSelections(value: ValueType) {\n if (this.multiple && Array.isArray(value)) {\n this.selections.select(...(value as Value[]));\n } else if (!this.multiple) {\n this.selections.select(value as Value);\n } else {\n this.selections.clear();\n }\n this.updateSelectedItems();\n }\n\n /**\n * If the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set\n * it to false\n */\n private _updateEmptyState() {\n if (this.selectedItems.selected.length === 0) {\n this.isEmpty = true;\n } else {\n this.isEmpty = false;\n }\n }\n\n /**\n * It updates the selectedItems with the selected items\n */\n private updateSelectedItems() {\n this.selectedItems.clear();\n const ids = this.selections.selected;\n if (this.multiple) {\n const items = this.options?.filter(item =>\n ids.includes(item[this.idField] as Value),\n );\n if (items?.length) {\n this.selectedItems.select(...items);\n }\n } else {\n const item = this.options?.find(\n item => item[this.idField] === ids[0],\n ) as InputType;\n if (item) {\n this.selectedItems.select(item);\n }\n }\n this._updateEmptyState();\n }\n\n /**\n * > Initialize the selection models based on the `multiple` property\n */\n private _initSelectionModel() {\n this.selections = new SelectionModel(this.multiple);\n this.selectedItems = new SelectionModel(this.multiple);\n }\n\n /**\n * It updates the width of the dropdown overlay element.\n */\n private _updateWidth() {\n this.width = this.elementRef.nativeElement.getBoundingClientRect().width;\n this._cdr.detectChanges();\n }\n\n /**\n * It updates the width of the panel overlay element.\n */\n private _panelWidth(type: PanelType) {\n this.panels[type].width =\n this.elementRef.nativeElement.getBoundingClientRect().width;\n this._cdr.detectChanges();\n }\n\n /**\n * It sets the height of the `panel` div to the height of the number of items in the `invisibleTags`\n * array, or the `maxVisibleItems` property, whichever is smaller\n */\n private _panelHeight(type: PanelType, list: InputType[]) {\n this.panels[type].height =\n list.length > this.maxVisibleItems\n ? this.itemHeight * this.maxVisibleItems\n : this.itemHeight * list.length;\n this._cdr.detectChanges();\n }\n\n /**\n * _dropdownHeight() is a private function that calculates the panelHeight property based on the number\n * of items in the data array and the `maxVisibleItems` property.\n * If the `search` property is true, then it adds the `searchHeight` property to the panelHeight.\n */\n private _dropdownHeight() {\n const minSize = this.options?.length || 1;\n this.dropdownHeight =\n minSize > this.maxVisibleItems\n ? this.itemHeight * this.maxVisibleItems\n : this.itemHeight * minSize;\n if (this.search) {\n this.dropdownHeight += this.searchHeight + 1;\n }\n }\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": ".select-container {\n width: 100%;\n nb-icon[icon=\"chevron-down\"] {\n cursor: pointer;\n }\n .count-box {\n user-select: none;\n color: var(--text-primary-color);\n cursor: pointer;\n }\n nb-tag {\n position: relative;\n overflow: hidden !important;\n white-space: nowrap;\n padding-right: 1.4rem;\n text-overflow: ellipsis;\n text-align: left;\n display: block;\n text-transform: none;\n background: var(--bb-tag-background);\n border: var(--bb-tag-border);\n }\n}\n\n.dropdown-panel {\n display: block;\n box-shadow: var(--bb-select-panel-shadow);\n border-radius: var(--border-radius);\n user-select: none;\n}\n", + "styleUrl": "./select.component.scss" + } + ], + "stylesData": "", + "constructorObj": { + "name": "constructor", + "description": "", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "overlay", + "type": "Overlay", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "elementRef", + "type": "ElementRef", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "_viewportRuler", + "type": "ViewportRuler", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "_cdr", + "type": "ChangeDetectorRef", + "deprecated": false, + "deprecationMessage": "" + } + ], + "line": 61, + "jsdoctags": [ + { + "name": "overlay", + "type": "Overlay", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "elementRef", + "type": "ElementRef", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "_viewportRuler", + "type": "ViewportRuler", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "_cdr", + "type": "ChangeDetectorRef", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, + "extends": "ComponentBaseDirective", + "implements": [ + "ControlValueAccessor", + "OnInit", + "OnChanges" + ], + "accessors": { + "value": { + "name": "value", + "setSignature": { + "name": "value", + "type": "void", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "value", + "type": "ValueType", + "deprecated": false, + "deprecationMessage": "" + } + ], + "returnType": "void", + "line": 262, + "rawdescription": "\n\nThe function sets the value of the selection model to the value passed in\n", + "description": "

The function sets the value of the selection model to the value passed in

\n", + "jsdoctags": [ + { + "name": { + "pos": 6609, + "end": 6614, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "value" + }, + "type": "ValueType", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 6603, + "end": 6608, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • ValueType<MultipleMode, Value>
  • \n
\n" + } + ] + }, + "getSignature": { + "name": "value", + "type": "", + "returnType": "ValueType", + "line": 276, + "rawdescription": "\n\nIf the `multiple` property is true, return the `selected` property of the `selections` object as an\narray. Otherwise, return the first element of the `selected` property of the `selections` object as\na single value\n", + "description": "

If the multiple property is true, return the selected property of the selections object as an\narray. Otherwise, return the first element of the selected property of the selections object as\na single value

\n", + "jsdoctags": [ + { + "pos": 7104, + "end": 7148, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 345, + "tagName": { + "pos": 7105, + "end": 7112, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "returns" + }, + "comment": "

The value of the selected item.

\n" + } + ] + } + }, + "invisibleTags": { + "name": "invisibleTags", + "setSignature": { + "name": "invisibleTags", + "type": "void", + "deprecated": false, + "deprecationMessage": "", + "args": [ + { + "name": "value", + "type": "InputType[]", + "deprecated": false, + "deprecationMessage": "" + } + ], + "returnType": "void", + "line": 296, + "rawdescription": "\n\nIt sets the value of the invisibleTags property to the value of the value parameter.\n", + "description": "

It sets the value of the invisibleTags property to the value of the value parameter.

\n", + "jsdoctags": [ + { + "name": { + "pos": 7726, + "end": 7731, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "value" + }, + "type": "InputType[]", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "pos": 7706, + "end": 7711, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • The value of the input.
  • \n
\n", + "typeExpression": { + "pos": 7712, + "end": 7725, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 7713, + "end": 7724, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 185, + "elementType": { + "pos": 7713, + "end": 7722, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 7713, + "end": 7722, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "InputType" + } + } + } + } + } + ] + }, + "getSignature": { + "name": "invisibleTags", + "type": "", + "returnType": "", + "line": 288, + "rawdescription": "\n\nIt returns the list of invisible tags to be shown in tags panel\n", + "description": "

It returns the list of invisible tags to be shown in tags panel

\n", + "jsdoctags": [ + { + "pos": 7486, + "end": 7526, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 345, + "tagName": { + "pos": 7487, + "end": 7494, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "returns" + }, + "comment": "

The list of invisible tags.

\n" + } + ] + } + } + }, + "templateData": "\n\n \n +{{ invisibleTags.length }}\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n \n\n" + }, + { + "name": "SelectTestComponent", + "id": "component-SelectTestComponent-030ab4854c64e6a9d8e59c19f138dc946e263eb5b3a3cd791b1f36ec1be3451a8cff03a0a7bb4d5c6dc879f0a194f227973bf2ce76d022be70db47f514fcdc9f", + "file": "projects/arc-lib/src/lib/components/selector/tests/select-test.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "select-test", + "styleUrls": [], + "styles": [], + "templateUrl": [ + "./select-test.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [], + "outputsClass": [], + "propertiesClass": [ + { + "name": "allowInput", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 12 + }, + { + "name": "control", + "defaultValue": "new UntypedFormControl()", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 16 + }, + { + "name": "disabled", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 13 + }, + { + "name": "multiple", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 11 + }, + { + "name": "options", + "defaultValue": "[]", + "deprecated": false, + "deprecationMessage": "", + "type": "NameIdRequired[]", + "optional": false, + "description": "", + "line": 10 + }, + { + "name": "placeholder", + "defaultValue": "'Select'", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 14 + }, + { + "name": "search", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "optional": false, + "description": "", + "line": 15 + } + ], + "methodsClass": [], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import {Component} from '@angular/core';\nimport {UntypedFormControl} from '@angular/forms';\nimport {NameIdRequired} from '@project-lib/core/api';\n\n@Component({\n selector: 'select-test',\n templateUrl: './select-test.component.html',\n})\nexport class SelectTestComponent {\n options: NameIdRequired[] = [];\n multiple = false;\n allowInput = false;\n disabled = false;\n placeholder = 'Select';\n search = false;\n control = new UntypedFormControl();\n}\n", + "assetsDirs": [], + "styleUrlsData": "", + "stylesData": "", + "templateData": "\n \n
\n \n
\n
\n
\n" + } + ], + "modules": [ + { + "name": "ApiModule", + "id": "module-ApiModule-6c6a64868ad8a3508dc753e8c0fcdb1a37d87d8731f1950fd3b8654ae11d170d9a8a4abab349e1799b4700ecb76544741c80ab7ff28be79a69fd42f96459b601", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/core/api/api.module.ts", + "methods": [], + "sourceCode": "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class ApiModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [] + }, + { + "type": "imports", + "elements": [] + }, + { + "type": "exports", + "elements": [] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "AuthModule", + "id": "module-AuthModule-6c53bcaaf2c0b5d5720877d80588929d57c1d80002a6bfbe214e5d745ba4fda66ba468af8ee561d7bb50e3db650f458f64cb3485a20918eef65fe8a55cb18809", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/components/auth/auth.module.ts", + "methods": [], + "sourceCode": "import {CommonModule} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {NgModule, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {NbAuthModule, NbPasswordAuthStrategy} from '@nebular/auth';\nimport {NbLayoutModule, NbThemeModule} from '@nebular/theme';\nimport {TranslateModule} from '@ngx-translate/core';\n\nimport {ThemeModule} from '@project-lib/theme/theme.module';\nimport {AuthRoutingModule} from './auth-routing.module';\nimport {AuthComponent} from './auth.component';\nimport {LoginComponent} from './login/login.component';\n\n@NgModule({\n declarations: [LoginComponent, AuthComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n // ThemeModule,\n AuthRoutingModule,\n HttpClientModule,\n NbLayoutModule,\n TranslateModule,\n NbThemeModule.forRoot(),\n NbAuthModule.forRoot({\n strategies: [\n NbPasswordAuthStrategy.setup({\n name: 'email',\n }),\n ],\n forms: {},\n }),\n ],\n})\nexport class AuthModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [ + { + "name": "AuthComponent" + }, + { + "name": "LoginComponent" + } + ] + }, + { + "type": "imports", + "elements": [ + { + "name": "AuthRoutingModule" + } + ] + }, + { + "type": "exports", + "elements": [] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "AuthRoutingModule", + "id": "module-AuthRoutingModule-3eca906921773a2e52ea31aa34d0e46357561e92aa5bb2eb996e77a14020e098a79c2079255df48835349181b35f80bf2897d966219ce0b0fd8210a329082d96", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/components/auth/auth-routing.module.ts", + "methods": [], + "sourceCode": "import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { AuthComponent } from './auth.component';\nimport { LoginComponent } from './login/login.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: AuthComponent,\n children: [\n {\n path: 'login',\n component: LoginComponent,\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AuthRoutingModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [] + }, + { + "type": "imports", + "elements": [] + }, + { + "type": "exports", + "elements": [] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "CoreAuthModule", + "id": "module-CoreAuthModule-0daf5b56960b00344882374b60b789a7e91de049f43513e53a65c4a335d16795f412caf1029e29e00803f53fdb1dbe4973bdc38fc2164565a498400c38f40c7b", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/core/auth/auth.module.ts", + "methods": [], + "sourceCode": "import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { NgxPermissionsModule } from 'ngx-permissions';\n\nimport { ApiModule } from '../api';\nimport { StoreModule } from '../store';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule,\n ApiModule,\n StoreModule,\n NgxPermissionsModule.forChild(),\n HttpClientModule,\n ],\n})\nexport class CoreAuthModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [] + }, + { + "type": "imports", + "elements": [ + { + "name": "ApiModule" + }, + { + "name": "StoreModule" + } + ] + }, + { + "type": "exports", + "elements": [] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "CoreModule", + "id": "module-CoreModule-d9bd74f0b02d7d030cebd9ebef9c4864534ac0f9ebe823833e9332a851b66c56bf380b3be79a508f13db01b82ef917f7354aa93773cfabe4f9aa38c75099b262", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/core/core.module.ts", + "methods": [], + "sourceCode": "import {CommonModule} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {NgModule, Optional, SkipSelf} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {NgxPermissionsModule} from 'ngx-permissions';\nimport {AuthModule} from '../components';\nimport {ApiModule} from './api/api.module';\nimport {CoreAuthModule} from './auth';\nimport {EnsureModuleLoadedOnce} from './ensure-module-loaded-once';\n\nimport {LocalizationModule} from './localization/localization.module';\nimport {StoreModule} from './store';\nimport {ToasterModule} from './toaster/toaster.module';\nimport {LoggerModule, NgxLoggerLevel} from 'ngx-logger';\nimport {ComponentBaseDirective} from './component-base';\n\n@NgModule({\n declarations: [ComponentBaseDirective],\n providers: [],\n imports: [\n CommonModule,\n NgxPermissionsModule.forRoot(),\n LoggerModule.forRoot({\n level: NgxLoggerLevel.ERROR,\n serverLogLevel: NgxLoggerLevel.OFF,\n }),\n FormsModule,\n HttpClientModule,\n RouterModule,\n ApiModule,\n LocalizationModule,\n StoreModule,\n ToasterModule,\n CoreAuthModule,\n ],\n exports: [StoreModule, ApiModule, ComponentBaseDirective],\n})\nexport class CoreModule extends EnsureModuleLoadedOnce {\n // Ensure that CoreModule is only loaded into AppModule\n\n // Looks for the module in the parent injector to see if it's already been loaded (only want it loaded once)\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n super(parentModule);\n }\n}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [ + { + "name": "ComponentBaseDirective" + } + ] + }, + { + "type": "imports", + "elements": [ + { + "name": "ApiModule" + }, + { + "name": "CoreAuthModule" + }, + { + "name": "LocalizationModule" + }, + { + "name": "StoreModule" + }, + { + "name": "ToasterModule" + } + ] + }, + { + "type": "exports", + "elements": [ + { + "name": "ApiModule" + }, + { + "name": "ComponentBaseDirective" + }, + { + "name": "StoreModule" + } + ] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "GanttModule", + "id": "module-GanttModule-daab20a1cb359f0989c943edff492e3482005ee45290ac3da0dd5ed8038762a20e527f27ea6cf27250e254622da23d153ac4a234adf75ce398acd7d544e8d08b", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/components/gantt/gantt.module.ts", + "methods": [], + "sourceCode": "import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {ThemeModule} from '@project-lib/theme/theme.module';\nimport {\n BbGanttComponent,\n GanttBarsComponent,\n GanttColumnComponent,\n GanttHeaderComponent,\n} from './components';\nimport {GanttTooltipComponent} from './components/gantt-tooltip/gantt-tooltip.component';\nimport {GANTT_SCALES} from './const';\nimport {MonthlyScaleService} from './services/timeline-scales/monthly-scale.service';\nimport {QuarterlyScaleService} from './services/timeline-scales/quarterly-scale.service';\nimport {WeeklyScaleService} from './services/timeline-scales/weekly-scale.service';\nimport {GanttAdapter} from './types';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n BbGanttComponent,\n GanttBarsComponent,\n GanttColumnComponent,\n GanttHeaderComponent,\n GanttTooltipComponent,\n ],\n imports: [CommonModule, ReactiveFormsModule, ThemeModule],\n exports: [\n BbGanttComponent,\n GanttBarsComponent,\n GanttColumnComponent,\n GanttHeaderComponent,\n // GanttTooltipComponent,\n ],\n \n providers: [\n {\n provide: GANTT_SCALES,\n multi: true,\n useClass: MonthlyScaleService,\n },\n {\n provide: GANTT_SCALES,\n multi: true,\n useClass: WeeklyScaleService,\n },\n {\n provide: GANTT_SCALES,\n multi: true,\n useClass: QuarterlyScaleService,\n },\n ],\n})\nexport class GanttModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [ + { + "name": "BbGanttComponent" + }, + { + "name": "GanttBarsComponent" + }, + { + "name": "GanttColumnComponent" + }, + { + "name": "GanttHeaderComponent" + }, + { + "name": "GanttTooltipComponent" + } + ] + }, + { + "type": "imports", + "elements": [ + { + "name": "ThemeModule" + } + ] + }, + { + "type": "exports", + "elements": [ + { + "name": "BbGanttComponent" + }, + { + "name": "GanttBarsComponent" + }, + { + "name": "GanttColumnComponent" + }, + { + "name": "GanttHeaderComponent" + } + ] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "LocalizationModule", + "id": "module-LocalizationModule-b11d1d34199c7876eded4641d486f5e09b8720edd9464dafdd566316c4420bd88e6b5fbb2a8a632e0d0f82f57212c7040f7ef06d0762b8ca8ea0c18c8100c6f4", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/core/localization/localization.module.ts", + "methods": [], + "sourceCode": "import { CommonModule } from '@angular/common';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\n\nimport { LanguageTranslation } from './language.enum';\n\nexport function httpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(\n http,\n './assets/i18n/',\n `.json?q=${new Date().getTime()}`\n );\n}\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n HttpClientModule,\n TranslateModule.forRoot({\n defaultLanguage: LanguageTranslation.ENGLISH,\n useDefaultLang: true,\n loader: {\n provide: TranslateLoader,\n useFactory: httpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n ],\n})\nexport class LocalizationModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [] + }, + { + "type": "imports", + "elements": [] + }, + { + "type": "exports", + "elements": [] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "ResizeModule", + "id": "module-ResizeModule-cc2f1f32773423d520db7144ce491fbe05b299bfed5f93929e9322aa608f0abfe3883dd564d4febb5c0424ec7a6275128a7e17d10779cc8481bc96caf4b9568f", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/components/resize/resize.module.ts", + "methods": [], + "sourceCode": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ResizeDirective } from './resize.directive';\n\n@NgModule({\n declarations: [ResizeDirective],\n imports: [CommonModule],\n exports: [ResizeDirective],\n})\nexport class ResizeModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [ + { + "name": "ResizeDirective" + } + ] + }, + { + "type": "imports", + "elements": [] + }, + { + "type": "exports", + "elements": [ + { + "name": "ResizeDirective" + } + ] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "SelectModule", + "id": "module-SelectModule-5613868a421303ff44ad52d0e1b426ecac69bbdb91a17453c07087f04d13c1744dc01f070eda9796370d58f10eed62a47332c49e105116dbe2d7e0c8072f92e5", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/components/selector/select.module.ts", + "methods": [], + "sourceCode": "import { OverlayModule } from '@angular/cdk/overlay';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n NbCheckboxModule,\n NbFormFieldModule,\n NbIconModule,\n NbInputModule,\n NbTagModule,\n} from '@nebular/theme';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ResizeModule } from '../resize/resize.module';\nimport { SelectComponent } from './select/select.component';\nimport {ListComponent} from './list/list.component';\n\n\n\n@NgModule({\n declarations: [ListComponent,SelectComponent],\n imports: [\n CommonModule,\n NbInputModule,\n NbFormFieldModule,\n NbIconModule,\n NbTagModule,\n NbInputModule,\n NbCheckboxModule,\n ReactiveFormsModule,\n ResizeModule,\n ScrollingModule,\n TranslateModule,\n OverlayModule,\n ],\n exports: [ListComponent,SelectComponent],\n})\nexport class SelectModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [ + { + "name": "ListComponent" + }, + { + "name": "SelectComponent" + } + ] + }, + { + "type": "imports", + "elements": [ + { + "name": "ResizeModule" + } + ] + }, + { + "type": "exports", + "elements": [ + { + "name": "ListComponent" + }, + { + "name": "SelectComponent" + } + ] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "SelectTestModule", + "id": "module-SelectTestModule-f34d8fdd48921ff05cc6ddbcc8f09cf25b7e1e5943abecba21eca010074141386d5068ae138256d8faf05d0e27f5513a6d17654432957ebe61ea0f9c44f19244", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/components/selector/tests/select-test.module.ts", + "methods": [], + "sourceCode": "import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\n\nimport {SelectModule} from '../select.module';\nimport {SelectTestComponent} from './select-test.component';\nimport {ThemeModule} from '@project-lib/theme/theme.module';\n\n@NgModule({\n declarations: [SelectTestComponent],\n imports: [\n CommonModule,\n SelectModule,\n ThemeModule.forRoot('arc'),\n ReactiveFormsModule,\n ],\n exports: [SelectTestComponent],\n})\nexport class SelectTestModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [ + { + "name": "SelectTestComponent" + } + ] + }, + { + "type": "imports", + "elements": [ + { + "name": "SelectModule" + }, + { + "name": "ThemeModule" + } + ] + }, + { + "type": "exports", + "elements": [ + { + "name": "SelectTestComponent" + } + ] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "StoreModule", + "id": "module-StoreModule-a838c38813c1d770005faf9836e2fa48ada50548d3e386741da1ec0abf53daf122db92fdc4f363e08c019219808c9e1a985b4a969015707ba3916c98e4918860", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/core/store/store.module.ts", + "methods": [], + "sourceCode": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport {\n InMemoryStorageService,\n LOCAL_STORAGE,\n SESSION_STORAGE,\n} from 'ngx-webstorage-service';\n\nimport { APP_SESSION_STORE, APPLICATION_STORE } from './keys';\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: [\n { provide: APPLICATION_STORE, useExisting: LOCAL_STORAGE },\n { provide: APP_SESSION_STORE, useExisting: SESSION_STORAGE },\n InMemoryStorageService,\n ],\n})\nexport class StoreModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [] + }, + { + "type": "imports", + "elements": [] + }, + { + "type": "exports", + "elements": [] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "ThemeModule", + "id": "module-ThemeModule-b7d8863692f1c9d4570b06f2e0a80e33b6b801aae6fbb9ce14248ad18ce1be18336aeae0d143875083cd07ad7fdb5d332144a2755feff42b201503630e52faa9", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/theme/theme.module.ts", + "methods": [ + { + "name": "forRoot", + "args": [ + { + "name": "theme", + "type": "string", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "ModuleWithProviders", + "typeParameters": [], + "line": 91, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 124 + ], + "jsdoctags": [ + { + "name": "theme", + "type": "string", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + } + ], + "sourceCode": "import {CommonModule} from '@angular/common';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {NbDateFnsDateModule} from '@nebular/date-fns';\nimport {NbEvaIconsModule} from '@nebular/eva-icons';\nimport {\n NbActionsModule,\n NbAlertModule,\n NbButtonModule,\n NbCardModule,\n NbCheckboxModule,\n NbContextMenuModule,\n NbDatepickerModule,\n NbDialogModule,\n NbFormFieldModule,\n NbIconModule,\n NbInputModule,\n NbLayoutModule,\n NbListModule,\n NbMenuModule,\n NbOptionModule,\n NbRouteTabsetModule,\n NbSelectModule,\n NbSidebarModule,\n NbSidebarService,\n NbSpinnerModule,\n NbTabsetModule,\n NbThemeModule,\n NbToastrModule,\n NbToggleModule,\n NbTooltipModule,\n NbUserModule,\n} from '@nebular/theme';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {TOASTER_SERVICE_KEY} from '../core';\nimport {ToasterAdapterService, ToasterService} from './toaster';\nimport {IconPacksManagerService} from './services';\n\nconst themeModules = [\n NbLayoutModule,\n NbSidebarModule,\n NbCardModule,\n NbEvaIconsModule,\n NbIconModule,\n NbAlertModule,\n NbInputModule,\n NbButtonModule,\n NbCheckboxModule,\n NbOptionModule,\n NbListModule,\n NbOptionModule,\n NbActionsModule,\n NbUserModule,\n NbMenuModule,\n NbContextMenuModule,\n NbRouteTabsetModule,\n NbTooltipModule,\n NbFormFieldModule,\n FormsModule,\n ReactiveFormsModule,\n NbSelectModule,\n NbDatepickerModule,\n NbTabsetModule,\n NbDateFnsDateModule,\n NbToggleModule,\n TranslateModule,\n NbSpinnerModule,\n];\n\n@NgModule({\n declarations: [],\n providers: [\n ToasterAdapterService,\n {\n provide: TOASTER_SERVICE_KEY,\n useClass: ToasterService,\n },\n NbSidebarService,\n ],\n imports: [\n CommonModule,\n NbMenuModule.forRoot(),\n NbToastrModule.forRoot(),\n NbDialogModule.forRoot(),\n NbDatepickerModule.forRoot(),\n ...themeModules,\n ],\n exports: themeModules,\n})\nexport class ThemeModule {\n static forRoot(theme: string): ModuleWithProviders {\n return {\n ngModule: ThemeModule,\n providers: [...(NbThemeModule.forRoot({name: theme}).providers ?? [])],\n };\n }\n}\n", + "children": [ + { + "type": "providers", + "elements": [ + { + "name": "ToasterAdapterService" + } + ] + }, + { + "type": "declarations", + "elements": [] + }, + { + "type": "imports", + "elements": [] + }, + { + "type": "exports", + "elements": [] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "ThemeRoutingModule", + "id": "module-ThemeRoutingModule-58160e2b6ba72c8b6ca3bad497feaf0021d348e934bdf09a349e0a499c5ffef620f5f7f53f0fe2040b896f05f47701a70b5aea430af2c3bcdbb6f88b43e69151", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/theme/theme-routing.module.ts", + "methods": [], + "sourceCode": "import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ThemeRoutingModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [] + }, + { + "type": "imports", + "elements": [] + }, + { + "type": "exports", + "elements": [] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + }, + { + "name": "ToasterModule", + "id": "module-ToasterModule-3e213b22913b41cafa3456f23af3f15f95cee25a37be4a57fcf02d315df2d112da14f12f284d4dc1d6f1015b01f3cbec35ba54c9c6df67b5efde9b193b12fd3f", + "description": "", + "deprecationMessage": "", + "deprecated": false, + "file": "projects/arc-lib/src/lib/core/toaster/toaster.module.ts", + "methods": [], + "sourceCode": "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class ToasterModule {}\n", + "children": [ + { + "type": "providers", + "elements": [] + }, + { + "type": "declarations", + "elements": [] + }, + { + "type": "imports", + "elements": [] + }, + { + "type": "exports", + "elements": [] + }, + { + "type": "bootstrap", + "elements": [] + }, + { + "type": "classes", + "elements": [] + } + ] + } + ], + "miscellaneous": { + "variables": [ + { + "name": "Adapters", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/core/api/adapters/index.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "[]", + "defaultValue": "[AnyAdapter, CountAdapter, NameIdAdapter]" + }, + { + "name": "APP_CONFIG", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/app-config/index.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "new InjectionToken('Application config')" + }, + { + "name": "APP_IN_MEMORY_STORE", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/core/store/keys.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "new InjectionToken(\n 'APP_IN_MEMORY_STORE'\n)" + }, + { + "name": "APP_SESSION_STORE", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/core/store/keys.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "new InjectionToken(\n 'APP_SESSION_STORE'\n)" + }, + { + "name": "APPLICATION_STORE", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/core/store/keys.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "new InjectionToken(\n 'APPLICATION_STORE'\n)" + }, + { + "name": "AuthTokenSkipHeader", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/core/constants.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "defaultValue": "'X-Skip-Auth-Token'" + }, + { + "name": "BUFFER_FOR_TODAY", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/gantt/const.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "defaultValue": "5" + }, + { + "name": "Default", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/HomePage.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "Template.bind({})" + }, + { + "name": "Default", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/List.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "Template.bind({})" + }, + { + "name": "Default", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/LoginPage.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "Template.bind({})" + }, + { + "name": "Default", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/ganttBar.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "Template.bind({})" + }, + { + "name": "Default", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/ganttcolumn.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "Template.bind({})" + }, + { + "name": "Default", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/ganttheader.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "Template.bind({})" + }, + { + "name": "Default", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/select-test.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "() => ({\n component: SelectTestComponent,\n props: {\n options: [\n { id: 1, name: 'Option 1' },\n { id: 2, name: 'Option 2' },\n // Add more options as needed\n ],\n multiple: false,\n allowInput: false,\n disabled: false,\n placeholder: 'Select',\n search: false,\n },\n })" + }, + { + "name": "Default", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/select.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "() => ({\n component: SelectComponent,\n props: {\n idField: 'id',\n showIcon: true,\n nameField: 'name',\n disabledField: 'deleted',\n placeholder: 'Select an option',\n inputMinWidth: 200,\n multiple: true,\n options: [\n { id: 1, name: 'Option 1', deleted: false },\n { id: 2, name: 'Option 2', deleted: true },\n {id :3, name:'Option 3'},\n {id :4, name:'Option 4'}\n\n\n // Add more options as needed\n ],\n showClearAll: true,\n search: true,\n disabled: false,\n allowInput: false,\n maxVisibleItems: 5,\n addTagString: 'Create a new tag',\n searchPlaceholder: 'Search options',\n groupConfig: [],\n selectOnEnter: true,\n },\n })" + }, + { + "name": "Default", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/tooltip.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "Template.bind({})" + }, + { + "name": "dropdownAnimation", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/selector/animations.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "trigger('dropdownPanel', [\n state(\n 'void',\n style({\n opacity: 0,\n transform: 'scaleY(0.6)',\n })\n ),\n state(\n 'open',\n style({\n opacity: 1,\n transform: 'scaleY(1)',\n })\n ),\n transition('void => open', animate('80ms cubic-bezier(0, 0, 0.2, 1)')),\n transition('open => void', animate('80ms cubic-bezier(0, 0, 0.2, 1)')),\n])" + }, + { + "name": "errorMsgConst", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/core/interceptors/error.interceptor.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "defaultValue": "'error.error.message.message'" + }, + { + "name": "ErrToastSkipHeader", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/core/constants.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "defaultValue": "'X-Skip-Error-Toast'" + }, + { + "name": "GANTT", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/gantt/const.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "new InjectionToken('gantt.lib')" + }, + { + "name": "GANTT_BAR_HEIGHT", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/gantt/const.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "defaultValue": "30" + }, + { + "name": "GANTT_COLUMN_WIDTH", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/gantt/const.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "defaultValue": "300" + }, + { + "name": "GANTT_ROW_HEIGHT", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/gantt/const.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "defaultValue": "65" + }, + { + "name": "GANTT_SCALE_HEIGHT", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/gantt/const.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "defaultValue": "76" + }, + { + "name": "GANTT_SCALES", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/gantt/const.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "new InjectionToken(\n 'gantt.scales',\n)" + }, + { + "name": "GANTT_SCROLL_BAR_HEIGHT", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/gantt/const.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "defaultValue": "20" + }, + { + "name": "GANTT_TIMELINE_MIN_WIDTH", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/gantt/const.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "defaultValue": "500" + }, + { + "name": "GanttProviders", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/gantt/const.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "[]", + "defaultValue": "[\n GanttService,\n {\n provide: GANTT,\n useFactory: () => Gantt.getGanttInstance(),\n },\n]" + }, + { + "name": "GanttTimelineMap", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/gantt/types.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "defaultValue": "{\n [Timelines.Weekly]: 'Weekly',\n [Timelines.Monthly]: 'Monthly',\n [Timelines.Quarterly]: 'Quarterly',\n [Timelines.Custom]: 'Custom',\n}" + }, + { + "name": "HOURS_IN_DAY", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/core/constants.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "defaultValue": "24" + }, + { + "name": "HttpInterceptorProviders", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/core/interceptors/index.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "Provider[]", + "defaultValue": "[\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: SessionRecoveryInterceptor,\n multi: true,\n },\n]" + }, + { + "name": "INPUT_MIN_WIDTH", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/selector/constants.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "defaultValue": "50" + }, + { + "name": "ITEM_HEIGHT", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/components/selector/constants.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "defaultValue": "38" + }, + { + "name": "KEBAB_SVG", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/theme/services/icons.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "`\n\n`" + }, + { + "name": "Large", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/Button.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "Story", + "defaultValue": "{\n args: {\n size: 'large',\n label: 'Button',\n },\n}" + }, + { + "name": "LoggedIn", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/Header.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "Story", + "defaultValue": "{\n args: {\n user: {\n name: 'Jane Doe',\n },\n },\n}" + }, + { + "name": "LoggedIn", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/Page.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "Story", + "defaultValue": "{\n render: (args: Page) => ({\n props: args,\n }),\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n const loginButton = await canvas.getByRole('button', {\n name: /Log in/i,\n });\n await userEvent.click(loginButton);\n },\n}" + }, + { + "name": "LoggedOut", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/Header.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "Story", + "defaultValue": "{}" + }, + { + "name": "LoggedOut", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/Page.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "Story", + "defaultValue": "{\n render: (args: Page) => ({\n props: args,\n }),\n}" + }, + { + "name": "MAX_ALLOCATION", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/lib/core/constants.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "number", + "defaultValue": "8" + }, + { + "name": "meta", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/Button.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "Meta`, + styleUrls: ['./button.css'], +}) +export default class ButtonComponent { + /** + * Is this the principal call to action on the page? + */ + @Input() + primary = false; + + /** + * What background color to use + */ + @Input() + backgroundColor?: string; + + /** + * How large should the button be? + */ + @Input() + size: 'small' | 'medium' | 'large' = 'medium'; + + /** + * Button contents + * + * @required + */ + @Input() + label = 'Button'; + + /** + * Optional click handler + */ + @Output() + onClick = new EventEmitter(); + + public get classes(): string[] { + const mode = this.primary ? 'storybook-button--primary' : 'storybook-button--secondary'; + + return ['storybook-button', `storybook-button--${this.size}`, mode]; + } +} diff --git a/projects/arc-lib/src/stories/button.css b/projects/arc-lib/src/stories/button.css new file mode 100644 index 00000000..dc91dc76 --- /dev/null +++ b/projects/arc-lib/src/stories/button.css @@ -0,0 +1,30 @@ +.storybook-button { + font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-weight: 700; + border: 0; + border-radius: 3em; + cursor: pointer; + display: inline-block; + line-height: 1; +} +.storybook-button--primary { + color: white; + background-color: #1ea7fd; +} +.storybook-button--secondary { + color: #333; + background-color: transparent; + box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset; +} +.storybook-button--small { + font-size: 12px; + padding: 10px 16px; +} +.storybook-button--medium { + font-size: 14px; + padding: 11px 20px; +} +.storybook-button--large { + font-size: 16px; + padding: 12px 24px; +} diff --git a/projects/arc-lib/src/stories/components/HomePage.stories.ts b/projects/arc-lib/src/stories/components/HomePage.stories.ts new file mode 100644 index 00000000..d0af6cd4 --- /dev/null +++ b/projects/arc-lib/src/stories/components/HomePage.stories.ts @@ -0,0 +1,68 @@ +import { Story, moduleMetadata } from '@storybook/angular'; + +import { AuthService, LoggedInUserDM } from '@project-lib/core/auth'; + +import { takeUntil } from 'rxjs'; +import { HomeComponent } from '@main-project/boiler/main/home/home.component'; +import { ActivatedRoute, Router } from '@angular/router'; +import { ThemeModule } from '@project-lib/theme/theme.module'; +import { NbThemeModule } from '@nebular/theme'; + +export default { + title: 'Components/Home', + component: HomeComponent, + decorators: [ + moduleMetadata({ + declarations: [], + imports: [ThemeModule, + NbThemeModule.forRoot()], + providers: [ + {provide: ActivatedRoute, + useValue: {}, + }, + { + provide: Location, + useValue: { + /* Mock Location methods here if needed */ + }, + }, + { + provide: Router, + useValue: { + /* Mock Router methods here if needed */ + }, + }, + { + provide: AuthService, + useValue: { + currentUser: () => { + /* Mock the AuthService's currentUser method here */ + }, + }, + }, + ], + }), + ], +}; + +const Template = (args: HomeComponent) => ({ + component: HomeComponent, + props: args, +}); + +export const Default = Template.bind({}); +Default.args = {}; + +export const WithImage = Template.bind({}); + +WithImage.args = { + + // render: () => {my image}, + loggedInUserDM: { + /* Set your user data here if needed */ + }, + + greeting: 'Hello, World!', +}; + + diff --git a/projects/arc-lib/src/stories/components/List.stories.ts b/projects/arc-lib/src/stories/components/List.stories.ts new file mode 100644 index 00000000..f0d755fa --- /dev/null +++ b/projects/arc-lib/src/stories/components/List.stories.ts @@ -0,0 +1,59 @@ +import { Meta, moduleMetadata } from '@storybook/angular'; +import { SelectionModel } from '@angular/cdk/collections'; +import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; +import { NbFormFieldModule, NbListModule } from '@nebular/theme'; + +import { SelectModule } from '@project-lib/components/selector'; +import { ListComponent } from '@project-lib/components/selector/list/list.component'; + +export default { + title: 'Components/List', + component: ListComponent, + decorators: [ + moduleMetadata({ + imports: [SelectModule,NbFormFieldModule, NbListModule], // Import any necessary modules + }), + ], +} as Meta; + +const Template = (args: ListComponent) => ({ + component: ListComponent, + moduleMetadata: { + imports: [NbFormFieldModule, NbListModule], // Import any necessary modules + }, + props: args, +}); + +export const Default = Template.bind({}); +Default.args = { + options: [ + // Define your list of options here + { id: 1, name: 'Option 1' }, + { id: 2, name: 'Option 2' }, + // Add more options as needed + ], + nameField: 'name', + idField: 'id', + disabledField: 'deleted', + itemHeight: 30, + multiple: false, + search: true, + removal: false, + searchPlaceholder: 'Search...', + noSearchResultText: 'No results found', + noDataText: 'No data available', + addTagString: 'Create a new item', + selectOnEnter: true, + allowInput: false, + showIcon: true, + groupConfig: [ + // Define your group configuration here + { fieldName: 'groupField1', value: 'Group 1', groupName: 'Group A' }, + { fieldName: 'groupField2', value: 'Group 2', groupName: 'Group B' }, + // Add more group configurations as needed + ], + // Define other args and event handlers as needed + // For example: selectedOptions, onToggle, onRemove, etc. +}; + +// You can create additional stories with different configurations as needed diff --git a/projects/arc-lib/src/stories/components/LoginPage.stories.ts b/projects/arc-lib/src/stories/components/LoginPage.stories.ts new file mode 100644 index 00000000..95ecf4ae --- /dev/null +++ b/projects/arc-lib/src/stories/components/LoginPage.stories.ts @@ -0,0 +1,47 @@ +import { moduleMetadata } from '@storybook/angular'; + +import { AuthService } from '@project-lib/core/auth'; +import { LoginComponent } from '@project-lib/components/index'; +import { ActivatedRoute } from '@angular/router'; +import { ThemeModule } from '@project-lib/theme/theme.module'; +import { NbThemeModule } from '@nebular/theme'; + + +export default { + title: 'Components/Login', + component: LoginComponent, + decorators: [ + moduleMetadata({ + imports:[ThemeModule, + NbThemeModule.forRoot()], + providers: [ + { + provide: ActivatedRoute, + useValue: { + /* Mock ActivatedRoute data here if needed */ + }, + }, + { + provide: Location, + useValue: { + /* Mock Location methods here if needed */ + }, + }, + { + provide: AuthService, + useValue: { + /* Mock AuthService methods here if needed */ + }, + }, + ], + }), + ], + }; + + const Template = (args: LoginComponent) => ({ + component: LoginComponent, + props: args, + }); + + export const Default = Template.bind({}); + Default.args = {}; \ No newline at end of file diff --git a/projects/arc-lib/src/stories/components/ganttBar.stories.ts b/projects/arc-lib/src/stories/components/ganttBar.stories.ts new file mode 100644 index 00000000..7c2f7ff6 --- /dev/null +++ b/projects/arc-lib/src/stories/components/ganttBar.stories.ts @@ -0,0 +1,69 @@ +import { TranslateLoader, TranslateModule, TranslateService, TranslateStore} from '@ngx-translate/core'; +import { GanttBarsComponent } from '@project-lib/components/gantt/components'; +import { AnyObject } from '@project-lib/core/api'; +import { moduleMetadata } from '@storybook/angular'; + +import { ThemeModule } from '@project-lib/theme/theme.module'; +import { of } from 'rxjs'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { NbThemeModule } from '@nebular/theme'; +import { TranslationService } from '@project-lib/core/localization/translation.service'; + +class MockTranslateLoader implements TranslateLoader { + getTranslation(lang) { + // Provide a mock translation object + return of({ + // Your translations here... + }); + } +} + +// Mock TranslateService +const mockTranslateService = { + use: () => {}, + setDefaultLang: () => {}, + get: (key) => of(key), // Provide a simple mock translation function +}; + + +export default { + title: 'Components/GanttBars', + component: GanttBarsComponent, + decorators: [ + moduleMetadata({ + // imports: [TranslateModule], // Add any necessary Angular modules here + // providers: [TranslationService,TranslateService,TranslateStore], + imports: [ + ThemeModule, + NbThemeModule.forRoot(), // Add this line to enable Nebular styles + + TranslateModule.forRoot({ + loader: { provide: TranslateLoader, useClass: MockTranslateLoader }, + }), + HttpClientTestingModule, // Mock HttpClient requests + ], + + providers: [TranslationService,TranslateService,TranslateStore], + + // Add any necessary Angular services/providers here + }), + ], + }; + + const Template = (args:GanttBarsComponent) => ({ + component: GanttBarsComponent, + props: args, + }); + + export const Default = Template.bind({}); + Default.args = { + item: { + // Sample data for your GanttTaskValue item + name: 'Sample Task', + startDate: new Date('2023-09-01'), + endDate: new Date('2023-09-10'), + allocation: 80, // Sample allocation value + // Add other properties as needed + }, +}; + diff --git a/projects/arc-lib/src/stories/components/ganttcolumn.stories.ts b/projects/arc-lib/src/stories/components/ganttcolumn.stories.ts new file mode 100644 index 00000000..8a4ae77e --- /dev/null +++ b/projects/arc-lib/src/stories/components/ganttcolumn.stories.ts @@ -0,0 +1,77 @@ + +import { GanttColumnComponent } from '@project-lib/components/gantt/components'; +import { AnyObject } from '@project-lib/core/api'; + +import { moduleMetadata } from '@storybook/angular'; +import { NbThemeModule } from '@nebular/theme'; +import { ThemeModule } from '@project-lib/theme/theme.module'; + +export default { + title: 'Components/GanttColumn', + component: GanttColumnComponent, + decorators: [ + moduleMetadata({ + declarations: [GanttColumnComponent], + imports: [ + ThemeModule, + NbThemeModule.forRoot(), // Add this line to enable Nebular styles + ], + // Add any additional modules or providers needed for your component + // imports: [], + // providers: [], + }), + ], + // argTypes: { + // item: { control: 'object' }, + // contextItems: { control: 'object' }, + // active: { control: 'boolean' }, + // showKebab: { control: 'boolean' }, + // showParentInitials: { control: 'boolean' }, + // showChildInitials: { control: 'boolean' }, + // showOverallocatedIcon: { control: 'boolean' }, + // contextItemFilter: { control: 'object' }, + // }, +}; + +const Template = (args: GanttColumnComponent) => ({ + component: GanttColumnComponent, + props: args, +}); + +export const Default = Template.bind({}); +Default.args = { + item: { + id: 1, + name: 'Task1', + // Add other properties of your GanttTaskValue object here + startDate: new Date(), + endDate: new Date(), + subtitle: "robin", + + type: 0, + + hasChildren: true, + isParent: false, + payload: {}, + subAllocations:[], + // ... + }, + contextItems: [ + { title: 'Edit', icon: 'edit' }, + { title: 'Delete', icon: 'trash-2' }, + // Add more context menu items as needed + ], + active: true, + showKebab: true, + showParentInitials: true, + showChildInitials: true, + showOverallocatedIcon: true, + contextItemFilter: (item) => { + // Define your context item filter logic here + // This should be a function that filters context items based on the GanttTaskValue input + // For example: + // return item.startDate > '2023-09-22' ? true : false; + }, +}; + + diff --git a/projects/arc-lib/src/stories/components/ganttheader.stories.ts b/projects/arc-lib/src/stories/components/ganttheader.stories.ts new file mode 100644 index 00000000..923367fd --- /dev/null +++ b/projects/arc-lib/src/stories/components/ganttheader.stories.ts @@ -0,0 +1,49 @@ +import { Meta, moduleMetadata } from '@storybook/angular'; +import { GanttHeaderComponent } from '../../lib/components/gantt/components/gantt-header/gantt-header.component'; +import { GanttModule } from '@project-lib/components/index'; +import { NbStatusService, NbThemeModule } from '@nebular/theme'; +import { ThemeModule } from '../../public-api'; + + +export default { + title: 'Components/Gantt Header', + component: GanttHeaderComponent, + } as Meta; + + + // Inject your service here + + const Template = (args: GanttHeaderComponent) => ({ + component: GanttHeaderComponent, + moduleMetadata: { + imports: [ + ThemeModule, + NbThemeModule.forRoot(), // Add this line to enable Nebular styles + ], + providers: [NbStatusService], + }, + props: args, + }); + + export const Default = Template.bind({}); + Default.args = { + desc: true, + name: 'Sample Name', + showSearch: true, +}; + +export const NoDescription = Template.bind({}); +NoDescription.args = { + desc: false, + name: 'No Description', + showSearch: true, +}; + +// export const NoSearch = Template.bind({}); +// NoSearch.args = { +// desc: true, +// name: 'With Search Disabled', +// showSearch: false, +// }; + + diff --git a/projects/arc-lib/src/stories/components/select-test.stories.ts b/projects/arc-lib/src/stories/components/select-test.stories.ts new file mode 100644 index 00000000..f8abf5d8 --- /dev/null +++ b/projects/arc-lib/src/stories/components/select-test.stories.ts @@ -0,0 +1,34 @@ +import { moduleMetadata } from '@storybook/angular'; +import { ReactiveFormsModule } from '@angular/forms'; +import { SelectTestComponent } from '@project-lib/components/selector/tests/select-test.component'; + +// Import any necessary dependencies or mocks here + +export default { + title: 'Components/SelectTest', + component: SelectTestComponent, + decorators: [ + moduleMetadata({ + declarations: [SelectTestComponent], + imports: [ReactiveFormsModule], // Add ReactiveFormsModule if your component uses forms + // Add any other providers or imports as needed + }), + ], +}; +export const Default = () => ({ + component: SelectTestComponent, + props: { + options: [ + { id: 1, name: 'Option 1' }, + { id: 2, name: 'Option 2' }, + // Add more options as needed + ], + multiple: false, + allowInput: false, + disabled: false, + placeholder: 'Select', + search: false, + }, + }); + + Default.storyName = 'Default'; diff --git a/projects/arc-lib/src/stories/components/select.stories.ts b/projects/arc-lib/src/stories/components/select.stories.ts new file mode 100644 index 00000000..45ceb940 --- /dev/null +++ b/projects/arc-lib/src/stories/components/select.stories.ts @@ -0,0 +1,51 @@ +import { SelectComponent } from '@project-lib/components/selector/select/select.component'; +import { moduleMetadata } from '@storybook/angular'; + +// Import any necessary dependencies or mocks here + +export default { + title: 'Components/Select', + component: SelectComponent, + decorators: [ + moduleMetadata({ + declarations: [SelectComponent], + // Add your component to the declarations array + // You might need to add providers for dependencies here + }), + ], +}; + +// export const cdkOverlayOrigin="cdkOverlayOrigin" + +export const Default = () => ({ + component: SelectComponent, + props: { + idField: 'id', + showIcon: true, + nameField: 'name', + disabledField: 'deleted', + placeholder: 'Select an option', + inputMinWidth: 200, + multiple: true, + options: [ + { id: 1, name: 'Option 1', deleted: false }, + { id: 2, name: 'Option 2', deleted: true }, + {id :3, name:'Option 3'}, + {id :4, name:'Option 4'} + + + // Add more options as needed + ], + showClearAll: true, + search: true, + disabled: false, + allowInput: false, + maxVisibleItems: 5, + addTagString: 'Create a new tag', + searchPlaceholder: 'Search options', + groupConfig: [], + selectOnEnter: true, + }, + }); + + Default.storyName = 'Default'; diff --git a/projects/arc-lib/src/stories/components/tooltip.stories.ts b/projects/arc-lib/src/stories/components/tooltip.stories.ts new file mode 100644 index 00000000..3f77be85 --- /dev/null +++ b/projects/arc-lib/src/stories/components/tooltip.stories.ts @@ -0,0 +1,54 @@ +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { NbThemeModule } from '@nebular/theme'; +import { TranslateLoader, TranslateModule, TranslateService, TranslateStore } from '@ngx-translate/core'; +import { GanttTooltipComponent } from '@project-lib/components/gantt/components/gantt-tooltip/gantt-tooltip.component'; +import { GanttModule } from '@project-lib/components/index'; +import { ThemeModule } from '@project-lib/theme/theme.module'; +import { moduleMetadata } from '@storybook/angular'; +import { of } from 'rxjs'; + +class MockTranslateLoader implements TranslateLoader { + getTranslation(lang) { + // Provide a mock translation object + return of({ + // Your translations here... + }); + } +} + +export default { + title: 'Components/GanttTooltip', + component: GanttTooltipComponent, + decorators: [ + moduleMetadata({ + imports:[ + ThemeModule, + NbThemeModule.forRoot(), // Add this line to enable Nebular styles + TranslateModule.forRoot({ + loader: { provide: TranslateLoader, useClass: MockTranslateLoader }, + }), + HttpClientTestingModule, // Mock HttpClient requests + + ], + providers: [TranslateService,TranslateStore], //Add your providers here if needed + }), + ], +}; + +const Template = (args: GanttTooltipComponent) => ({ + component: GanttTooltipComponent, + props: args, +}); + +export const Default = Template.bind({}); +Default.args = { + item: { + // Define your SubAllocation object here + // For example: + date: new Date('2023-09-20'), + rate: 50, + allocation: 8, + }, +}; + +// You may want to create additional stories with different data or scenarios as needed diff --git a/projects/arc-lib/src/stories/header.component.ts b/projects/arc-lib/src/stories/header.component.ts new file mode 100644 index 00000000..2980d3b3 --- /dev/null +++ b/projects/arc-lib/src/stories/header.component.ts @@ -0,0 +1,75 @@ +import { Component, Input, Output, EventEmitter } from '@angular/core'; +import type { User } from './User'; + +@Component({ + selector: 'storybook-header', + template: `
+
+
+ + + + + + + +

Acme

+
+
+
+ + Welcome, {{ user.name }}! + + +
+
+ + +
+
+
+
`, + styleUrls: ['./header.css'], +}) +export default class HeaderComponent { + @Input() + user: User | null = null; + + @Output() + onLogin = new EventEmitter(); + + @Output() + onLogout = new EventEmitter(); + + @Output() + onCreateAccount = new EventEmitter(); +} diff --git a/projects/arc-lib/src/stories/header.css b/projects/arc-lib/src/stories/header.css new file mode 100644 index 00000000..d9a70528 --- /dev/null +++ b/projects/arc-lib/src/stories/header.css @@ -0,0 +1,32 @@ +.storybook-header { + font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + padding: 15px 20px; + display: flex; + align-items: center; + justify-content: space-between; +} + +.storybook-header svg { + display: inline-block; + vertical-align: top; +} + +.storybook-header h1 { + font-weight: 700; + font-size: 20px; + line-height: 1; + margin: 6px 0 6px 10px; + display: inline-block; + vertical-align: top; +} + +.storybook-header button + button { + margin-left: 10px; +} + +.storybook-header .welcome { + color: #333; + font-size: 14px; + margin-right: 10px; +} diff --git a/projects/arc-lib/src/stories/page.component.ts b/projects/arc-lib/src/stories/page.component.ts new file mode 100644 index 00000000..f3ae4868 --- /dev/null +++ b/projects/arc-lib/src/stories/page.component.ts @@ -0,0 +1,77 @@ +import { Component } from '@angular/core'; +import type { User } from './User'; + +@Component({ + selector: 'storybook-page', + template: `
`, + styleUrls: ['./page.css'], +}) +export default class PageComponent { + user: User | null = null; + + doLogout() { + this.user = null; + } + + doLogin() { + this.user = { name: 'Jane Doe' }; + } + + doCreateAccount() { + this.user = { name: 'Jane Doe' }; + } +} diff --git a/projects/arc-lib/src/stories/page.css b/projects/arc-lib/src/stories/page.css new file mode 100644 index 00000000..098dad11 --- /dev/null +++ b/projects/arc-lib/src/stories/page.css @@ -0,0 +1,69 @@ +.storybook-page { + font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 24px; + padding: 48px 20px; + margin: 0 auto; + max-width: 600px; + color: #333; +} + +.storybook-page h2 { + font-weight: 700; + font-size: 32px; + line-height: 1; + margin: 0 0 4px; + display: inline-block; + vertical-align: top; +} + +.storybook-page p { + margin: 1em 0; +} + +.storybook-page a { + text-decoration: none; + color: #1ea7fd; +} + +.storybook-page ul { + padding-left: 30px; + margin: 1em 0; +} + +.storybook-page li { + margin-bottom: 8px; +} + +.storybook-page .tip { + display: inline-block; + border-radius: 1em; + font-size: 11px; + line-height: 12px; + font-weight: 700; + background: #e7fdd8; + color: #66bf3c; + padding: 4px 12px; + margin-right: 10px; + vertical-align: top; +} + +.storybook-page .tip-wrapper { + font-size: 13px; + line-height: 20px; + margin-top: 40px; + margin-bottom: 40px; +} + +.storybook-page .tip-wrapper svg { + display: inline-block; + height: 12px; + width: 12px; + margin-right: 4px; + vertical-align: top; + margin-top: 3px; +} + +.storybook-page .tip-wrapper svg path { + fill: #1ea7fd; +} diff --git a/projects/arc-lib/src/styles.scss b/projects/arc-lib/src/styles.scss new file mode 100644 index 00000000..c4123bde --- /dev/null +++ b/projects/arc-lib/src/styles.scss @@ -0,0 +1,144 @@ +// @use './themes' as *; +@use 'projects/arc-lib/src/lib/theme/styles/index' as *; +@use '@nebular/theme/styles/globals' as *; +@use '@nebular/auth/styles/globals' as *; +@use 'projects/arc-lib/src/lib/theme/styles/variables' as *; + +// @include nb-install() { +// @include nb-theme-global(); +// @include nb-auth-global(); +// } + +/* You can add global styles to this file, and also import other style files */ +.kebab-menu ul.menu-items { + text-align: left !important; +} +router-outlet.main-router + * { + display: flex; + flex-direction: column; + width: 100%; + height: 100%; +} + +h1, +.h1 { + font-size: 2.25rem !important; +} + +h3, +.h3 { + font-size: 1.5rem; +} + +h5, +.h5 { + font-size: 1.125rem; +} + +.border { + border: none !important; +} + +.route-tabset .route-tab a.tab-link:before { + width: var(--route-tabset-tab-underline-width-cover) !important; + left: var(--route-tabset-tab-underline-left-position) !important; + bottom: var(--route-tabset-tab-underline-bottom-position) !important; +} + +.route-tabset + router-outlet + * { + height: calc(100% - 3.25rem); + display: flex; + flex-direction: column; + & > * { + flex-grow: 1; + } +} + +input[nbinput][readonly], +nb-select[readonly] > button { + background-color: var( + --input-basic-hover-background-color-disabled + ) !important; + border-color: var(--input-basic-hover-border-color-disabled) !important; + color: var(--input-basic-text-color-disabled) !important; +} + +.cdk-overlay-container { + z-index: 1041 !important; // is not provided through a variable +} + +nb-sidebar, +nb-sidebar > div.main-container { + transition: width 0.3s; +} + +input[disabled], +select[disabled] { + background-color: #{nb-theme(color-primary-disabled)}; +} +// bootstrap css messing with nb toggle scss for labels +label.toggle-label { + margin: 0 !important; +} + +fieldset { + border: var(--card-border-width) var(--card-border-style) + var(--card-border-color); + margin-bottom: var(--card-margin-bottom); + border-radius: var(--card-border-radius); +} +nb-sidebar.compacted nb-menu .menu-item a.active::before { + top: 0.563rem; + height: 0.9rem; + width: 0.063rem; +} + +nb-sidebar.compacted { + width: 4rem !important; +} + +nb-sidebar.compacted nb-menu .menu-items > .menu-item a { + justify-content: left !important; +} + +nb-toast.status-success { + background: #e0fde2; + border-color: #e0fde2; + color: #047205; + border-left: 0.188rem solid #047205 !important; +} + +nb-toast.status-success:hover { + background-color: #e0fde2 !important ; + border: 0.188rem 0px 0px 0px #047205 !important; +} +nb-toast .icon-container { + border-radius: 1rem; + min-width: 1.25rem; + min-height: 1.25rem; + display: inline-flex; + justify-content: center; + align-items: center; +} + +nb-toast .message { + font-weight: 600; + display: inline-flex; +} +nb-toast.status-success .icon-container { + background: #047205; + color: #e0fde2; +} + +.add-actual-resource-popup { + width: 100%; + height: 100%; + nb-dialog-container { + width: inherit; + height: inherit; + nb-card { + height: 100%; + border-radius: 0; + } + } +} \ No newline at end of file diff --git a/projects/arc/src/app/app-routing.module.ts b/projects/arc/src/app/app-routing.module.ts index eb10e063..a08e01b2 100644 --- a/projects/arc/src/app/app-routing.module.ts +++ b/projects/arc/src/app/app-routing.module.ts @@ -26,7 +26,7 @@ const routes: Routes = [ path: '**', redirectTo: environment.homePath, }, -]; + ]; @NgModule({ imports: [RouterModule.forRoot(routes)], diff --git a/projects/arc/src/app/app.component.html b/projects/arc/src/app/app.component.html index bd1ea9d2..248b9758 100644 --- a/projects/arc/src/app/app.component.html +++ b/projects/arc/src/app/app.component.html @@ -1,3 +1,54 @@
+ + + + + + + + \ No newline at end of file diff --git a/projects/arc/src/app/app.component.ts b/projects/arc/src/app/app.component.ts index bec728d4..bdd7f187 100644 --- a/projects/arc/src/app/app.component.ts +++ b/projects/arc/src/app/app.component.ts @@ -1,4 +1,6 @@ -import {Component, OnInit} from '@angular/core'; +import { SelectionModel } from '@angular/cdk/collections'; +import {Component, Input, OnInit} from '@angular/core'; +import { GanttTaskValue } from '@project-lib/components/gantt'; import {ComponentBaseDirective} from '@project-lib/core/component-base'; import {TranslationService} from '@project-lib/core/localization'; import {IconPacksManagerService} from '@project-lib/theme/services'; @@ -22,4 +24,53 @@ export class AppComponent extends ComponentBaseDirective implements OnInit { this.iconMgr.registerFontAwesome(); this.iconMgr.registerSvgs(); } -} + +// groupConfig=[]; +// selectedOptions=new SelectionModel(); +// showIcon=true; +// options=[{ +// name:"tia", +// }] +// mockItem:GanttTaskValue={ +// id: "1", +// start_date: new Date(), +// end_date: new Date(), +// name: "Tia", +// subtitle: "abvh", + +// type: 0, + +// hasChildren: true, +// isParent: false, +// payload: {}, +// subAllocations:[], + +// } +// yourOptionsArray: any[] = [ +// { id: 1, name: 'Option 1' }, +// { id: 2, name: 'Option 2' }, +// // Add more options as needed +// ]; +// selectedValue: any; // For single select +// // selectedValues: any[] = []; // For multiple select + +// onValueChange(newValue: any) { +// // Handle the new selected value here +// this.selectedValue = newValue; +// // For multiple select: +// // this.selectedValues = newValue; +// } + +// onToggle(item: any) { +// // Handle item selection or deselection +// } + +// onRemove(item: any) { +// // Handle item removal +// } +// @Input() desc!: boolean; +// @Input() name?: string; +// @Input() searchPlaceholder = 'Enter your search here'; +// @Input() showSearch!: boolean; + + } diff --git a/projects/arc/src/app/app.module.ts b/projects/arc/src/app/app.module.ts index 32737302..337ea42f 100644 --- a/projects/arc/src/app/app.module.ts +++ b/projects/arc/src/app/app.module.ts @@ -1,24 +1,27 @@ -import {NgModule, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core'; -import {BrowserModule} from '@angular/platform-browser'; +import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; -import {AppRoutingModule} from './app-routing.module'; -import {AppComponent} from './app.component'; -import {HttpClientModule} from '@angular/common/http'; -import {IconPacksManagerService} from '@project-lib/theme/services'; -import {TranslateService, TranslateStore} from '@ngx-translate/core'; +import { AppRoutingModule } from './app-routing.module'; +import { AppComponent } from './app.component'; +import { HttpClientModule } from '@angular/common/http'; +import { IconPacksManagerService } from '@project-lib/theme/services'; +import { TranslateService, TranslateStore } from '@ngx-translate/core'; import { LocalizationModule, TranslationService, } from '@project-lib/core/localization'; -import {SystemStoreFacadeService} from '@project-lib/core/store'; -import {InMemoryStorageService} from 'ngx-webstorage-service'; -import {EnvAdapterService} from '@project-lib/core/store/adapters'; -import {ApiService} from '@project-lib/core/api'; -import {CoreModule} from '@project-lib/core/core.module'; -import {APP_CONFIG} from '@project-lib/app-config'; -import {environment} from '../environments/environment'; -import {ThemeModule} from '@project-lib/theme/theme.module'; -import {NbLayoutModule, NbThemeModule} from '@nebular/theme'; +import { SystemStoreFacadeService } from '@project-lib/core/store'; +import { InMemoryStorageService } from 'ngx-webstorage-service'; +import { EnvAdapterService } from '@project-lib/core/store/adapters'; +import { ApiService } from '@project-lib/core/api'; +import { CoreModule } from '@project-lib/core/core.module'; +import { APP_CONFIG } from '@project-lib/app-config'; +import { environment } from '../environments/environment'; +import { ThemeModule } from '@project-lib/theme/theme.module'; +import { SelectModule } from '@project-lib/components/selector'; +import { NbLayoutModule, NbThemeModule } from '@nebular/theme'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { GanttModule } from '@project-lib/components/index'; @NgModule({ declarations: [AppComponent], @@ -32,6 +35,9 @@ import {NbLayoutModule, NbThemeModule} from '@nebular/theme'; ThemeModule, NbThemeModule.forRoot(), NbLayoutModule, + SelectModule, + GanttModule, + BrowserAnimationsModule, ], providers: [ TranslationService, diff --git a/projects/arc/src/app/main/home/home-routing.module.ts b/projects/arc/src/app/main/home/home-routing.module.ts index ad07129f..9b70d8c5 100644 --- a/projects/arc/src/app/main/home/home-routing.module.ts +++ b/projects/arc/src/app/main/home/home-routing.module.ts @@ -1,6 +1,5 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; - import { HomeComponent } from './home.component'; const routes: Routes = [ diff --git a/projects/arc/src/app/main/home/home.component.html b/projects/arc/src/app/main/home/home.component.html index b0df3143..a07efb3a 100644 --- a/projects/arc/src/app/main/home/home.component.html +++ b/projects/arc/src/app/main/home/home.component.html @@ -15,10 +15,11 @@

homepage-illustration
+ diff --git a/projects/arc/src/app/main/home/home.component.ts b/projects/arc/src/app/main/home/home.component.ts index d7d5d5a7..bdb9612c 100644 --- a/projects/arc/src/app/main/home/home.component.ts +++ b/projects/arc/src/app/main/home/home.component.ts @@ -25,6 +25,7 @@ export class HomeComponent loggedInUserDM: LoggedInUserDM = new LoggedInUserDM(); greeting = ''; + // imagePath="assets/images/Illustration.svg"; ngOnInit(): void { this.authService @@ -38,6 +39,7 @@ export class HomeComponent getGreetingText() { // Intentionally ignored as this is needed to be done sequentially + // sonarignore:start const data = [ [21, 'Good Night'], @@ -48,7 +50,7 @@ export class HomeComponent ], hr = new Date().getHours(); for (let i = 0; i < data.length; i++) { - if (hr >= data[i][0]) { + if (hr >= +data[i][0]) { return data[i][1] as string; } } @@ -56,3 +58,7 @@ export class HomeComponent return 'Good morning'; } } + + + + diff --git a/projects/arc/src/app/main/home/home.module.ts b/projects/arc/src/app/main/home/home.module.ts index 18947083..5336c53a 100644 --- a/projects/arc/src/app/main/home/home.module.ts +++ b/projects/arc/src/app/main/home/home.module.ts @@ -11,3 +11,4 @@ import {APP_CONFIG} from '@project-lib/app-config'; imports: [CommonModule, HomeRoutingModule, ThemeModule], }) export class HomeModule {} + diff --git a/projects/arc/src/app/main/main-routing.module.ts b/projects/arc/src/app/main/main-routing.module.ts index f014c582..235abd25 100644 --- a/projects/arc/src/app/main/main-routing.module.ts +++ b/projects/arc/src/app/main/main-routing.module.ts @@ -5,14 +5,14 @@ import { MainComponent } from './main.component'; const routes: Routes = [ { path: '', - component: MainComponent, - children: [ - { + component: MainComponent, + children: [ + { path: 'home', - loadChildren: () => - import('./home/home.module').then((m) => m.HomeModule), - }, - ], + loadChildren: () => + import('./home/home.module').then((m) => m.HomeModule), + }, + ], }, ]; diff --git a/projects/arc/src/styles.scss b/projects/arc/src/styles.scss index c57f5bc1..4e49bb2f 100644 --- a/projects/arc/src/styles.scss +++ b/projects/arc/src/styles.scss @@ -1,8 +1,8 @@ @use './themes' as *; -@use 'projects/arc-lib/src/lib/theme/styles/index' as *; +@use '../../arc-lib/src/lib/theme/styles/index.scss' as *; @use '@nebular/theme/styles/globals' as *; @use '@nebular/auth/styles/globals' as *; -@use 'projects/arc-lib/src/lib/theme/styles/variables' as *; +@use '../../arc-lib/src/lib/theme/styles/variables' as *; @include nb-install() { @include nb-theme-global(); diff --git a/projects/package.json b/projects/package.json new file mode 100644 index 00000000..93ab8279 --- /dev/null +++ b/projects/package.json @@ -0,0 +1,12 @@ +{ + "name": "projects", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} From 8a64944802e94528c57bc90fe157e07bba6493e8 Mon Sep 17 00:00:00 2001 From: Deepika Mahindroo Date: Tue, 10 Oct 2023 12:22:54 +0530 Subject: [PATCH 2/4] changes in selectComponent --- projects/arc-lib/documentation.json | 797 ++++++++------- .../lib/components/auth/auth.component.html | 2 +- .../src/lib/components/auth/auth.module.ts | 6 +- .../auth/login/login.component.html | 22 +- .../auth/login/login.component.scss | 14 +- .../components/auth/login/login.component.ts | 10 +- .../selector/list/list.component.ts | 4 +- .../lib/components/selector/select.module.ts | 3 + .../selector/select/select.component.html | 69 +- .../selector/select/select.component.scss | 2 +- .../selector/select/select.component.ts | 936 +++++++++--------- .../arc-lib/src/lib/theme/theme.module.ts | 2 + .../src/stories/components/select.stories.ts | 1 + 13 files changed, 1024 insertions(+), 844 deletions(-) diff --git a/projects/arc-lib/documentation.json b/projects/arc-lib/documentation.json index 2ac6c8fa..ab2d66c2 100644 --- a/projects/arc-lib/documentation.json +++ b/projects/arc-lib/documentation.json @@ -9136,7 +9136,7 @@ ] }, "extends": "NbAuthComponent", - "templateData": "\n \n \n \n \n \n \n
\n \n
\n
\n
\n" + "templateData": "\n \n \n \n \n \n \n
\n \"loginImg\"\n
\n
\n
\n" }, { "name": "BbGanttComponent", @@ -10399,9 +10399,52 @@ ], "stylesData": "" }, + { + "name": "HomePageComponent", + "id": "component-HomePageComponent-ad2f14cf68ed638020557d17e85d630842f1d11d7b77326f4e953ce0f954c5605b57c8b7d2a7e8481e1a3ca4ea7910568da83445350ef7b99dae103e75cefd3f", + "file": "projects/arc-lib/src/lib/components/auth/home-page/home-page.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "lib-home-page", + "styleUrls": [ + "./home-page.component.css" + ], + "styles": [], + "templateUrl": [ + "./home-page.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [], + "outputsClass": [], + "propertiesClass": [], + "methodsClass": [], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-home-page',\n templateUrl: './home-page.component.html',\n styleUrls: ['./home-page.component.css']\n})\nexport class HomePageComponent {\n\n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": "", + "styleUrl": "./home-page.component.css" + } + ], + "stylesData": "", + "templateData": "

home-page works!

\n" + }, { "name": "ListComponent", - "id": "component-ListComponent-3f5ab0f7af740f15c1aba70e922e578f29b7e5c7af27cde23b0601249d9ed75413d4cbe3888d48bab88572376d1283324fce60a9a4d5595ed2be701e7b70490e", + "id": "component-ListComponent-c51534d6b745d3071ce2f0d336ec650e1dce2ead5e1b306666f301a521ed0f4d32ea3c700de8ee6d4637c8f0916dabe67f6003ca8628ceb6c74c87c29be4490c", "file": "projects/arc-lib/src/lib/components/selector/list/list.component.ts", "changeDetection": "ChangeDetectionStrategy.OnPush", "encapsulation": [], @@ -10409,7 +10452,7 @@ "inputs": [], "outputs": [], "providers": [], - "selector": "list", + "selector": "app-list", "styleUrls": [ "./list.component.scss" ], @@ -10600,15 +10643,15 @@ "description": "

Emits a value of true when the user clicks the close button.

\n", "jsdoctags": [ { - "pos": 2776, - "end": 2858, + "pos": 2780, + "end": 2862, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 330, "tagName": { - "pos": 2777, - "end": 2788, + "pos": 2781, + "end": 2792, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10638,15 +10681,15 @@ "description": "

Emits the selected value when the user toggles an option.

\n", "jsdoctags": [ { - "pos": 2988, - "end": 3051, + "pos": 2992, + "end": 3055, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 344, "tagName": { - "pos": 2989, - "end": 2994, + "pos": 2993, + "end": 2998, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10655,8 +10698,8 @@ }, "comment": "

The value of the option that the user toggled.

\n", "name": { - "pos": 2995, - "end": 3000, + "pos": 2999, + "end": 3004, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10754,7 +10797,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 240, + "line": 242, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIf the user presses enter on the search box, and there are items in the list, select the first item\nin the list\n", @@ -10773,7 +10816,7 @@ "optional": false, "returnType": "string", "typeParameters": [], - "line": 201, + "line": 203, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nGet the name of the item by getting the value of the name field of the item.\n", @@ -10781,8 +10824,8 @@ "jsdoctags": [ { "name": { - "pos": 4924, - "end": 4928, + "pos": 4971, + "end": 4975, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10793,8 +10836,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 4906, - "end": 4911, + "pos": 4953, + "end": 4958, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10803,22 +10846,22 @@ }, "comment": "
    \n
  • InputType - the item that we're getting the name of
  • \n
\n", "typeExpression": { - "pos": 4912, - "end": 4923, + "pos": 4959, + "end": 4970, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 4913, - "end": 4922, + "pos": 4960, + "end": 4969, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 4913, - "end": 4922, + "pos": 4960, + "end": 4969, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10830,8 +10873,8 @@ }, { "tagName": { - "pos": 4989, - "end": 4996, + "pos": 5036, + "end": 5043, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10855,7 +10898,7 @@ "optional": false, "returnType": "boolean", "typeParameters": [], - "line": 227, + "line": 229, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIf the id of the item is a string and it's equal to the placeholder item, then return true.\nOtherwise, return false\n", @@ -10863,8 +10906,8 @@ "jsdoctags": [ { "name": { - "pos": 5762, - "end": 5766, + "pos": 5809, + "end": 5813, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10875,8 +10918,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 5744, - "end": 5749, + "pos": 5791, + "end": 5796, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10885,22 +10928,22 @@ }, "comment": "
    \n
  • InputType - the item to check
  • \n
\n", "typeExpression": { - "pos": 5750, - "end": 5761, + "pos": 5797, + "end": 5808, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 5751, - "end": 5760, + "pos": 5798, + "end": 5807, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 5751, - "end": 5760, + "pos": 5798, + "end": 5807, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10912,8 +10955,8 @@ }, { "tagName": { - "pos": 5805, - "end": 5812, + "pos": 5852, + "end": 5859, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10930,7 +10973,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 172, + "line": 174, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nAfter the view is initialized, if the searchInput exists, focus on it.\n", @@ -10949,7 +10992,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 179, + "line": 181, "deprecated": false, "deprecationMessage": "", "jsdoctags": [ @@ -10989,7 +11032,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 209, + "line": 211, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIt removes an item from the list, emits an event, and then checks if the list is empty\n", @@ -10997,8 +11040,8 @@ "jsdoctags": [ { "name": { - "pos": 5235, - "end": 5239, + "pos": 5282, + "end": 5286, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11009,8 +11052,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 5217, - "end": 5222, + "pos": 5264, + "end": 5269, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11019,22 +11062,22 @@ }, "comment": "
    \n
  • InputType - the item to be removed from the list
  • \n
\n", "typeExpression": { - "pos": 5223, - "end": 5234, + "pos": 5270, + "end": 5281, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 5224, - "end": 5233, + "pos": 5271, + "end": 5280, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 5224, - "end": 5233, + "pos": 5271, + "end": 5280, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11052,7 +11095,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 246, + "line": 248, "deprecated": false, "deprecationMessage": "" }, @@ -11069,7 +11112,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 189, + "line": 191, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nThe function takes an item of type T, and emits an event with the item as the payload\n", @@ -11077,8 +11120,8 @@ "jsdoctags": [ { "name": { - "pos": 4637, - "end": 4641, + "pos": 4684, + "end": 4688, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11089,8 +11132,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 4619, - "end": 4624, + "pos": 4666, + "end": 4671, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11099,22 +11142,22 @@ }, "comment": "
    \n
  • InputType - the item that was clicked
  • \n
\n", "typeExpression": { - "pos": 4625, - "end": 4636, + "pos": 4672, + "end": 4683, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 4626, - "end": 4635, + "pos": 4673, + "end": 4682, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 4626, - "end": 4635, + "pos": 4673, + "end": 4682, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11136,7 +11179,7 @@ "description": "", "rawdescription": "\n", "type": "component", - "sourceCode": "import { SelectionModel } from '@angular/cdk/collections';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n\nimport { NbFormFieldModule, NbListModule } from '@nebular/theme';\nimport { ITEM_HEIGHT, PLACEHOLDER_ITEM } from '../constants';\nimport { GroupConfig } from '../types';\n\n@Component({\n selector: 'list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ListComponent<\n InputType,\n MultipleMode extends boolean,\n Value extends InputType[IdField],\n IdField extends keyof InputType,\n> implements OnInit, AfterViewInit, OnChanges {\n constructor(private _cdr: ChangeDetectorRef) { }\n /**\n * The list of items to display.\n */\n @Input()\n options?: InputType[] = [];\n\n /**\n * The name of the field in the generic type T that contains the name of the\n * item to display. This is used to read the name of each item in the list.\n */\n @Input()\n nameField: keyof InputType = 'name' as keyof InputType;\n\n /**\n * The field in the data item that uniquely identifies it.\n */\n @Input()\n idField: IdField = 'id' as IdField;\n\n /**\n * The field to show disabled items in the list\n */\n @Input()\n disabledField: keyof InputType = 'deleted' as keyof InputType;\n\n /* height of the each items in the list. */\n @Input()\n itemHeight = ITEM_HEIGHT;\n\n /* A boolean that is used to determine if the user can select multiple items in the list. */\n @Input()\n multiple: MultipleMode = false as MultipleMode;\n\n /**\n * Whether to show the search box.\n */\n @Input()\n search = true;\n\n /**\n * The removal input is a boolean value that determines whether or not the\n * component should be rendered in removal mode\n */\n @Input()\n removal = false;\n\n /* Placeholder for the search input */\n @Input()\n searchPlaceholder = 'search';\n\n /**\n * This is the search result text to be displayed when no search result is found.\n */\n @Input()\n noSearchResultText = 'noResultLbl';\n\n /**\n * The text to display when no data is available\n */\n @Input()\n noDataText = 'noDataLbl';\n\n /* label to show to add a custom item in the dropdown */\n @Input()\n addTagString = 'createANewTag';\n\n /* When the user presses enter while searching, the first item visible is selected */\n @Input()\n selectOnEnter = true;\n\n /**\n * Indicates whether custom the input is allowed.\n */\n @Input()\n allowInput = false;\n\n @Input()\n selections!: SelectionModel;\n\n /**\n * @description\n * Emits a value of true when the user clicks the close button.\n */\n @Output()\n closed = new EventEmitter();\n\n /**\n * Emits the selected value when the user toggles an option.\n * @param value The value of the option that the user toggled.\n */\n @Output()\n toggle = new EventEmitter();\n\n /* Emits an event when an item is removed */\n @Output()\n remove = new EventEmitter();\n\n @ViewChild('searchInput')\n searchInput!: ElementRef;\n\n @ViewChild(CdkVirtualScrollViewport)\n viewport!: CdkVirtualScrollViewport;\n\n visibleList: InputType[] = [];\n searchControl!: UntypedFormControl;\n removed!: Set;\n\n @Input()\n showIcon!: boolean;\n\n @Input()\n groupConfig?: GroupConfig[] = [];\n groupIndexMap: Record = {};\n /**\n * It initializes the removed set, the visible list, and the search control\n */\n ngOnInit(): void {\n this.removed = new Set();\n this.visibleList = Object.assign([], this.options);\n this.sortByGroups();\n this.searchControl = new UntypedFormControl();\n this.searchControl.valueChanges.subscribe(value => {\n this.visibleList =\n this.options?.filter(\n item =>\n !value ||\n this.getName(item).toLowerCase().includes(value.toLowerCase()),\n ) ?? [];\n this.sortByGroups();\n });\n }\n\n /**\n * After the view is initialized, if the searchInput exists, focus on it.\n */\n ngAfterViewInit(): void {\n if (this.searchInput) {\n this.searchInput.nativeElement.focus();\n this._cdr.detectChanges();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['options']) {\n this.visibleList = Object.assign([], this.options);\n }\n }\n\n /**\n * The function takes an item of type T, and emits an event with the item as the payload\n * @param {InputType} item - InputType - the item that was clicked\n */\n toggleItem(item: InputType) {\n this.toggle.emit(item);\n if (this.allowInput) {\n this.closed.emit();\n }\n }\n\n /**\n * Get the name of the item by getting the value of the name field of the item.\n * @param {InputType} item - InputType - the item that we're getting the name of\n * @returns The name of the item.\n */\n getName(item: InputType) {\n return item[this.nameField] as unknown as string;\n }\n\n /**\n * It removes an item from the list, emits an event, and then checks if the list is empty\n * @param {InputType} item - InputType - the item to be removed from the list\n */\n removeItem(item: InputType) {\n this.removed.add(item);\n this.remove.emit(item);\n this.visibleList =\n this.options?.filter(item => !this.removed.has(item)) ?? [];\n if (this.visibleList.length) {\n this.viewport?.checkViewportSize();\n } else {\n this.closed.emit(true);\n }\n }\n\n /**\n * If the id of the item is a string and it's equal to the placeholder item, then return true.\n * Otherwise, return false\n * @param {InputType} item - InputType - the item to check\n * @returns A boolean value.\n */\n isPlaceholder(item: InputType) {\n const id = item[this.idField];\n if (typeof id === 'string' && id === PLACEHOLDER_ITEM) {\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * If the user presses enter on the search box, and there are items in the list, select the first item\n * in the list\n */\n enterOnSearch() {\n if (!this.removal && this.visibleList.length) {\n this.toggleItem(this.visibleList[0]);\n }\n }\n\n sortByGroups() {\n if (this.groupConfig && this.groupConfig.length) {\n let groupedData: InputType[][] = this.groupConfig.map(() => []);\n this.visibleList?.forEach(option => {\n const group = this.groupConfig!.findIndex(\n group =>\n (group.value === '*' && option[group.fieldName]) ||\n option[group.fieldName] === group.value,\n );\n if (group !== -1) groupedData[group].push(option);\n });\n this.groupIndexMap = this.groupConfig.reduce(\n (acc, obj, index) =>\n obj.groupName ? { ...acc, [index]: obj.groupName } : acc,\n {},\n );\n this.visibleList = groupedData.flat();\n }\n }\n}\n", + "sourceCode": "import { SelectionModel } from '@angular/cdk/collections';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n\nimport { NbFormFieldModule, NbListModule } from '@nebular/theme';\nimport { ITEM_HEIGHT, PLACEHOLDER_ITEM } from '../constants';\nimport { GroupConfig } from '../types';\n\n@Component({\n selector: 'app-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ListComponent<\n InputType,\n MultipleMode extends boolean,\n Value extends InputType[IdField],\n IdField extends keyof InputType,\n> implements OnInit, AfterViewInit, OnChanges {\n constructor(private _cdr: ChangeDetectorRef) { }\n /**\n * The list of items to display.\n */\n @Input()\n options?: InputType[] = [];\n\n /**\n * The name of the field in the generic type T that contains the name of the\n * item to display. This is used to read the name of each item in the list.\n */\n @Input()\n nameField: keyof InputType = 'name' as keyof InputType;\n\n /**\n * The field in the data item that uniquely identifies it.\n */\n @Input()\n idField: IdField = 'id' as IdField;\n\n /**\n * The field to show disabled items in the list\n */\n @Input()\n disabledField: keyof InputType = 'deleted' as keyof InputType;\n\n /* height of the each items in the list. */\n @Input()\n itemHeight = ITEM_HEIGHT;\n\n /* A boolean that is used to determine if the user can select multiple items in the list. */\n @Input()\n multiple: MultipleMode = false as MultipleMode;\n\n /**\n * Whether to show the search box.\n */\n @Input()\n search = true;\n\n /**\n * The removal input is a boolean value that determines whether or not the\n * component should be rendered in removal mode\n */\n @Input()\n removal = false;\n\n /* Placeholder for the search input */\n @Input()\n searchPlaceholder = 'search';\n\n /**\n * This is the search result text to be displayed when no search result is found.\n */\n @Input()\n noSearchResultText = 'noResultLbl';\n\n /**\n * The text to display when no data is available\n */\n @Input()\n noDataText = 'noDataLbl';\n\n /* label to show to add a custom item in the dropdown */\n @Input()\n addTagString = 'createANewTag';\n\n /* When the user presses enter while searching, the first item visible is selected */\n @Input()\n selectOnEnter = true;\n\n /**\n * Indicates whether custom the input is allowed.\n */\n @Input()\n allowInput = false;\n\n @Input()\n selections!: SelectionModel;\n\n /**\n * @description\n * Emits a value of true when the user clicks the close button.\n */\n @Output()\n closed = new EventEmitter();\n\n /**\n * Emits the selected value when the user toggles an option.\n * @param value The value of the option that the user toggled.\n */\n @Output()\n toggle = new EventEmitter();\n\n /* Emits an event when an item is removed */\n @Output()\n remove = new EventEmitter();\n\n @ViewChild('searchInput')\n searchInput!: ElementRef;\n\n @ViewChild(CdkVirtualScrollViewport)\n viewport!: CdkVirtualScrollViewport;\n\n visibleList: InputType[] = [];\n searchControl!: UntypedFormControl;\n removed!: Set;\n\n @Input()\n showIcon!: boolean;\n\n @Input()\n groupConfig?: GroupConfig[] = [];\n groupIndexMap: Record = {};\n /**\n * It initializes the removed set, the visible list, and the search control\n */\n ngOnInit(): void {\n debugger\n console.log(this.options)\n this.removed = new Set();\n this.visibleList = Object.assign([], this.options);\n this.sortByGroups();\n this.searchControl = new UntypedFormControl();\n this.searchControl.valueChanges.subscribe(value => {\n this.visibleList =\n this.options?.filter(\n item =>\n !value ||\n this.getName(item).toLowerCase().includes(value.toLowerCase()),\n ) ?? [];\n this.sortByGroups();\n });\n }\n\n /**\n * After the view is initialized, if the searchInput exists, focus on it.\n */\n ngAfterViewInit(): void {\n if (this.searchInput) {\n this.searchInput.nativeElement.focus();\n this._cdr.detectChanges();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['options']) {\n this.visibleList = Object.assign([], this.options);\n }\n }\n\n /**\n * The function takes an item of type T, and emits an event with the item as the payload\n * @param {InputType} item - InputType - the item that was clicked\n */\n toggleItem(item: InputType) {\n this.toggle.emit(item);\n if (this.allowInput) {\n this.closed.emit();\n }\n }\n\n /**\n * Get the name of the item by getting the value of the name field of the item.\n * @param {InputType} item - InputType - the item that we're getting the name of\n * @returns The name of the item.\n */\n getName(item: InputType) {\n return item[this.nameField] as unknown as string;\n }\n\n /**\n * It removes an item from the list, emits an event, and then checks if the list is empty\n * @param {InputType} item - InputType - the item to be removed from the list\n */\n removeItem(item: InputType) {\n this.removed.add(item);\n this.remove.emit(item);\n this.visibleList =\n this.options?.filter(item => !this.removed.has(item)) ?? [];\n if (this.visibleList.length) {\n this.viewport?.checkViewportSize();\n } else {\n this.closed.emit(true);\n }\n }\n\n /**\n * If the id of the item is a string and it's equal to the placeholder item, then return true.\n * Otherwise, return false\n * @param {InputType} item - InputType - the item to check\n * @returns A boolean value.\n */\n isPlaceholder(item: InputType) {\n const id = item[this.idField];\n if (typeof id === 'string' && id === PLACEHOLDER_ITEM) {\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * If the user presses enter on the search box, and there are items in the list, select the first item\n * in the list\n */\n enterOnSearch() {\n if (!this.removal && this.visibleList.length) {\n this.toggleItem(this.visibleList[0]);\n }\n }\n\n sortByGroups() {\n if (this.groupConfig && this.groupConfig.length) {\n let groupedData: InputType[][] = this.groupConfig.map(() => []);\n this.visibleList?.forEach(option => {\n const group = this.groupConfig!.findIndex(\n group =>\n (group.value === '*' && option[group.fieldName]) ||\n option[group.fieldName] === group.value,\n );\n if (group !== -1) groupedData[group].push(option);\n });\n this.groupIndexMap = this.groupConfig.reduce(\n (acc, obj, index) =>\n obj.groupName ? { ...acc, [index]: obj.groupName } : acc,\n {},\n );\n this.visibleList = groupedData.flat();\n }\n }\n}\n", "assetsDirs": [], "styleUrlsData": [ { @@ -11180,7 +11223,7 @@ }, { "name": "LoginComponent", - "id": "component-LoginComponent-01652c30418cc3d3d88610ccda934e1631f72ed2daf7440dd1570f55afe806de9f37acaf81ccace17afbfb15bb11369d6ab87e8293e2a574f95115325f86f0e2", + "id": "component-LoginComponent-b151535ce500ab657b82741b948d2271bc4f23659d3f79fd7479fc01dadcaaaa0489eecf02d07fc6cee2f030047a991cb4adba0679f12e865a09a94322e3a06f", "file": "projects/arc-lib/src/lib/components/auth/login/login.component.ts", "encapsulation": [], "entryComponents": [], @@ -11200,6 +11243,16 @@ "inputsClass": [], "outputsClass": [], "propertiesClass": [ + { + "name": "image", + "defaultValue": "\"../../../assets/images/auth/angular.png\"", + "deprecated": false, + "deprecationMessage": "", + "type": "string", + "optional": false, + "description": "", + "line": 24 + }, { "name": "_destroy$", "defaultValue": "new Subject()", @@ -11224,7 +11277,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 21, + "line": 27, "deprecated": false, "deprecationMessage": "" }, @@ -11489,11 +11542,11 @@ "description": "", "rawdescription": "\n", "type": "component", - "sourceCode": "import {Location} from '@angular/common';\nimport {Component} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {AuthService} from '@project-lib/core/auth';\nimport {RouteComponentBaseDirective} from '@project-lib/core/route-component-base';\n\n@Component({\n selector: 'login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n})\nexport class LoginComponent extends RouteComponentBaseDirective {\n constructor(\n override readonly route: ActivatedRoute,\n override readonly location: Location,\n private readonly authService: AuthService,\n ) {\n super(route, location);\n }\n\n loginViaGoogle() {\n this.authService.loginViaGoogle();\n }\n}\n", + "sourceCode": "import {Location} from '@angular/common';\nimport {Component, Inject} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {AuthService} from '@project-lib/core/auth';\nimport {RouteComponentBaseDirective} from '@project-lib/core/route-component-base';\n\n// import { APP_BASE_HREF } from '@angular/common';\n\n@Component({\n selector: 'login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n})\nexport class LoginComponent extends RouteComponentBaseDirective {\n constructor(\n override readonly route: ActivatedRoute,\n override readonly location: Location,\n private readonly authService: AuthService,\n // @Inject(APP_BASE_HREF)\n // private baseHref: string\n ) {\n super(route, location);\n }\n image=\"../../../assets/images/auth/angular.png\"\n// \"\"\n// projects/arc-lib/src/lib/assets/images/auth/angular.png\n loginViaGoogle() {\n this.authService.loginViaGoogle();\n }\n}\n", "assetsDirs": [], "styleUrlsData": [ { - "data": "@use \"sass:map\";\n@use \"projects/arc-lib/src/lib/theme/styles/_variables.scss\" as *;\n\n:host {\n .logo {\n padding-top: 15%;\n }\n\n .description {\n padding-top: 10%;\n }\n\n .login-btn {\n padding-top: 10%;\n }\n\n .footer {\n padding-top: 15%;\n }\n}\n\n.google-btn {\n width: 24.125rem;\n height: 4rem;\n border-radius: 0.375rem;\n font-size: 1.25rem;\n font-family: #{nb-theme(font-family-primary)};\n font-weight: 600;\n line-height: 1.5rem;\n background-color: map.get($font, \"light\");\n border: 0.063rem solid map.get($color, \"border-disable\");\n position: absolute;\n\n &:hover {\n border-color: map-get($font, \"placeholder\");\n }\n\n &:active {\n border-color: map-get($font, \"primary\");\n }\n}\n", + "data": "@use \"sass:map\";\n@use \"../../../theme/styles/variables\" as *;\n@use \"../../../../styles.scss\" as *;\n@use \"../../../../../../arc/src/themes.scss\" as *;\n\n\n:host {\n .logo {\n padding-top: 10%;\n }\n\n .description {\n padding-top: 10%;\n }\n\n .login-btn {\n padding-top: 7%;\n }\n\n .footer {\n padding-top: 7%;\n }\n}\n*{font-family: 'Montserrat,Open Sans,sans-serif',}\n\n.google-btn {\n width: 24.125rem;\n height: 4rem;\n border-radius: 0.375rem;\n font-size: 1.25rem;\n font-family: #{nb-theme(font-family-primary)};\n font-weight: 600;\n line-height: 1.5rem;\n background-color: map.get($font, \"light\");\n border: 0.063rem solid map.get($color, \"border-disable\");\n position: absolute;\n\n &:hover {\n border-color: map-get($font, \"placeholder\");\n }\n\n &:active {\n border-color: map-get($font, \"primary\");\n }\n}", "styleUrl": "./login.component.scss" } ], @@ -11523,7 +11576,7 @@ "deprecationMessage": "" } ], - "line": 12, + "line": 14, "jsdoctags": [ { "name": "route", @@ -11555,7 +11608,50 @@ ] }, "extends": "RouteComponentBaseDirective", - "templateData": "\n \n
\n \n
\n
\n

Hello and Welcome! to the Angular Boiler Plate

\n
\n
\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam egestas\n dui sit amet purus consequat, sed ornare nulla imperdiete tiam egestas\n dui sit amet.\n
\n
\n \n
\n
\n \n By continuing with Google, you agree to our Terms of Service and Privacy\n Policy.\n \n
\n
\n
\n" + "templateData": "\n \n
\n \"logo\"\n\n \n
\n
\n

Hello and Welcome! to the Angular Boiler Plate

\n
\n
\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam egestas\n dui sit amet purus consequat, sed ornare nulla imperdiete tiam egestas\n dui sit amet.\n
\n
\n \n
\n
\n \n By continuing with Google, you agree to our Terms of Service and Privacy\n Policy.\n \n
\n
\n
" + }, + { + "name": "LoginPageComponent", + "id": "component-LoginPageComponent-93527239b2a8ab8295d9fae540ccf0bde7fc41988b4cb05d95a1b0f4a1cb1352dec9d60e53d9aed699bfd576dc01bd74a26c0e718dca208fde5d68d47e324ffc", + "file": "projects/arc-lib/src/lib/components/auth/login-page/login-page.component.ts", + "encapsulation": [], + "entryComponents": [], + "inputs": [], + "outputs": [], + "providers": [], + "selector": "lib-login-page", + "styleUrls": [ + "./login-page.component.css" + ], + "styles": [], + "templateUrl": [ + "./login-page.component.html" + ], + "viewProviders": [], + "hostDirectives": [], + "inputsClass": [], + "outputsClass": [], + "propertiesClass": [], + "methodsClass": [], + "deprecated": false, + "deprecationMessage": "", + "hostBindings": [], + "hostListeners": [], + "standalone": false, + "imports": [], + "description": "", + "rawdescription": "\n", + "type": "component", + "sourceCode": "import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-login-page',\n templateUrl: './login-page.component.html',\n styleUrls: ['./login-page.component.css']\n})\nexport class LoginPageComponent {\n\n \n}\n", + "assetsDirs": [], + "styleUrlsData": [ + { + "data": "", + "styleUrl": "./login-page.component.css" + } + ], + "stylesData": "", + "templateData": "

login-page works!

\n" }, { "name": "PageComponent", @@ -11642,7 +11738,7 @@ }, { "name": "SelectComponent", - "id": "component-SelectComponent-868876e7d0bf79ef0b4696f0443d82c3fc78cfe968392c91ec3de1016d5cd1af326b61ecd57963f0387f691d78176192898ea55cdcef7ba18fa8095863089b77", + "id": "component-SelectComponent-49cf7f5b0a102725c742a767eeb5044640ea026faef3c3174e7d99b98ba1a754d4f560376666364da16317e51f57401c61fe74616b4217ce8e22af91516afbb2", "file": "projects/arc-lib/src/lib/components/selector/select/select.component.ts", "changeDetection": "ChangeDetectionStrategy.OnPush", "encapsulation": [], @@ -11655,7 +11751,7 @@ "type": "component" } ], - "selector": "select", + "selector": "selector", "styleUrls": [ "./select.component.scss" ], @@ -11671,7 +11767,7 @@ "defaultValue": "'createANewTag'", "deprecated": false, "deprecationMessage": "", - "line": 203, + "line": 217, "type": "string", "decorators": [] }, @@ -11682,16 +11778,16 @@ "deprecationMessage": "", "rawdescription": "\n\nIndicates whether custom the input is allowed.\n", "description": "

Indicates whether custom the input is allowed.

\n", - "line": 195, + "line": 209, "type": "boolean", "decorators": [] }, { - "name": "disabled", + "name": "disabledDropdown", "defaultValue": "false", "deprecated": false, "deprecationMessage": "", - "line": 189, + "line": 200, "type": "boolean", "decorators": [] }, @@ -11702,7 +11798,7 @@ "deprecationMessage": "", "rawdescription": "\n\nThe field to show disabled items in the list\n", "description": "

The field to show disabled items in the list

\n", - "line": 155, + "line": 157, "type": "", "decorators": [] }, @@ -11711,10 +11807,20 @@ "defaultValue": "[]", "deprecated": false, "deprecationMessage": "", - "line": 211, + "line": 225, "type": "GroupConfig[]", "decorators": [] }, + { + "name": "hiddenValues", + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nHide these options in list.\n", + "description": "

Hide these options in list.

\n", + "line": 190, + "type": "Set", + "decorators": [] + }, { "name": "idField", "defaultValue": "'id' as IdField", @@ -11722,7 +11828,7 @@ "deprecationMessage": "", "rawdescription": "\n\nThe field in the data item that uniquely identifies it.\n", "description": "

The field in the data item that uniquely identifies it.

\n", - "line": 137, + "line": 139, "type": "IdField", "decorators": [] }, @@ -11731,25 +11837,33 @@ "defaultValue": "INPUT_MIN_WIDTH", "deprecated": false, "deprecationMessage": "", - "line": 166, + "line": 168, "type": "any", "decorators": [] }, + { + "name": "itemTemplate", + "deprecated": false, + "deprecationMessage": "", + "line": 237, + "type": "TemplateRef>", + "decorators": [] + }, { "name": "maxVisibleItems", "defaultValue": "MIN_VISIBLE_ITEMS", "deprecated": false, "deprecationMessage": "", - "line": 199, + "line": 213, "type": "any", "decorators": [] }, { "name": "multiple", - "defaultValue": "false as MultipleMode", + "defaultValue": "true as MultipleMode", "deprecated": false, "deprecationMessage": "", - "line": 170, + "line": 172, "type": "MultipleMode", "decorators": [] }, @@ -11760,7 +11874,7 @@ "deprecationMessage": "", "rawdescription": "\n\nThe name of the field in the generic type T that contains the name of the\nitem to display. This is used to read the name of each item in the list.\n", "description": "

The name of the field in the generic type T that contains the name of the\nitem to display. This is used to read the name of each item in the list.

\n", - "line": 149, + "line": 151, "type": "", "decorators": [] }, @@ -11770,7 +11884,7 @@ "deprecationMessage": "", "rawdescription": "\n\nThe options that will be displayed in the select.\n", "description": "

The options that will be displayed in the select.

\n", - "line": 176, + "line": 178, "type": "InputType[]", "decorators": [] }, @@ -11781,7 +11895,7 @@ "deprecationMessage": "", "rawdescription": "\n\nThe text to be displayed in the input box when no value is entered.\n", "description": "

The text to be displayed in the input box when no value is entered.

\n", - "line": 161, + "line": 163, "type": "string", "decorators": [] }, @@ -11792,7 +11906,7 @@ "deprecationMessage": "", "rawdescription": "\n\nWhether to show the search box.\n", "description": "

Whether to show the search box.

\n", - "line": 185, + "line": 196, "type": "boolean", "decorators": [] }, @@ -11801,7 +11915,7 @@ "defaultValue": "'search'", "deprecated": false, "deprecationMessage": "", - "line": 207, + "line": 221, "type": "string", "decorators": [] }, @@ -11812,7 +11926,7 @@ "deprecationMessage": "", "rawdescription": "\n\nWhether to select the first option when the user presses enter\n", "description": "

Whether to select the first option when the user presses enter

\n", - "line": 216, + "line": 230, "type": "boolean", "decorators": [] }, @@ -11821,7 +11935,9 @@ "defaultValue": "true", "deprecated": false, "deprecationMessage": "", - "line": 179, + "rawdescription": "\n\nDisable cross icon in input field.\n", + "description": "

Disable cross icon in input field.

\n", + "line": 184, "type": "boolean", "decorators": [] }, @@ -11832,7 +11948,16 @@ "deprecationMessage": "", "rawdescription": "\n\nshowIcon allows user to show initial of the option as an icon\n", "description": "

showIcon allows user to show initial of the option as an icon

\n", - "line": 143, + "line": 145, + "type": "boolean", + "decorators": [] + }, + { + "name": "showSelectedOnTop", + "defaultValue": "false", + "deprecated": false, + "deprecationMessage": "", + "line": 234, "type": "boolean", "decorators": [] }, @@ -11842,15 +11967,15 @@ "deprecationMessage": "", "jsdoctags": [ { - "pos": 6602, - "end": 6651, + "pos": 6846, + "end": 6893, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 344, "tagName": { - "pos": 6603, - "end": 6608, + "pos": 6847, + "end": 6852, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11859,8 +11984,8 @@ }, "comment": "
    \n
  • ValueType<MultipleMode, Value>
  • \n
\n", "name": { - "pos": 6609, - "end": 6614, + "pos": 6853, + "end": 6858, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11873,7 +11998,7 @@ ], "rawdescription": "\n\nThe function sets the value of the selection model to the value passed in\n", "description": "

The function sets the value of the selection model to the value passed in

\n", - "line": 262, + "line": 283, "type": "ValueType", "decorators": [] } @@ -11884,7 +12009,7 @@ "defaultValue": "new EventEmitter()", "deprecated": false, "deprecationMessage": "", - "line": 225, + "line": 246, "type": "EventEmitter" }, { @@ -11892,7 +12017,7 @@ "defaultValue": "new EventEmitter()", "deprecated": false, "deprecationMessage": "", - "line": 231, + "line": 252, "type": "EventEmitter" }, { @@ -11900,7 +12025,7 @@ "defaultValue": "new EventEmitter()", "deprecated": false, "deprecationMessage": "", - "line": 219, + "line": 240, "type": "EventEmitter" }, { @@ -11908,7 +12033,7 @@ "defaultValue": "new EventEmitter()", "deprecated": false, "deprecationMessage": "", - "line": 222, + "line": 243, "type": "EventEmitter" }, { @@ -11916,7 +12041,7 @@ "defaultValue": "new EventEmitter()", "deprecated": false, "deprecationMessage": "", - "line": 228, + "line": 249, "type": "EventEmitter" }, { @@ -11924,7 +12049,7 @@ "defaultValue": "new EventEmitter>()", "deprecated": false, "deprecationMessage": "", - "line": 234, + "line": 255, "type": "EventEmitter" } ], @@ -11936,7 +12061,7 @@ "type": "ElementRef", "optional": true, "description": "", - "line": 76, + "line": 78, "decorators": [ { "name": "ViewChild", @@ -11954,7 +12079,7 @@ "type": "Panel", "optional": true, "description": "", - "line": 85 + "line": 87 }, { "name": "currentPanelType", @@ -11963,7 +12088,7 @@ "type": "PanelType", "optional": true, "description": "", - "line": 86 + "line": 88 }, { "name": "dropdownHeight", @@ -11972,7 +12097,7 @@ "type": "number", "optional": false, "description": "", - "line": 129 + "line": 131 }, { "name": "elementRef", @@ -11981,7 +12106,7 @@ "type": "ElementRef", "optional": false, "description": "", - "line": 64, + "line": 66, "modifierKind": [ 123 ] @@ -11994,7 +12119,7 @@ "type": "", "optional": false, "description": "", - "line": 81 + "line": 83 }, { "name": "itemHeight", @@ -12004,7 +12129,7 @@ "type": "", "optional": false, "description": "", - "line": 121 + "line": 123 }, { "name": "onChange", @@ -12014,7 +12139,7 @@ "type": "", "optional": false, "description": "", - "line": 237 + "line": 258 }, { "name": "onTouched", @@ -12024,7 +12149,7 @@ "type": "", "optional": false, "description": "", - "line": 239 + "line": 260 }, { "name": "overlay", @@ -12033,7 +12158,7 @@ "type": "Overlay", "optional": false, "description": "", - "line": 63, + "line": 65, "modifierKind": [ 123 ] @@ -12046,7 +12171,7 @@ "type": "", "optional": false, "description": "", - "line": 117 + "line": 119 }, { "name": "panels", @@ -12055,17 +12180,17 @@ "type": "Record>", "optional": false, "description": "", - "line": 84 + "line": 86 }, { "name": "positions", - "defaultValue": "[\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 5,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'bizbook-select-panel-above',\n },\n ]", + "defaultValue": "[\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 5,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'select-panel-above',\n },\n ]", "deprecated": false, "deprecationMessage": "", "type": "ConnectedPosition[]", "optional": false, "description": "", - "line": 95 + "line": 97 }, { "name": "searchHeight", @@ -12075,7 +12200,7 @@ "type": "", "optional": false, "description": "", - "line": 125 + "line": 127 }, { "name": "selectedItems", @@ -12085,7 +12210,7 @@ "type": "SelectionModel", "optional": false, "description": "", - "line": 79 + "line": 81 }, { "name": "selections", @@ -12095,7 +12220,7 @@ "type": "SelectionModel", "optional": false, "description": "", - "line": 78 + "line": 80 }, { "name": "state", @@ -12105,7 +12230,7 @@ "type": "SelectState", "optional": false, "description": "", - "line": 92 + "line": 94 }, { "name": "states", @@ -12115,7 +12240,7 @@ "type": "", "optional": false, "description": "", - "line": 89 + "line": 91 }, { "name": "suffixCount", @@ -12125,7 +12250,7 @@ "type": "number", "optional": false, "description": "", - "line": 131 + "line": 133 }, { "name": "suffixWidth", @@ -12135,7 +12260,7 @@ "type": "", "optional": false, "description": "", - "line": 123 + "line": 125 }, { "name": "tagMargin", @@ -12145,7 +12270,7 @@ "type": "", "optional": false, "description": "", - "line": 119 + "line": 121 }, { "name": "tags", @@ -12154,7 +12279,7 @@ "type": "QueryList", "optional": false, "description": "", - "line": 73, + "line": 75, "decorators": [ { "name": "ViewChildren", @@ -12173,7 +12298,7 @@ "type": "", "optional": false, "description": "", - "line": 90 + "line": 92 }, { "name": "visibleTags", @@ -12183,7 +12308,7 @@ "type": "InputType[]", "optional": false, "description": "", - "line": 80 + "line": 82 }, { "name": "width", @@ -12193,7 +12318,7 @@ "type": "number", "optional": false, "description": "", - "line": 113 + "line": 115 }, { "name": "_destroy$", @@ -12219,7 +12344,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 680, + "line": 717, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\n_dropdownHeight() is a private function that calculates the panelHeight property based on the number\nof items in the data array and the `maxVisibleItems` property.\nIf the `search` property is true, then it adds the `searchHeight` property to the panelHeight.\n", @@ -12234,7 +12359,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 641, + "line": 678, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\n> Initialize the selection models based on the `multiple` property\n", @@ -12262,7 +12387,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 667, + "line": 704, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIt sets the height of the `panel` div to the height of the number of items in the `invisibleTags`\narray, or the `maxVisibleItems` property, whichever is smaller\n", @@ -12304,7 +12429,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 657, + "line": 694, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIt updates the width of the panel overlay element.\n", @@ -12330,7 +12455,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 575, + "line": 611, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nA function that is called when the selection changes.\n", @@ -12339,6 +12464,52 @@ 121 ] }, + { + "name": "_setIsSelectedOption", + "args": [ + { + "name": "items", + "type": "InputType[]", + "deprecated": false, + "deprecationMessage": "" + }, + { + "name": "value", + "type": "boolean", + "deprecated": false, + "deprecationMessage": "" + } + ], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 728, + "deprecated": false, + "deprecationMessage": "", + "modifierKind": [ + 121 + ], + "jsdoctags": [ + { + "name": "items", + "type": "InputType[]", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + }, + { + "name": "value", + "type": "boolean", + "deprecated": false, + "deprecationMessage": "", + "tagName": { + "text": "param" + } + } + ] + }, { "name": "_setSelections", "args": [ @@ -12352,7 +12523,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 591, + "line": 627, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\n`this._setSelections` is a private function that updates the value of the selections\n", @@ -12363,8 +12534,8 @@ "jsdoctags": [ { "name": { - "pos": 16438, - "end": 16443, + "pos": 16732, + "end": 16737, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12375,8 +12546,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 16432, - "end": 16437, + "pos": 16726, + "end": 16731, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12393,7 +12564,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 606, + "line": 642, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIf the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set\nit to false\n", @@ -12402,21 +12573,6 @@ 121 ] }, - { - "name": "_updateWidth", - "args": [], - "optional": false, - "returnType": "void", - "typeParameters": [], - "line": 649, - "deprecated": false, - "deprecationMessage": "", - "rawdescription": "\n\nIt updates the width of the dropdown overlay element.\n", - "description": "

It updates the width of the dropdown overlay element.

\n", - "modifierKind": [ - 121 - ] - }, { "name": "asString", "args": [ @@ -12432,72 +12588,20 @@ "typeParameters": [ "T" ], - "line": 553, + "line": 590, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIt takes an item of type T and returns it as a string\n", "description": "

It takes an item of type T and returns it as a string

\n", "jsdoctags": [ { - "name": { - "pos": 15296, - "end": 15300, - "flags": 8421376, - "modifierFlagsCache": 0, - "transformFlags": 0, - "kind": 79, - "escapedText": "item" - }, + "name": "item", "type": "T", "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 15286, - "end": 15291, - "flags": 8421376, - "modifierFlagsCache": 0, - "transformFlags": 0, - "kind": 79, - "escapedText": "param" - }, - "comment": "
    \n
  • T - The item to be converted to a string.
  • \n
\n", - "typeExpression": { - "pos": 15292, - "end": 15295, - "flags": 8421376, - "modifierFlagsCache": 0, - "transformFlags": 0, - "kind": 312, - "type": { - "pos": 15293, - "end": 15294, - "flags": 8388608, - "modifierFlagsCache": 0, - "transformFlags": 1, - "kind": 180, - "typeName": { - "pos": 15293, - "end": 15294, - "flags": 8388608, - "modifierFlagsCache": 0, - "transformFlags": 0, - "kind": 79, - "escapedText": "T" - } - } + "text": "param" } - }, - { - "tagName": { - "pos": 15351, - "end": 15358, - "flags": 8421376, - "modifierFlagsCache": 0, - "transformFlags": 0, - "kind": 79, - "escapedText": "returns" - }, - "comment": "

The item as a string.

\n" } ] }, @@ -12514,7 +12618,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 438, + "line": 475, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIf the user presses enter, clear the input and if there's an autocomplete suggestion, select it\n", @@ -12522,8 +12626,8 @@ "jsdoctags": [ { "name": { - "pos": 11940, - "end": 11945, + "pos": 12360, + "end": 12365, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12534,8 +12638,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 11915, - "end": 11920, + "pos": 12335, + "end": 12340, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12544,22 +12648,22 @@ }, "comment": "
    \n
  • HTMLInputElement - the input element that the user is typing in
  • \n
\n", "typeExpression": { - "pos": 11921, - "end": 11939, + "pos": 12341, + "end": 12359, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 11922, - "end": 11938, + "pos": 12342, + "end": 12358, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 11922, - "end": 11938, + "pos": 12342, + "end": 12358, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12577,7 +12681,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 345, + "line": 380, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIt clears the selections and selectedItems collections, then emits the cleared event\n", @@ -12589,7 +12693,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 478, + "line": 515, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nThe function closes the dropdown and tells Angular to check for changes\n", @@ -12601,7 +12705,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 387, + "line": 424, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIf there is a current panel, set its state to closed and clear the current panel and panel type\n", @@ -12613,7 +12717,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 486, + "line": 523, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIt emits the new value of the select box\n", @@ -12632,7 +12736,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 453, + "line": 490, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIf the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item\ndropdown.\n", @@ -12640,8 +12744,8 @@ "jsdoctags": [ { "name": { - "pos": 12413, - "end": 12417, + "pos": 12807, + "end": 12811, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12652,8 +12756,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 12395, - "end": 12400, + "pos": 12789, + "end": 12794, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12662,22 +12766,22 @@ }, "comment": "
    \n
  • InputType - this is the item that was selected from the autocomplete\ndropdown.
  • \n
\n", "typeExpression": { - "pos": 12401, - "end": 12412, + "pos": 12795, + "end": 12806, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 12402, - "end": 12411, + "pos": 12796, + "end": 12805, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 12402, - "end": 12411, + "pos": 12796, + "end": 12805, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12702,7 +12806,7 @@ "optional": false, "returnType": "boolean", "typeParameters": [], - "line": 563, + "line": 600, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIf the id of the item is a string and it's equal to the placeholder item, then return true.\nOtherwise, return false\n", @@ -12710,8 +12814,8 @@ "jsdoctags": [ { "name": { - "pos": 15611, - "end": 15615, + "pos": 15951, + "end": 15955, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12722,8 +12826,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 15593, - "end": 15598, + "pos": 15933, + "end": 15938, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12732,22 +12836,22 @@ }, "comment": "
    \n
  • InputType - the item to check
  • \n
\n", "typeExpression": { - "pos": 15599, - "end": 15610, + "pos": 15939, + "end": 15950, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 15600, - "end": 15609, + "pos": 15940, + "end": 15949, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 15600, - "end": 15609, + "pos": 15940, + "end": 15949, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12759,8 +12863,8 @@ }, { "tagName": { - "pos": 15654, - "end": 15661, + "pos": 15992, + "end": 15999, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12784,7 +12888,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 311, + "line": 332, "deprecated": false, "deprecationMessage": "", "jsdoctags": [ @@ -12805,7 +12909,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 300, + "line": 321, "deprecated": false, "deprecationMessage": "" }, @@ -12815,7 +12919,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 470, + "line": 507, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nThe funtion closes the dropdown, change detection is triggered internally by the update width method\n", @@ -12834,7 +12938,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 375, + "line": 412, "deprecated": false, "deprecationMessage": "", "jsdoctags": [ @@ -12870,7 +12974,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 241, + "line": 262, "deprecated": false, "deprecationMessage": "", "jsdoctags": [ @@ -12907,7 +13011,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 245, + "line": 266, "deprecated": false, "deprecationMessage": "", "jsdoctags": [ @@ -12936,7 +13040,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 253, + "line": 274, "deprecated": false, "deprecationMessage": "", "jsdoctags": [ @@ -12964,7 +13068,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 325, + "line": 351, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIf the item is not a placeholder, toggle the item in the selections array. If the item is a\nplaceholder, and it is not selected, emit the item as a newRemoved event\n", @@ -12972,8 +13076,8 @@ "jsdoctags": [ { "name": { - "pos": 8634, - "end": 8638, + "pos": 8877, + "end": 8881, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12984,8 +13088,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 8616, - "end": 8621, + "pos": 8859, + "end": 8864, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12994,22 +13098,22 @@ }, "comment": "
    \n
  • InputType - the item that was selected/deselected
  • \n
\n", "typeExpression": { - "pos": 8622, - "end": 8633, + "pos": 8865, + "end": 8876, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 8623, - "end": 8632, + "pos": 8866, + "end": 8875, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 8623, - "end": 8632, + "pos": 8866, + "end": 8875, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13027,7 +13131,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 355, + "line": 393, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIf the state is closed, open the dropdown, otherwise close it\n", @@ -13046,7 +13150,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 367, + "line": 404, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIf the panel is closed, open it, otherwise close it\n", @@ -13076,7 +13180,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 400, + "line": 437, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIt filters the autocomplete options based on the value of the input, and adds a placeholder option\nif the value is not found in the data\n", @@ -13084,8 +13188,8 @@ "jsdoctags": [ { "name": { - "pos": 10644, - "end": 10649, + "pos": 11136, + "end": 11141, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13096,8 +13200,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 10629, - "end": 10634, + "pos": 11121, + "end": 11126, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13106,15 +13210,15 @@ }, "comment": "
    \n
  • string - the value of the input field
  • \n
\n", "typeExpression": { - "pos": 10635, - "end": 10643, + "pos": 11127, + "end": 11135, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 10636, - "end": 10642, + "pos": 11128, + "end": 11134, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, @@ -13130,7 +13234,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 617, + "line": 653, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIt updates the selectedItems with the selected items\n", @@ -13139,18 +13243,6 @@ 121 ] }, - { - "name": "updateTagsCount", - "args": [], - "optional": false, - "returnType": "void", - "typeParameters": [], - "line": 502, - "deprecated": false, - "deprecationMessage": "", - "rawdescription": "\n\nIt calculates the width of the tags and the input box and then decides which tags to show and which\nto hide\n", - "description": "

It calculates the width of the tags and the input box and then decides which tags to show and which\nto hide

\n" - }, { "name": "writeValue", "args": [ @@ -13164,7 +13256,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 249, + "line": 270, "deprecated": false, "deprecationMessage": "", "jsdoctags": [ @@ -13228,11 +13320,11 @@ "description": "", "rawdescription": "\n", "type": "component", - "sourceCode": "import {SelectionModel} from '@angular/cdk/collections';\nimport {ConnectedPosition, Overlay, ViewportRuler} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {DIGITS} from '@project-lib/core/constants';\nimport {ComponentBaseDirective} from '@project-lib/core/component-base';\nimport {NbTagComponent} from '@nebular/theme';\nimport {cloneDeep, isEqual} from 'lodash';\nimport {takeUntil} from 'rxjs';\nimport {dropdownAnimation, rotateAnimation} from '../animations';\nimport {\n INPUT_MIN_WIDTH,\n ITEM_HEIGHT,\n MIN_VISIBLE_ITEMS,\n panelConfigs,\n PanelType,\n PLACEHOLDER_ITEM,\n SEARCH_HEIGHT,\n SelectState,\n SUFFIX_WIDTH,\n TAG_MARGIN,\n TAG_PADDING,\n} from '../constants';\nimport {GroupConfig, Panel, ValueType} from '../types';\n@Component({\n selector: 'select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n animations: [dropdownAnimation, rotateAnimation],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SelectComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SelectComponent<\n InputType,\n MultipleMode extends boolean,\n Value extends InputType[IdField],\n IdField extends keyof InputType,\n >\n extends ComponentBaseDirective\n implements ControlValueAccessor, OnInit, OnChanges\n{\n constructor(\n public overlay: Overlay,\n public elementRef: ElementRef,\n protected _viewportRuler: ViewportRuler,\n private _cdr: ChangeDetectorRef,\n ) {\n super();\n this.panels = cloneDeep(panelConfigs);\n }\n\n @ViewChildren(NbTagComponent)\n tags!: QueryList;\n\n @ViewChild('autoCompleteInput')\n autoCompleteInput?: ElementRef;\n\n selections: SelectionModel = new SelectionModel();\n selectedItems: SelectionModel = new SelectionModel();\n visibleTags: InputType[] = [];\n isEmpty = true;\n\n /* Defining config for both kinds of panels */\n panels: Record>;\n currentPanel?: Panel;\n currentPanelType?: PanelType;\n\n /* A type alias for states and panel type enum */\n states = SelectState;\n types = PanelType;\n /* Setting the state of the dropdown to closed. */\n state: SelectState = SelectState.Closed;\n\n /* Setting the position of the dropdown. */\n positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 5,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'bizbook-select-panel-above',\n },\n ];\n\n // dropdown overlay width, this is set based on width of container\n width = 0;\n\n /* css dependent values, these are supposed to be changed whenever css is changed */\n /* the padding of the tags container. */\n padding = TAG_PADDING;\n /* The margin between tags. */\n tagMargin = TAG_MARGIN;\n /* The height of each item in the dropdown. */\n itemHeight = ITEM_HEIGHT;\n /* The width of the cross, plus and chevron icons. */\n suffixWidth = SUFFIX_WIDTH;\n /* The height of the input box */\n searchHeight = SEARCH_HEIGHT;\n\n /* calculated values based on above values */\n /* A variable that is used to set the height of the dropdown. */\n dropdownHeight!: number;\n /* this could 1,2 or 3, based on the whether the cross, plus and chevrons */\n suffixCount = 0;\n\n /**\n * The field in the data item that uniquely identifies it.\n */\n @Input()\n idField: IdField = 'id' as IdField;\n\n /**\n * showIcon allows user to show initial of the option as an icon\n */\n @Input()\n showIcon = false;\n /**\n * The name of the field in the generic type T that contains the name of the\n * item to display. This is used to read the name of each item in the list.\n */\n @Input()\n nameField: keyof InputType = 'name' as keyof InputType;\n\n /**\n * The field to show disabled items in the list\n */\n @Input()\n disabledField: keyof InputType = 'deleted' as keyof InputType;\n\n /**\n * The text to be displayed in the input box when no value is entered.\n */\n @Input()\n placeholder = '';\n\n // Sets the minimum width for the input box, in pixels.\n // Used to prevent the input box from shrinking when the container is very small.\n @Input()\n inputMinWidth = INPUT_MIN_WIDTH;\n\n // This code sets the multiple mode for the Select component.\n @Input()\n multiple: MultipleMode = false as MultipleMode;\n\n /**\n * The options that will be displayed in the select.\n */\n @Input()\n options?: InputType[];\n\n @Input()\n showClearAll = true;\n\n /**\n * Whether to show the search box.\n */\n @Input()\n search = true;\n\n // disable the dropdown\n @Input()\n disabled = false;\n\n /**\n * Indicates whether custom the input is allowed.\n */\n @Input()\n allowInput = false;\n\n /* Max number of items visible at a time in the dropdown, used to set the height */\n @Input()\n maxVisibleItems = MIN_VISIBLE_ITEMS;\n\n /* label to show to add a custom item in the dropdown */\n @Input()\n addTagString = 'createANewTag';\n\n /* Placeholder for the search input */\n @Input()\n searchPlaceholder = 'search';\n\n /* Used to get groupConfig from components to group data if needed */\n @Input()\n groupConfig: GroupConfig[] = [];\n /**\n * Whether to select the first option when the user presses enter\n */\n @Input()\n selectOnEnter = true;\n\n @Output()\n newAdded = new EventEmitter();\n\n @Output()\n newRemoved = new EventEmitter();\n\n @Output()\n added = new EventEmitter();\n\n @Output()\n removed = new EventEmitter();\n\n @Output()\n cleared = new EventEmitter();\n\n @Output()\n valueChange = new EventEmitter>();\n\n /* Control value accessor related properties */\n onChange = (value: ValueType) => {};\n\n onTouched = () => {};\n\n registerOnChange(onChange: (value: ValueType) => {}) {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouched: () => {}) {\n this.onTouched = onTouched;\n }\n\n writeValue(value: ValueType) {\n this.value = value;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n /**\n * The function sets the value of the selection model to the value passed in\n * @param value - ValueType\n */\n @Input()\n set value(value: ValueType) {\n this._initSelectionModel();\n this._setSelections(value);\n this.onChange(value);\n this.onTouched();\n this.updateTagsCount();\n }\n\n /**\n * If the `multiple` property is true, return the `selected` property of the `selections` object as an\n * array. Otherwise, return the first element of the `selected` property of the `selections` object as\n * a single value\n * @returns The value of the selected item.\n */\n get value(): ValueType {\n if (this.multiple === true) {\n return this.selections.selected as ValueType;\n } else {\n return this.selections.selected[0] as ValueType;\n }\n }\n\n /**\n * It returns the list of invisible tags to be shown in tags panel\n * @returns The list of invisible tags.\n */\n get invisibleTags() {\n return this.panels[PanelType.Extra].list;\n }\n\n /**\n * It sets the value of the invisibleTags property to the value of the value parameter.\n * @param {InputType[]} value - The value of the input.\n */\n set invisibleTags(value: InputType[]) {\n this.panels[PanelType.Extra].list = Object.assign([], value);\n }\n\n ngOnInit(): void {\n this._initSelectionModel();\n /* Subscribing to the viewportRuler's change event and updating the width of the element. */\n this._viewportRuler\n .change()\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n this._updateWidth();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['multiple'] && !changes['multiple'].isFirstChange()) {\n this._initSelectionModel();\n }\n this._dropdownHeight();\n this.updateSelectedItems();\n this.updateTagsCount();\n }\n\n /**\n * If the item is not a placeholder, toggle the item in the selections array. If the item is a\n * placeholder, and it is not selected, emit the item as a newRemoved event\n * @param {InputType} item - InputType - the item that was selected/deselected\n */\n toggle(item: InputType) {\n this.selectedItems.toggle(item);\n if (!this.isPlaceholder(item)) {\n this.selections.toggle(item[this.idField] as Value);\n if (this.selections.isSelected(item[this.idField] as Value)) {\n this.added.emit(item);\n } else {\n this.removed.emit(item);\n }\n } else if (!this.selectedItems.isSelected(item)) {\n this.newRemoved.emit(item);\n } else {\n this.newAdded.emit(item);\n }\n this._processChange();\n }\n\n /**\n * It clears the selections and selectedItems collections, then emits the cleared event\n */\n clearAll() {\n this.selections.clear();\n this.selectedItems.clear();\n this._processChange();\n this.cleared.emit();\n }\n\n /**\n * If the state is closed, open the dropdown, otherwise close it\n */\n toggleDropdown() {\n if (this.state === SelectState.Closed) {\n this.open();\n } else {\n this.close();\n }\n this._cdr.detectChanges();\n }\n\n /**\n * If the panel is closed, open it, otherwise close it\n */\n togglePanel(type: PanelType) {\n if (this.panels[type].state === SelectState.Closed) {\n this.openPanel(type);\n } else {\n this.closePanel();\n }\n }\n\n openPanel(type: PanelType) {\n this.panels[type].state = SelectState.Open;\n this.currentPanel = this.panels[type];\n this.currentPanelType = type;\n this._panelWidth(type);\n this._panelHeight(type, this.panels[type].list);\n this._cdr.detectChanges();\n }\n\n /**\n * If there is a current panel, set its state to closed and clear the current panel and panel type\n */\n closePanel() {\n if (this.currentPanel) {\n this.currentPanel.state = SelectState.Closed;\n this.currentPanel = undefined;\n this.currentPanelType = undefined;\n }\n }\n\n /**\n * It filters the autocomplete options based on the value of the input, and adds a placeholder option\n * if the value is not found in the data\n * @param {string} value - string - the value of the input field\n */\n updateAutocompleteOptions(value: string) {\n let showAddOption = !this.selectedItems.selected.some(item =>\n isEqual(item[this.nameField], value),\n );\n this.panels[PanelType.Autocomplete].list = [];\n if (value) {\n this.panels[PanelType.Autocomplete].list =\n this.options?.filter(item => {\n if (this.asString(item[this.nameField]) === value) {\n showAddOption = false;\n }\n return (\n !this.selections.isSelected(item[this.idField] as Value) &&\n this.asString(item[this.nameField])\n .toLowerCase()\n .trim()\n .indexOf(value.toLowerCase().trim()) > -1\n );\n }) ?? [];\n }\n if (showAddOption && value.length) {\n this.panels[PanelType.Autocomplete].list.push({\n [this.idField]: PLACEHOLDER_ITEM,\n [this.nameField]: value,\n } as unknown as InputType);\n }\n if (this.panels[PanelType.Autocomplete].list.length) {\n this.openPanel(PanelType.Autocomplete);\n } else {\n this.closePanel();\n }\n this._cdr.detectChanges();\n }\n\n /**\n * If the user presses enter, clear the input and if there's an autocomplete suggestion, select it\n * @param {HTMLInputElement} input - HTMLInputElement - the input element that the user is typing in\n */\n autocompleteEnter(input: HTMLInputElement) {\n input.value = '';\n if (this.panels[PanelType.Autocomplete].list[0]) {\n this.handleAutocompleteSelect(\n this.panels[PanelType.Autocomplete].list[0],\n );\n this.closePanel();\n }\n }\n\n /**\n * If the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item\n * @param {InputType} item - InputType - this is the item that was selected from the autocomplete\n * dropdown.\n */\n handleAutocompleteSelect(item: InputType) {\n if (this.isPlaceholder(item)) {\n this.selectedItems.select(item);\n this.newAdded.emit(item);\n } else {\n this.toggle(item);\n }\n this.panels[PanelType.Autocomplete].list = [];\n if (this.autoCompleteInput) {\n this.autoCompleteInput.nativeElement.value = '';\n }\n this._processChange();\n }\n\n /**\n * The funtion closes the dropdown, change detection is triggered internally by the update width method\n */\n open() {\n this.state = SelectState.Open;\n this._updateWidth();\n }\n\n /**\n * The function closes the dropdown and tells Angular to check for changes\n */\n close() {\n this.state = SelectState.Closed;\n this._cdr.detectChanges();\n }\n\n /**\n * It emits the new value of the select box\n */\n emitNewValue() {\n if (this.multiple === true) {\n this.valueChange.emit(\n this.selections.selected as ValueType,\n );\n } else {\n this.valueChange.emit(\n this.selections.selected[0] as ValueType,\n );\n }\n }\n\n /**\n * It calculates the width of the tags and the input box and then decides which tags to show and which\n * to hide\n */\n updateTagsCount() {\n // for cross and chevron if not disabled\n this.suffixCount = this.disabled ? 0 : DIGITS.TWO;\n if (this.invisibleTags.length) {\n // for the counter box\n this.suffixCount += 1;\n }\n this.invisibleTags = [];\n this.visibleTags = Object.assign([], this.selectedItems.selected);\n this._cdr.detectChanges();\n const inputBuffer =\n this.allowInput && !this.disabled\n ? this.inputMinWidth + DIGITS.TWO * this.tagMargin\n : 0;\n const width = this.elementRef.nativeElement.getBoundingClientRect().width;\n const rightPadding = this.suffixWidth * this.suffixCount;\n const allowedWidth =\n width - (this.padding * DIGITS.TWO + rightPadding + inputBuffer);\n let combinedWidth = 0;\n let i;\n for (i = 0; i < this.tags.length; i++) {\n const tag = this.tags.get(i);\n if (!tag) {\n break;\n }\n combinedWidth =\n combinedWidth +\n tag._hostElement.nativeElement.getBoundingClientRect().width +\n DIGITS.TWO * this.tagMargin;\n if (combinedWidth > allowedWidth) {\n break;\n }\n }\n if (i === 0) {\n i = 1;\n }\n this.visibleTags = this.selectedItems.selected.slice(0, i);\n this.invisibleTags = this.selectedItems.selected.slice(i);\n // this required again to ensure proper width of input element\n if (this.invisibleTags.length) {\n // for the counter box\n this.suffixCount += 1;\n }\n this._cdr.detectChanges();\n }\n\n /**\n * It takes an item of type T and returns it as a string\n * @param {T} item - T - The item to be converted to a string.\n * @returns The item as a string.\n */\n asString(item: T) {\n return item as unknown as string;\n }\n\n /**\n * If the id of the item is a string and it's equal to the placeholder item, then return true.\n * Otherwise, return false\n * @param {InputType} item - InputType - the item to check\n * @returns A boolean value.\n */\n isPlaceholder(item: InputType) {\n const id = item[this.idField];\n if (typeof id === 'string' && id === PLACEHOLDER_ITEM) {\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * A function that is called when the selection changes.\n */\n private _processChange() {\n this._updateEmptyState();\n this.emitNewValue();\n this.onChange(this.value);\n // this triggers the detect changes\n this.updateTagsCount();\n // this can only be called after tags have been updated\n if (this.currentPanel && this.currentPanelType) {\n this._panelHeight(this.currentPanelType, this.currentPanel.list);\n }\n }\n\n /**\n * `this._setSelections` is a private function that updates the value of the selections\n * @param value - ValueType\n */\n private _setSelections(value: ValueType) {\n if (this.multiple && Array.isArray(value)) {\n this.selections.select(...(value as Value[]));\n } else if (!this.multiple) {\n this.selections.select(value as Value);\n } else {\n this.selections.clear();\n }\n this.updateSelectedItems();\n }\n\n /**\n * If the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set\n * it to false\n */\n private _updateEmptyState() {\n if (this.selectedItems.selected.length === 0) {\n this.isEmpty = true;\n } else {\n this.isEmpty = false;\n }\n }\n\n /**\n * It updates the selectedItems with the selected items\n */\n private updateSelectedItems() {\n this.selectedItems.clear();\n const ids = this.selections.selected;\n if (this.multiple) {\n const items = this.options?.filter(item =>\n ids.includes(item[this.idField] as Value),\n );\n if (items?.length) {\n this.selectedItems.select(...items);\n }\n } else {\n const item = this.options?.find(\n item => item[this.idField] === ids[0],\n ) as InputType;\n if (item) {\n this.selectedItems.select(item);\n }\n }\n this._updateEmptyState();\n }\n\n /**\n * > Initialize the selection models based on the `multiple` property\n */\n private _initSelectionModel() {\n this.selections = new SelectionModel(this.multiple);\n this.selectedItems = new SelectionModel(this.multiple);\n }\n\n /**\n * It updates the width of the dropdown overlay element.\n */\n private _updateWidth() {\n this.width = this.elementRef.nativeElement.getBoundingClientRect().width;\n this._cdr.detectChanges();\n }\n\n /**\n * It updates the width of the panel overlay element.\n */\n private _panelWidth(type: PanelType) {\n this.panels[type].width =\n this.elementRef.nativeElement.getBoundingClientRect().width;\n this._cdr.detectChanges();\n }\n\n /**\n * It sets the height of the `panel` div to the height of the number of items in the `invisibleTags`\n * array, or the `maxVisibleItems` property, whichever is smaller\n */\n private _panelHeight(type: PanelType, list: InputType[]) {\n this.panels[type].height =\n list.length > this.maxVisibleItems\n ? this.itemHeight * this.maxVisibleItems\n : this.itemHeight * list.length;\n this._cdr.detectChanges();\n }\n\n /**\n * _dropdownHeight() is a private function that calculates the panelHeight property based on the number\n * of items in the data array and the `maxVisibleItems` property.\n * If the `search` property is true, then it adds the `searchHeight` property to the panelHeight.\n */\n private _dropdownHeight() {\n const minSize = this.options?.length || 1;\n this.dropdownHeight =\n minSize > this.maxVisibleItems\n ? this.itemHeight * this.maxVisibleItems\n : this.itemHeight * minSize;\n if (this.search) {\n this.dropdownHeight += this.searchHeight + 1;\n }\n }\n}\n", + "sourceCode": "import {SelectionModel} from '@angular/cdk/collections';\nimport {ConnectedPosition, Overlay, ViewportRuler} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NbTagComponent} from '@nebular/theme';\nimport {cloneDeep, isEqual} from 'lodash';\nimport {takeUntil} from 'rxjs';\nimport {dropdownAnimation, rotateAnimation} from '../animations';\nimport {\n INPUT_MIN_WIDTH,\n ITEM_HEIGHT,\n MIN_VISIBLE_ITEMS,\n PLACEHOLDER_ITEM,\n PanelType,\n SEARCH_HEIGHT,\n SUFFIX_WIDTH,\n SelectState,\n TAG_MARGIN,\n TAG_PADDING,\n panelConfigs,\n} from '../constants';\nimport {GroupConfig, ItemTemplate, Panel, ValueType} from '../types';\nimport { DIGITS } from '@project-lib/core/constants';\nimport { ComponentBaseDirective } from '@project-lib/core/component-base';\n@Component({\n selector: 'selector',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n animations: [dropdownAnimation, rotateAnimation],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SelectComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SelectComponent<\n InputType,\n MultipleMode extends boolean,\n Value extends InputType[IdField],\n IdField extends keyof InputType,\n >\n extends ComponentBaseDirective\n implements ControlValueAccessor, OnInit, OnChanges\n{\n constructor(\n public overlay: Overlay,\n public elementRef: ElementRef,\n protected _viewportRuler: ViewportRuler,\n private _cdr: ChangeDetectorRef,\n ) {\n super();\n this.panels = cloneDeep(panelConfigs);\n }\n\n @ViewChildren(NbTagComponent)\n tags: QueryList;\n\n @ViewChild('autoCompleteInput')\n autoCompleteInput?: ElementRef;\n\n selections: SelectionModel = new SelectionModel();\n selectedItems: SelectionModel = new SelectionModel();\n visibleTags: InputType[] = [];\n isEmpty = true;\n\n /* Defining config for both kinds of panels */\n panels: Record>;\n currentPanel?: Panel;\n currentPanelType?: PanelType;\n\n /* A type alias for states and panel type enum */\n states = SelectState;\n types = PanelType;\n /* Setting the state of the dropdown to closed. */\n state: SelectState = SelectState.Closed;\n\n /* Setting the position of the dropdown. */\n positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 5,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'select-panel-above',\n },\n ];\n\n // dropdown overlay width, this is set based on width of container\n width = 0;\n\n /* css dependent values, these are supposed to be changed whenever css is changed */\n /* the padding of the tags container. */\n padding = TAG_PADDING;\n /* The margin between tags. */\n tagMargin = TAG_MARGIN;\n /* The height of each item in the dropdown. */\n itemHeight = ITEM_HEIGHT;\n /* The width of the cross, plus and chevron icons. */\n suffixWidth = SUFFIX_WIDTH;\n /* The height of the input box */\n searchHeight = SEARCH_HEIGHT;\n\n /* calculated values based on above values */\n /* A variable that is used to set the height of the dropdown. */\n dropdownHeight: number;\n /* this could 1,2 or 3, based on the whether the cross, plus and chevrons */\n suffixCount = 0;\n\n /**\n * The field in the data item that uniquely identifies it.\n */\n @Input()\n idField: IdField = 'id' as IdField;\n\n /**\n * showIcon allows user to show initial of the option as an icon\n */\n @Input()\n showIcon = false;\n /**\n * The name of the field in the generic type T that contains the name of the\n * item to display. This is used to read the name of each item in the list.\n */\n @Input()\n nameField: keyof InputType = 'name' as keyof InputType;\n\n /**\n * The field to show disabled items in the list\n */\n @Input()\n disabledField: keyof InputType = 'deleted' as keyof InputType;\n\n /**\n * The text to be displayed in the input box when no value is entered.\n */\n @Input()\n placeholder = '';\n\n // Sets the minimum width for the input box, in pixels.\n // Used to prevent the input box from shrinking when the container is very small.\n @Input()\n inputMinWidth = INPUT_MIN_WIDTH;\n\n // This code sets the multiple mode for the Select component.\n @Input()\n multiple: MultipleMode = true as MultipleMode;\n\n /**\n * The options that will be displayed in the select.\n */\n @Input()\n options?: InputType[];\n\n /**\n * Disable cross icon in input field.\n */\n @Input()\n showClearAll = true;\n\n /**\n * Hide these options in list.\n */\n @Input()\n hiddenValues?: Set;\n\n /**\n * Whether to show the search box.\n */\n @Input()\n search = true;\n\n // disable the dropdown\n @Input()\n disabledDropdown = false;\n\n\n\n\n/**\n * Indicates whether custom the input is allowed.\n */\n@Input()\nallowInput = false;\n\n/* Max number of items visible at a time in the dropdown, used to set the height */\n@Input()\nmaxVisibleItems = MIN_VISIBLE_ITEMS;\n\n/* label to show to add a custom item in the dropdown */\n@Input()\naddTagString = 'createANewTag';\n\n/* Placeholder for the search input */\n@Input()\nsearchPlaceholder = 'search';\n\n/* Used to get groupConfig from components to group data if needed */\n@Input()\ngroupConfig: GroupConfig[] = [];\n/**\n * Whether to select the first option when the user presses enter\n */\n@Input()\nselectOnEnter = true;\n\n/* whether to show selected options on top */\n@Input()\nshowSelectedOnTop = false;\n\n@Input()\nitemTemplate: TemplateRef>;\n\n@Output()\nnewAdded = new EventEmitter();\n\n@Output()\nnewRemoved = new EventEmitter();\n\n@Output()\nadded = new EventEmitter();\n\n@Output()\nremoved = new EventEmitter();\n\n@Output()\ncleared = new EventEmitter();\n\n@Output()\nvalueChange = new EventEmitter>();\n\n/* Control value accessor related properties */\nonChange = (value: ValueType) => {};\n\nonTouched = () => {};\n\nregisterOnChange(onChange: (value: ValueType) => {}) {\n this.onChange = onChange;\n}\n\nregisterOnTouched(onTouched: () => {}) {\n this.onTouched = onTouched;\n}\n\nwriteValue(value: ValueType) {\n this.value = value;\n}\n\nsetDisabledState(isDisabled: boolean) {\n this.disabledDropdown = isDisabled;\n}\n\n/**\n * The function sets the value of the selection model to the value passed in\n * @param value - ValueType\n */\n@Input()\nset value(value: ValueType) {\n this._initSelectionModel();\n this._setSelections(value);\n this.onChange(value);\n this.onTouched();\n // this.updateTagsCount();\n}\n\n/**\n * If the `multiple` property is true, return the `selected` property of the `selections` object as an\n * array. Otherwise, return the first element of the `selected` property of the `selections` object as\n * a single value\n * @returns The value of the selected item.\n */\nget value(): ValueType {\n if (this.multiple === true) {\n return this.selections.selected as ValueType;\n } else {\n return this.selections.selected[0] as ValueType;\n }\n}\n\n/**\n * It returns the list of invisible tags to be shown in tags panel\n * @returns The list of invisible tags.\n */\nget invisibleTags() {\n return this.panels[PanelType.Extra].list;\n}\n\n/**\n * It sets the value of the invisibleTags property to the value of the value parameter.\n * @param {InputType[]} value - The value of the input.\n */\nset invisibleTags(value: InputType[]) {\n this.panels[PanelType.Extra].list = Object.assign([], value);\n}\n\nngOnInit(): void {\n console.log(this.options);\n this._initSelectionModel();\n /* Subscribing to the viewportRuler's change event and updating the width of the element. */\n this._viewportRuler\n .change()\n .subscribe(() => {\n // this._updateWidth();\n });\n}\n\nngOnChanges(changes: SimpleChanges): void {\n\n console.log(this.options)\n if (changes['multiple'] && !changes['multiple'].isFirstChange()) {\n this._initSelectionModel();\n }\n if (this.showSelectedOnTop) {\n this._setIsSelectedOption(this.options!, false);\n }\n this._dropdownHeight();\n this.updateSelectedItems();\n // this.updateTagsCount();\n}\n\n/**\n * If the item is not a placeholder, toggle the item in the selections array. If the item is a\n * placeholder, and it is not selected, emit the item as a newRemoved event\n * @param {InputType} item - InputType - the item that was selected/deselected\n */\ntoggle(item: InputType) {\n if (!this.multiple && this.selectedItems.isSelected(item)) {\n return;\n }\n this.selectedItems.toggle(item);\n if (!this.isPlaceholder(item)) {\n this.selections.toggle(item[this.idField] as Value);\n if (this.selections.isSelected(item[this.idField] as Value)) {\n this.added.emit(item);\n } else {\n this.removed.emit(item);\n }\n } else if (!this.selectedItems.isSelected(item)) {\n this.newRemoved.emit(item);\n } else {\n this.newAdded.emit(item);\n }\n const isSelectedOption = 'isSelected' as keyof InputType;\n if (item[isSelectedOption] !== undefined) {\n item[isSelectedOption] = !item[\n isSelectedOption\n ] as unknown as InputType[keyof InputType];\n }\n this._processChange();\n}\n\n/**\n * It clears the selections and selectedItems collections, then emits the cleared event\n */\nclearAll() {\n if (this.options?.length) {\n this._setIsSelectedOption(this.options, false);\n }\n this.selections.clear();\n this.selectedItems.clear();\n this._processChange();\n this.cleared.emit();\n}\n\n/**\n * If the state is closed, open the dropdown, otherwise close it\n */\ntoggleDropdown() {\n if (this.state === SelectState.Closed) {\n this.open();\n } else {\n this.close();\n }\n this._cdr.detectChanges();\n}\n /**\n * If the panel is closed, open it, otherwise close it\n */\n togglePanel(type: PanelType) {\n if (this.panels[type].state === SelectState.Closed) {\n this.openPanel(type);\n } else {\n this.closePanel();\n }\n}\n\nopenPanel(type: PanelType) {\n this.panels[type].state = SelectState.Open;\n this.currentPanel = this.panels[type];\n this.currentPanelType = type;\n this._panelWidth(type);\n this._panelHeight(type, this.panels[type].list);\n this._cdr.detectChanges();\n}\n\n/**\n * If there is a current panel, set its state to closed and clear the current panel and panel type\n */\nclosePanel() {\n if (this.currentPanel) {\n this.currentPanel.state = SelectState.Closed;\n this.currentPanel = undefined;\n this.currentPanelType = undefined;\n }\n}\n\n/**\n * It filters the autocomplete options based on the value of the input, and adds a placeholder option\n * if the value is not found in the data\n * @param {string} value - string - the value of the input field\n */\nupdateAutocompleteOptions(value: string) {\n let showAddOption = !this.selectedItems.selected.some(item =>\n isEqual(item[this.nameField], value),\n );\n this.panels[PanelType.Autocomplete].list = [];\n if (value) {\n this.panels[PanelType.Autocomplete].list =\n this.options?.filter?.(item => {\n if (this.asString(item[this.nameField]) === value) {\n showAddOption = false;\n }\n return (\n !this.selections.isSelected(item[this.idField] as Value) &&\n this.asString(item[this.nameField])\n .toLowerCase()\n .trim()\n .indexOf(value.toLowerCase().trim()) > -1\n );\n }) ?? [];\n }\n if (showAddOption && value.length) {\n this.panels[PanelType.Autocomplete].list.push({\n [this.idField]: PLACEHOLDER_ITEM,\n [this.nameField]: value,\n } as unknown as InputType);\n }\n if (this.panels[PanelType.Autocomplete].list.length) {\n this.openPanel(PanelType.Autocomplete);\n } else {\n this.closePanel();\n }\n this._cdr.detectChanges();\n}\n\n/**\n * If the user presses enter, clear the input and if there's an autocomplete suggestion, select it\n * @param {HTMLInputElement} input - HTMLInputElement - the input element that the user is typing in\n */\nautocompleteEnter(input: HTMLInputElement) {\n input.value = '';\n if (this.panels[PanelType.Autocomplete].list[0]) {\n this.handleAutocompleteSelect(\n this.panels[PanelType.Autocomplete].list[0],\n );\n this.closePanel();\n }\n}\n\n/**\n * If the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item\n * @param {InputType} item - InputType - this is the item that was selected from the autocomplete\n * dropdown.\n */\nhandleAutocompleteSelect(item: InputType) {\n if (this.isPlaceholder(item)) {\n this.selectedItems.select(item);\n this.newAdded.emit(item);\n } else {\n this.toggle(item);\n }\n this.panels[PanelType.Autocomplete].list = [];\n if (this.autoCompleteInput) {\n this.autoCompleteInput.nativeElement.value = '';\n }\n this._processChange();\n}\n\n/**\n * The funtion closes the dropdown, change detection is triggered internally by the update width method\n */\nopen() {\n this.state = SelectState.Open;\n // this._updateWidth();\n}\n\n/**\n * The function closes the dropdown and tells Angular to check for changes\n */\nclose() {\n this.state = SelectState.Closed;\n this._cdr.detectChanges();\n}\n\n/**\n * It emits the new value of the select box\n */\nemitNewValue() {\n if (this.multiple === true) {\n this.valueChange.emit(\n this.selections.selected as ValueType,\n );\n } else {\n this.valueChange.emit(\n this.selections.selected[0] as ValueType,\n );\n }\n}\n\n/**\n * It calculates the width of the tags and the input box and then decides which tags to show and which\n * to hide\n */\n// updateTagsCount() {\n// // for cross and chevron if not disabled\n// this.suffixCount = this.disabledDropdown ? 0 : DIGITS.TWO;\n// if (this.invisibleTags.length) {\n// // for the counter box\n// this.suffixCount += 1;\n// }\n// this.invisibleTags = [];\n// this.visibleTags = Object.assign([], this.selectedItems.selected);\n// this._cdr.detectChanges();\n// const inputBuffer =\n// this.allowInput && !this.disabledDropdown\n// ? this.inputMinWidth + DIGITS.TWO * this.tagMargin\n// : 0;\n// const width = this.elementRef.nativeElement.getBoundingClientRect().width;\n// const rightPadding = this.suffixWidth * this.suffixCount;\n// const allowedWidth =\n// width - (this.padding * DIGITS.TWO + rightPadding + inputBuffer);\n// let combinedWidth = 0;\n// let i;\n// for (i = 0; i < this.tags.length; i++) {\n// const tag = this.tags.get(i);\n// if (!tag) {\n// break;\n// }\n// combinedWidth =\n// combinedWidth +\n// tag._hostElement.nativeElement.getBoundingClientRect().width +\n// DIGITS.TWO * this.tagMargin;\n// if (combinedWidth > allowedWidth) {\n// break;\n// }\n// }\n// if (i === 0) {\n// i = 1;\n// }\n// this.visibleTags = this.selectedItems.selected.slice(0, i);\n// this.invisibleTags = this.selectedItems.selected.slice(i);\n// // this required again to ensure proper width of input element\n// if (this.invisibleTags.length) {\n// // for the counter box\n// this.suffixCount += 1;\n// }\n// this._cdr.detectChanges();\n// }\n\n/**\n * It takes an item of type T and returns it as a string\n * @param {T} item - T - The item to be converted to a string.\n * @returns The item as a string.\n */\nasString(item: T) {\n return item as unknown as string;\n}\n\n/**\n * If the id of the item is a string and it's equal to the placeholder item, then return true.\n * Otherwise, return false\n * @param {InputType} item - InputType - the item to check\n * @returns A boolean value.\n */\nisPlaceholder(item: InputType) {\n const id = item[this.idField];\n if (typeof id === 'string' && id === PLACEHOLDER_ITEM) {\n return true;\n } else {\n return false;\n }\n}\n /**\n * A function that is called when the selection changes.\n */\n private _processChange() {\n this._updateEmptyState();\n this.emitNewValue();\n this.onChange(this.value);\n // this triggers the detect changes\n // this.updateTagsCount();\n // this can only be called after tags have been updated\n if (this.currentPanel && this.currentPanelType) {\n this._panelHeight(this.currentPanelType, this.currentPanel.list);\n }\n}\n\n/**\n * `this._setSelections` is a private function that updates the value of the selections\n * @param value - ValueType\n */\nprivate _setSelections(value: ValueType) {\n if (this.multiple && Array.isArray(value)) {\n this.selections.select(...(value as Value[]));\n } else if (!this.multiple) {\n this.selections.select(value as Value);\n } else {\n this.selections.clear();\n }\n this.updateSelectedItems();\n}\n\n/**\n * If the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set\n * it to false\n */\nprivate _updateEmptyState() {\n if (this.selectedItems.selected.length === 0) {\n this.isEmpty = true;\n } else {\n this.isEmpty = false;\n }\n}\n\n/**\n * It updates the selectedItems with the selected items\n */\nprivate updateSelectedItems() {\n this.selectedItems.clear();\n const ids = this.selections.selected;\n if (this.multiple) {\n const items = this.options?.filter?.(item =>\n ids.includes(item[this.idField] as Value),\n );\n if (items?.length) {\n this.selectedItems.select(...items);\n this._setIsSelectedOption(items, true);\n }\n } else {\n const item = this.options?.find?.(\n item => item[this.idField] === ids[0],\n ) as InputType;\n if (item) {\n this.selectedItems.select(item);\n }\n }\n this._updateEmptyState();\n}\n\n/**\n * > Initialize the selection models based on the `multiple` property\n */\nprivate _initSelectionModel() {\n this.selections = new SelectionModel(this.multiple);\n this.selectedItems = new SelectionModel(this.multiple);\n}\n\n/**\n * It updates the width of the dropdown overlay element.\n */\n// private _updateWidth() {\n// this.width = this.elementRef.nativeElement.getBoundingClientRect().width;\n// this._cdr.detectChanges();\n// }\n\n/**\n * It updates the width of the panel overlay element.\n */\nprivate _panelWidth(type: PanelType) {\n this.panels[type].width =\n this.elementRef.nativeElement.getBoundingClientRect().width;\n this._cdr.detectChanges();\n}\n\n/**\n * It sets the height of the `panel` div to the height of the number of items in the `invisibleTags`\n * array, or the `maxVisibleItems` property, whichever is smaller\n */\nprivate _panelHeight(type: PanelType, list: InputType[]) {\n // this.panels[type].height =\n // list.length > this.maxVisibleItems\n // ? this.itemHeight * this.maxVisibleItems\n // : this.itemHeight * list.length;\n // this._cdr.detectChanges();\n}\n\n/**\n * _dropdownHeight() is a private function that calculates the panelHeight property based on the number\n * of items in the data array and the `maxVisibleItems` property.\n * If the `search` property is true, then it adds the `searchHeight` property to the panelHeight.\n */\nprivate _dropdownHeight() {\n // const minSize = this.options?.length ?? 1;\n // this.dropdownHeight =\n // minSize > this.maxVisibleItems\n // ? this.itemHeight * this.maxVisibleItems\n // : this.itemHeight * minSize;\n // if (this.search) {\n // this.dropdownHeight += this.searchHeight + 1;\n // }\n}\n\nprivate _setIsSelectedOption(items: InputType[], value: boolean) {\n if (this.showSelectedOnTop) {\n items.forEach?.(item => {\n item['isSelected' as keyof InputType] =\n value as unknown as InputType[keyof InputType];\n });\n }\n}\n}", "assetsDirs": [], "styleUrlsData": [ { - "data": ".select-container {\n width: 100%;\n nb-icon[icon=\"chevron-down\"] {\n cursor: pointer;\n }\n .count-box {\n user-select: none;\n color: var(--text-primary-color);\n cursor: pointer;\n }\n nb-tag {\n position: relative;\n overflow: hidden !important;\n white-space: nowrap;\n padding-right: 1.4rem;\n text-overflow: ellipsis;\n text-align: left;\n display: block;\n text-transform: none;\n background: var(--bb-tag-background);\n border: var(--bb-tag-border);\n }\n}\n\n.dropdown-panel {\n display: block;\n box-shadow: var(--bb-select-panel-shadow);\n border-radius: var(--border-radius);\n user-select: none;\n}\n", + "data": ".select-container {\n width: 100px !important;\n nb-icon[icon=\"chevron-down\"] {\n cursor: pointer;\n }\n .count-box {\n user-select: none;\n color: var(--text-primary-color);\n cursor: pointer;\n }\n nb-tag {\n position: relative;\n overflow: hidden !important;\n white-space: nowrap;\n padding-right: 1.4rem;\n text-overflow: ellipsis;\n text-align: left;\n display: block;\n text-transform: none;\n background: var(--bb-tag-background);\n border: var(--bb-tag-border);\n }\n}\n\n.dropdown-panel {\n display: block;\n box-shadow: var(--bb-select-panel-shadow);\n border-radius: var(--border-radius);\n user-select: none;\n}\n", "styleUrl": "./select.component.scss" } ], @@ -13268,7 +13360,7 @@ "deprecationMessage": "" } ], - "line": 61, + "line": 63, "jsdoctags": [ { "name": "overlay", @@ -13331,14 +13423,14 @@ } ], "returnType": "void", - "line": 262, + "line": 283, "rawdescription": "\n\nThe function sets the value of the selection model to the value passed in\n", "description": "

The function sets the value of the selection model to the value passed in

\n", "jsdoctags": [ { "name": { - "pos": 6609, - "end": 6614, + "pos": 6853, + "end": 6858, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13349,8 +13441,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 6603, - "end": 6608, + "pos": 6847, + "end": 6852, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13365,20 +13457,20 @@ "name": "value", "type": "", "returnType": "ValueType", - "line": 276, + "line": 297, "rawdescription": "\n\nIf the `multiple` property is true, return the `selected` property of the `selections` object as an\narray. Otherwise, return the first element of the `selected` property of the `selections` object as\na single value\n", "description": "

If the multiple property is true, return the selected property of the selections object as an\narray. Otherwise, return the first element of the selected property of the selections object as\na single value

\n", "jsdoctags": [ { - "pos": 7104, - "end": 7148, + "pos": 7323, + "end": 7365, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 345, "tagName": { - "pos": 7105, - "end": 7112, + "pos": 7324, + "end": 7331, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13406,14 +13498,14 @@ } ], "returnType": "void", - "line": 296, + "line": 317, "rawdescription": "\n\nIt sets the value of the invisibleTags property to the value of the value parameter.\n", "description": "

It sets the value of the invisibleTags property to the value of the value parameter.

\n", "jsdoctags": [ { "name": { - "pos": 7726, - "end": 7731, + "pos": 7909, + "end": 7914, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13424,8 +13516,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 7706, - "end": 7711, + "pos": 7889, + "end": 7894, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13434,29 +13526,29 @@ }, "comment": "
    \n
  • The value of the input.
  • \n
\n", "typeExpression": { - "pos": 7712, - "end": 7725, + "pos": 7895, + "end": 7908, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 7713, - "end": 7724, + "pos": 7896, + "end": 7907, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 185, "elementType": { - "pos": 7713, - "end": 7722, + "pos": 7896, + "end": 7905, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 7713, - "end": 7722, + "pos": 7896, + "end": 7905, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13473,20 +13565,20 @@ "name": "invisibleTags", "type": "", "returnType": "", - "line": 288, + "line": 309, "rawdescription": "\n\nIt returns the list of invisible tags to be shown in tags panel\n", "description": "

It returns the list of invisible tags to be shown in tags panel

\n", "jsdoctags": [ { - "pos": 7486, - "end": 7526, + "pos": 7683, + "end": 7721, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 345, "tagName": { - "pos": 7487, - "end": 7494, + "pos": 7684, + "end": 7691, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13499,7 +13591,7 @@ } } }, - "templateData": "\n\n \n +{{ invisibleTags.length }}\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n \n\n" + "templateData": "\n \n +{{ invisibleTags.length }}\n \n \n \n\n \n \n \n \n \n \n \n\n\n\n \n\n\n \n \n\n" }, { "name": "SelectTestComponent", @@ -13648,13 +13740,13 @@ }, { "name": "AuthModule", - "id": "module-AuthModule-6c53bcaaf2c0b5d5720877d80588929d57c1d80002a6bfbe214e5d745ba4fda66ba468af8ee561d7bb50e3db650f458f64cb3485a20918eef65fe8a55cb18809", + "id": "module-AuthModule-5adde7d3c138b18b8bb3ef2d1f664e8fd5f7c18d85ccb2603455de53af738e8779f9917eba2cf525c4dc1dac98eef8d607e6e1da6edd7afaeda32adbd989df54", "description": "", "deprecationMessage": "", "deprecated": false, "file": "projects/arc-lib/src/lib/components/auth/auth.module.ts", "methods": [], - "sourceCode": "import {CommonModule} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {NgModule, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {NbAuthModule, NbPasswordAuthStrategy} from '@nebular/auth';\nimport {NbLayoutModule, NbThemeModule} from '@nebular/theme';\nimport {TranslateModule} from '@ngx-translate/core';\n\nimport {ThemeModule} from '@project-lib/theme/theme.module';\nimport {AuthRoutingModule} from './auth-routing.module';\nimport {AuthComponent} from './auth.component';\nimport {LoginComponent} from './login/login.component';\n\n@NgModule({\n declarations: [LoginComponent, AuthComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n // ThemeModule,\n AuthRoutingModule,\n HttpClientModule,\n NbLayoutModule,\n TranslateModule,\n NbThemeModule.forRoot(),\n NbAuthModule.forRoot({\n strategies: [\n NbPasswordAuthStrategy.setup({\n name: 'email',\n }),\n ],\n forms: {},\n }),\n ],\n})\nexport class AuthModule {}\n", + "sourceCode": "import {CommonModule} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {NgModule, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {NbAuthModule, NbPasswordAuthStrategy} from '@nebular/auth';\nimport {NbLayoutModule, NbThemeModule} from '@nebular/theme';\nimport {TranslateModule} from '@ngx-translate/core';\n\nimport {ThemeModule} from '@project-lib/theme/theme.module';\nimport {AuthRoutingModule} from './auth-routing.module';\nimport {AuthComponent} from './auth.component';\nimport {LoginComponent} from './login/login.component';\nimport { HomePageComponent } from './home-page/home-page.component';\nimport { LoginPageComponent } from './login-page/login-page.component';\n\n@NgModule({\n declarations: [LoginComponent, AuthComponent, HomePageComponent, LoginPageComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n ThemeModule,\n AuthRoutingModule,\n HttpClientModule,\n NbLayoutModule,\n TranslateModule,\n NbThemeModule.forRoot(),\n NbAuthModule.forRoot({\n strategies: [\n NbPasswordAuthStrategy.setup({\n name: 'email',\n }),\n ],\n forms: {},\n }),\n ],\n})\nexport class AuthModule {}\n", "children": [ { "type": "providers", @@ -13666,8 +13758,14 @@ { "name": "AuthComponent" }, + { + "name": "HomePageComponent" + }, { "name": "LoginComponent" + }, + { + "name": "LoginPageComponent" } ] }, @@ -13676,6 +13774,9 @@ "elements": [ { "name": "AuthRoutingModule" + }, + { + "name": "ThemeModule" } ] }, @@ -13695,13 +13796,13 @@ }, { "name": "AuthRoutingModule", - "id": "module-AuthRoutingModule-3eca906921773a2e52ea31aa34d0e46357561e92aa5bb2eb996e77a14020e098a79c2079255df48835349181b35f80bf2897d966219ce0b0fd8210a329082d96", + "id": "module-AuthRoutingModule-563bb84d0020ab839e12a2c4605901ef7536ab58110b1551245347c43ffd2d93446dfdd1c50f5f6d0b7fa7bd877c1bd1e0465f4e3ea1aec0ce1e72bed059e6e1", "description": "", "deprecationMessage": "", "deprecated": false, "file": "projects/arc-lib/src/lib/components/auth/auth-routing.module.ts", "methods": [], - "sourceCode": "import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { AuthComponent } from './auth.component';\nimport { LoginComponent } from './login/login.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: AuthComponent,\n children: [\n {\n path: 'login',\n component: LoginComponent,\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AuthRoutingModule {}\n", + "sourceCode": "import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { AuthComponent } from './auth.component';\nimport { LoginComponent } from './login/login.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: AuthComponent,\n children: [\n // {\n // path: 'login',\n // component: LoginComponent,\n // },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AuthRoutingModule {}\n", "children": [ { "type": "providers", @@ -13989,13 +14090,13 @@ }, { "name": "SelectModule", - "id": "module-SelectModule-5613868a421303ff44ad52d0e1b426ecac69bbdb91a17453c07087f04d13c1744dc01f070eda9796370d58f10eed62a47332c49e105116dbe2d7e0c8072f92e5", + "id": "module-SelectModule-b6f9610166e08660db5985211d7a97aedca887024a7358dde379cfb638c4bf798eec247249567f0bb765627d3863d9a403bfc6ee07eadecadcdd1396ffd1f7cc", "description": "", "deprecationMessage": "", "deprecated": false, "file": "projects/arc-lib/src/lib/components/selector/select.module.ts", "methods": [], - "sourceCode": "import { OverlayModule } from '@angular/cdk/overlay';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n NbCheckboxModule,\n NbFormFieldModule,\n NbIconModule,\n NbInputModule,\n NbTagModule,\n} from '@nebular/theme';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ResizeModule } from '../resize/resize.module';\nimport { SelectComponent } from './select/select.component';\nimport {ListComponent} from './list/list.component';\n\n\n\n@NgModule({\n declarations: [ListComponent,SelectComponent],\n imports: [\n CommonModule,\n NbInputModule,\n NbFormFieldModule,\n NbIconModule,\n NbTagModule,\n NbInputModule,\n NbCheckboxModule,\n ReactiveFormsModule,\n ResizeModule,\n ScrollingModule,\n TranslateModule,\n OverlayModule,\n ],\n exports: [ListComponent,SelectComponent],\n})\nexport class SelectModule {}\n", + "sourceCode": "import { OverlayModule } from '@angular/cdk/overlay';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n NbCheckboxModule,\n NbFormFieldModule,\n NbIconModule,\n NbInputModule,\n NbLayoutModule,\n NbTagModule,\n NbThemeModule,\n} from '@nebular/theme';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ResizeModule } from '../resize/resize.module';\nimport { SelectComponent } from './select/select.component';\nimport {ListComponent} from './list/list.component';\n\n\n\n@NgModule({\n declarations: [ListComponent,SelectComponent],\n imports: [\n CommonModule,\n NbInputModule,\n NbFormFieldModule,\n NbIconModule,\n NbTagModule,\n NbLayoutModule,\n NbInputModule,\n NbCheckboxModule,\n ReactiveFormsModule,\n ResizeModule,\n ScrollingModule,\n TranslateModule,\n OverlayModule,\n ],\n exports: [ListComponent,SelectComponent],\n})\nexport class SelectModule {}\n", "children": [ { "type": "providers", @@ -14130,7 +14231,7 @@ }, { "name": "ThemeModule", - "id": "module-ThemeModule-b7d8863692f1c9d4570b06f2e0a80e33b6b801aae6fbb9ce14248ad18ce1be18336aeae0d143875083cd07ad7fdb5d332144a2755feff42b201503630e52faa9", + "id": "module-ThemeModule-82e99b4120384e42ddd456b20de26487b8cef07f8b196d86ed0a329e5c6eb0f6224ebb104c09864050f46605db02bc53604917bccc208b05646ce2b59668ca09", "description": "", "deprecationMessage": "", "deprecated": false, @@ -14149,7 +14250,7 @@ "optional": false, "returnType": "ModuleWithProviders", "typeParameters": [], - "line": 91, + "line": 93, "deprecated": false, "deprecationMessage": "", "modifierKind": [ @@ -14168,7 +14269,7 @@ ] } ], - "sourceCode": "import {CommonModule} from '@angular/common';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {NbDateFnsDateModule} from '@nebular/date-fns';\nimport {NbEvaIconsModule} from '@nebular/eva-icons';\nimport {\n NbActionsModule,\n NbAlertModule,\n NbButtonModule,\n NbCardModule,\n NbCheckboxModule,\n NbContextMenuModule,\n NbDatepickerModule,\n NbDialogModule,\n NbFormFieldModule,\n NbIconModule,\n NbInputModule,\n NbLayoutModule,\n NbListModule,\n NbMenuModule,\n NbOptionModule,\n NbRouteTabsetModule,\n NbSelectModule,\n NbSidebarModule,\n NbSidebarService,\n NbSpinnerModule,\n NbTabsetModule,\n NbThemeModule,\n NbToastrModule,\n NbToggleModule,\n NbTooltipModule,\n NbUserModule,\n} from '@nebular/theme';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {TOASTER_SERVICE_KEY} from '../core';\nimport {ToasterAdapterService, ToasterService} from './toaster';\nimport {IconPacksManagerService} from './services';\n\nconst themeModules = [\n NbLayoutModule,\n NbSidebarModule,\n NbCardModule,\n NbEvaIconsModule,\n NbIconModule,\n NbAlertModule,\n NbInputModule,\n NbButtonModule,\n NbCheckboxModule,\n NbOptionModule,\n NbListModule,\n NbOptionModule,\n NbActionsModule,\n NbUserModule,\n NbMenuModule,\n NbContextMenuModule,\n NbRouteTabsetModule,\n NbTooltipModule,\n NbFormFieldModule,\n FormsModule,\n ReactiveFormsModule,\n NbSelectModule,\n NbDatepickerModule,\n NbTabsetModule,\n NbDateFnsDateModule,\n NbToggleModule,\n TranslateModule,\n NbSpinnerModule,\n];\n\n@NgModule({\n declarations: [],\n providers: [\n ToasterAdapterService,\n {\n provide: TOASTER_SERVICE_KEY,\n useClass: ToasterService,\n },\n NbSidebarService,\n ],\n imports: [\n CommonModule,\n NbMenuModule.forRoot(),\n NbToastrModule.forRoot(),\n NbDialogModule.forRoot(),\n NbDatepickerModule.forRoot(),\n ...themeModules,\n ],\n exports: themeModules,\n})\nexport class ThemeModule {\n static forRoot(theme: string): ModuleWithProviders {\n return {\n ngModule: ThemeModule,\n providers: [...(NbThemeModule.forRoot({name: theme}).providers ?? [])],\n };\n }\n}\n", + "sourceCode": "import {CommonModule} from '@angular/common';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {NbDateFnsDateModule} from '@nebular/date-fns';\nimport {NbEvaIconsModule} from '@nebular/eva-icons';\nimport {\n NbActionsModule,\n NbAlertModule,\n NbButtonModule,\n NbCardModule,\n NbCheckboxModule,\n NbContextMenuModule,\n NbDatepickerModule,\n NbDialogModule,\n NbFormFieldModule,\n NbIconModule,\n NbInputModule,\n NbLayoutModule,\n NbListModule,\n NbMenuModule,\n NbOptionModule,\n NbOverlayContainerAdapter,\n NbRouteTabsetModule,\n NbSelectModule,\n NbSidebarModule,\n NbSidebarService,\n NbSpinnerModule,\n NbTabsetModule,\n NbThemeModule,\n NbToastrModule,\n NbToggleModule,\n NbTooltipModule,\n NbUserModule,\n} from '@nebular/theme';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {TOASTER_SERVICE_KEY} from '../core';\nimport {ToasterAdapterService, ToasterService} from './toaster';\nimport {IconPacksManagerService} from './services';\n\nconst themeModules = [\n NbLayoutModule,\n NbSidebarModule,\n NbCardModule,\n NbEvaIconsModule,\n NbIconModule,\n NbAlertModule,\n NbInputModule,\n NbButtonModule,\n NbCheckboxModule,\n NbOptionModule,\n NbListModule,\n NbOptionModule,\n NbActionsModule,\n NbUserModule,\n NbMenuModule,\n NbContextMenuModule,\n NbRouteTabsetModule,\n NbTooltipModule,\n NbFormFieldModule,\n FormsModule,\n ReactiveFormsModule,\n NbSelectModule,\n NbDatepickerModule,\n NbTabsetModule,\n NbDateFnsDateModule,\n NbToggleModule,\n TranslateModule,\n NbSpinnerModule,\n];\n\n@NgModule({\n declarations: [],\n providers: [\n ToasterAdapterService,\n {\n provide: TOASTER_SERVICE_KEY,\n useClass: ToasterService,\n },\n NbSidebarService,\n NbOverlayContainerAdapter\n ],\n imports: [\n CommonModule,\n NbMenuModule.forRoot(),\n NbToastrModule.forRoot(),\n NbDialogModule.forRoot(),\n NbDatepickerModule.forRoot(),\n ...themeModules,\n ],\n exports: themeModules,\n})\nexport class ThemeModule {\n static forRoot(theme: string): ModuleWithProviders {\n return {\n ngModule: ThemeModule,\n providers: [...(NbThemeModule.forRoot({name: theme}).providers ?? [])],\n };\n }\n}\n", "children": [ { "type": "providers", @@ -17889,13 +17990,31 @@ "coverageCount": "0/2", "status": "low" }, + { + "filePath": "projects/arc-lib/src/lib/components/auth/home-page/home-page.component.ts", + "type": "component", + "linktype": "component", + "name": "HomePageComponent", + "coveragePercent": 0, + "coverageCount": "0/1", + "status": "low" + }, + { + "filePath": "projects/arc-lib/src/lib/components/auth/login-page/login-page.component.ts", + "type": "component", + "linktype": "component", + "name": "LoginPageComponent", + "coveragePercent": 0, + "coverageCount": "0/1", + "status": "low" + }, { "filePath": "projects/arc-lib/src/lib/components/auth/login/login.component.ts", "type": "component", "linktype": "component", "name": "LoginComponent", "coveragePercent": 0, - "coverageCount": "0/15", + "coverageCount": "0/16", "status": "low" }, { @@ -18327,8 +18446,8 @@ "type": "component", "linktype": "component", "name": "SelectComponent", - "coveragePercent": 38, - "coverageCount": "33/85", + "coveragePercent": 37, + "coverageCount": "33/87", "status": "medium" }, { diff --git a/projects/arc-lib/src/lib/components/auth/auth.component.html b/projects/arc-lib/src/lib/components/auth/auth.component.html index f336d336..5377a568 100644 --- a/projects/arc-lib/src/lib/components/auth/auth.component.html +++ b/projects/arc-lib/src/lib/components/auth/auth.component.html @@ -6,7 +6,7 @@ diff --git a/projects/arc-lib/src/lib/components/auth/auth.module.ts b/projects/arc-lib/src/lib/components/auth/auth.module.ts index ba460c6f..bea43079 100644 --- a/projects/arc-lib/src/lib/components/auth/auth.module.ts +++ b/projects/arc-lib/src/lib/components/auth/auth.module.ts @@ -11,15 +11,17 @@ import {ThemeModule} from '@project-lib/theme/theme.module'; import {AuthRoutingModule} from './auth-routing.module'; import {AuthComponent} from './auth.component'; import {LoginComponent} from './login/login.component'; +import { HomePageComponent } from './home-page/home-page.component'; +import { LoginPageComponent } from './login-page/login-page.component'; @NgModule({ - declarations: [LoginComponent, AuthComponent], + declarations: [LoginComponent, AuthComponent, HomePageComponent, LoginPageComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [ CommonModule, FormsModule, RouterModule, - // ThemeModule, + ThemeModule, AuthRoutingModule, HttpClientModule, NbLayoutModule, diff --git a/projects/arc-lib/src/lib/components/auth/login/login.component.html b/projects/arc-lib/src/lib/components/auth/login/login.component.html index 4e2808fb..d424e567 100644 --- a/projects/arc-lib/src/lib/components/auth/login/login.component.html +++ b/projects/arc-lib/src/lib/components/auth/login/login.component.html @@ -1,24 +1,18 @@

Hello and Welcome! to the Angular Boiler Plate

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam egestas + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam egestas dui sit amet purus consequat, sed ornare nulla imperdiete tiam egestas - dui sit amet. + dui sit amet.
-
+ \ No newline at end of file diff --git a/projects/arc-lib/src/lib/components/auth/login/login.component.scss b/projects/arc-lib/src/lib/components/auth/login/login.component.scss index 69854916..92a2fc4d 100644 --- a/projects/arc-lib/src/lib/components/auth/login/login.component.scss +++ b/projects/arc-lib/src/lib/components/auth/login/login.component.scss @@ -1,9 +1,12 @@ @use "sass:map"; -@use "projects/arc-lib/src/lib/theme/styles/_variables.scss" as *; +@use "../../../theme/styles/variables" as *; +@use "../../../../styles.scss" as *; +@use "../../../../../../arc/src/themes.scss" as *; + :host { .logo { - padding-top: 15%; + padding-top: 10%; } .description { @@ -11,13 +14,14 @@ } .login-btn { - padding-top: 10%; + padding-top: 7%; } .footer { - padding-top: 15%; + padding-top: 7%; } } +*{font-family: 'Montserrat,Open Sans,sans-serif',} .google-btn { width: 24.125rem; @@ -38,4 +42,4 @@ &:active { border-color: map-get($font, "primary"); } -} +} \ No newline at end of file diff --git a/projects/arc-lib/src/lib/components/auth/login/login.component.ts b/projects/arc-lib/src/lib/components/auth/login/login.component.ts index e7a4ec04..00b173ba 100644 --- a/projects/arc-lib/src/lib/components/auth/login/login.component.ts +++ b/projects/arc-lib/src/lib/components/auth/login/login.component.ts @@ -1,9 +1,11 @@ import {Location} from '@angular/common'; -import {Component} from '@angular/core'; +import {Component, Inject} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {AuthService} from '@project-lib/core/auth'; import {RouteComponentBaseDirective} from '@project-lib/core/route-component-base'; +// import { APP_BASE_HREF } from '@angular/common'; + @Component({ selector: 'login', templateUrl: './login.component.html', @@ -14,10 +16,14 @@ export class LoginComponent extends RouteComponentBaseDirective { override readonly route: ActivatedRoute, override readonly location: Location, private readonly authService: AuthService, + // @Inject(APP_BASE_HREF) + // private baseHref: string ) { super(route, location); } - + image="../../../assets/images/auth/angular.png" +// "" +// projects/arc-lib/src/lib/assets/images/auth/angular.png loginViaGoogle() { this.authService.loginViaGoogle(); } diff --git a/projects/arc-lib/src/lib/components/selector/list/list.component.ts b/projects/arc-lib/src/lib/components/selector/list/list.component.ts index 645d6169..d9e10463 100644 --- a/projects/arc-lib/src/lib/components/selector/list/list.component.ts +++ b/projects/arc-lib/src/lib/components/selector/list/list.component.ts @@ -22,7 +22,7 @@ import { ITEM_HEIGHT, PLACEHOLDER_ITEM } from '../constants'; import { GroupConfig } from '../types'; @Component({ - selector: 'list', + selector: 'app-list', templateUrl: './list.component.html', styleUrls: ['./list.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, @@ -151,6 +151,8 @@ export class ListComponent< * It initializes the removed set, the visible list, and the search control */ ngOnInit(): void { + debugger + console.log(this.options) this.removed = new Set(); this.visibleList = Object.assign([], this.options); this.sortByGroups(); diff --git a/projects/arc-lib/src/lib/components/selector/select.module.ts b/projects/arc-lib/src/lib/components/selector/select.module.ts index fc1d3ee5..51454385 100644 --- a/projects/arc-lib/src/lib/components/selector/select.module.ts +++ b/projects/arc-lib/src/lib/components/selector/select.module.ts @@ -8,7 +8,9 @@ import { NbFormFieldModule, NbIconModule, NbInputModule, + NbLayoutModule, NbTagModule, + NbThemeModule, } from '@nebular/theme'; import { TranslateModule } from '@ngx-translate/core'; import { ResizeModule } from '../resize/resize.module'; @@ -25,6 +27,7 @@ import {ListComponent} from './list/list.component'; NbFormFieldModule, NbIconModule, NbTagModule, + NbLayoutModule, NbInputModule, NbCheckboxModule, ReactiveFormsModule, diff --git a/projects/arc-lib/src/lib/components/selector/select/select.component.html b/projects/arc-lib/src/lib/components/selector/select/select.component.html index 703a9603..b396816b 100644 --- a/projects/arc-lib/src/lib/components/selector/select/select.component.html +++ b/projects/arc-lib/src/lib/components/selector/select/select.component.html @@ -1,12 +1,9 @@ - -
+ - +
+ - - + - + + > --> - \ No newline at end of file diff --git a/projects/arc-lib/src/lib/components/selector/select/select.component.scss b/projects/arc-lib/src/lib/components/selector/select/select.component.scss index 06949368..8ce5fa25 100644 --- a/projects/arc-lib/src/lib/components/selector/select/select.component.scss +++ b/projects/arc-lib/src/lib/components/selector/select/select.component.scss @@ -1,5 +1,5 @@ .select-container { - width: 100%; + width: 100px !important; nb-icon[icon="chevron-down"] { cursor: pointer; } diff --git a/projects/arc-lib/src/lib/components/selector/select/select.component.ts b/projects/arc-lib/src/lib/components/selector/select/select.component.ts index 321c5609..de5216a1 100644 --- a/projects/arc-lib/src/lib/components/selector/select/select.component.ts +++ b/projects/arc-lib/src/lib/components/selector/select/select.component.ts @@ -12,12 +12,12 @@ import { Output, QueryList, SimpleChanges, + TemplateRef, ViewChild, ViewChildren, } from '@angular/core'; import {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms'; -import {DIGITS} from '@project-lib/core/constants'; -import {ComponentBaseDirective} from '@project-lib/core/component-base'; + import {NbTagComponent} from '@nebular/theme'; import {cloneDeep, isEqual} from 'lodash'; import {takeUntil} from 'rxjs'; @@ -26,18 +26,20 @@ import { INPUT_MIN_WIDTH, ITEM_HEIGHT, MIN_VISIBLE_ITEMS, - panelConfigs, - PanelType, PLACEHOLDER_ITEM, + PanelType, SEARCH_HEIGHT, - SelectState, SUFFIX_WIDTH, + SelectState, TAG_MARGIN, TAG_PADDING, + panelConfigs, } from '../constants'; -import {GroupConfig, Panel, ValueType} from '../types'; +import {GroupConfig, ItemTemplate, Panel, ValueType} from '../types'; +import { DIGITS } from '@project-lib/core/constants'; +import { ComponentBaseDirective } from '@project-lib/core/component-base'; @Component({ - selector: 'select', + selector: 'selector', templateUrl: './select.component.html', styleUrls: ['./select.component.scss'], animations: [dropdownAnimation, rotateAnimation], @@ -70,7 +72,7 @@ export class SelectComponent< } @ViewChildren(NbTagComponent) - tags!: QueryList; + tags: QueryList; @ViewChild('autoCompleteInput') autoCompleteInput?: ElementRef; @@ -105,7 +107,7 @@ export class SelectComponent< originY: 'top', overlayX: 'start', overlayY: 'bottom', - panelClass: 'bizbook-select-panel-above', + panelClass: 'select-panel-above', }, ]; @@ -126,7 +128,7 @@ export class SelectComponent< /* calculated values based on above values */ /* A variable that is used to set the height of the dropdown. */ - dropdownHeight!: number; + dropdownHeight: number; /* this could 1,2 or 3, based on the whether the cross, plus and chevrons */ suffixCount = 0; @@ -167,7 +169,7 @@ export class SelectComponent< // This code sets the multiple mode for the Select component. @Input() - multiple: MultipleMode = false as MultipleMode; + multiple: MultipleMode = true as MultipleMode; /** * The options that will be displayed in the select. @@ -175,9 +177,18 @@ export class SelectComponent< @Input() options?: InputType[]; + /** + * Disable cross icon in input field. + */ @Input() showClearAll = true; + /** + * Hide these options in list. + */ + @Input() + hiddenValues?: Set; + /** * Whether to show the search box. */ @@ -186,505 +197,540 @@ export class SelectComponent< // disable the dropdown @Input() - disabled = false; + disabledDropdown = false; - /** + + + +/** * Indicates whether custom the input is allowed. */ - @Input() - allowInput = false; +@Input() +allowInput = false; - /* Max number of items visible at a time in the dropdown, used to set the height */ - @Input() - maxVisibleItems = MIN_VISIBLE_ITEMS; +/* Max number of items visible at a time in the dropdown, used to set the height */ +@Input() +maxVisibleItems = MIN_VISIBLE_ITEMS; - /* label to show to add a custom item in the dropdown */ - @Input() - addTagString = 'createANewTag'; +/* label to show to add a custom item in the dropdown */ +@Input() +addTagString = 'createANewTag'; - /* Placeholder for the search input */ - @Input() - searchPlaceholder = 'search'; +/* Placeholder for the search input */ +@Input() +searchPlaceholder = 'search'; - /* Used to get groupConfig from components to group data if needed */ - @Input() - groupConfig: GroupConfig[] = []; - /** - * Whether to select the first option when the user presses enter - */ - @Input() - selectOnEnter = true; +/* Used to get groupConfig from components to group data if needed */ +@Input() +groupConfig: GroupConfig[] = []; +/** + * Whether to select the first option when the user presses enter + */ +@Input() +selectOnEnter = true; - @Output() - newAdded = new EventEmitter(); +/* whether to show selected options on top */ +@Input() +showSelectedOnTop = false; - @Output() - newRemoved = new EventEmitter(); +@Input() +itemTemplate: TemplateRef>; - @Output() - added = new EventEmitter(); +@Output() +newAdded = new EventEmitter(); - @Output() - removed = new EventEmitter(); +@Output() +newRemoved = new EventEmitter(); - @Output() - cleared = new EventEmitter(); +@Output() +added = new EventEmitter(); - @Output() - valueChange = new EventEmitter>(); +@Output() +removed = new EventEmitter(); - /* Control value accessor related properties */ - onChange = (value: ValueType) => {}; +@Output() +cleared = new EventEmitter(); - onTouched = () => {}; +@Output() +valueChange = new EventEmitter>(); - registerOnChange(onChange: (value: ValueType) => {}) { - this.onChange = onChange; - } +/* Control value accessor related properties */ +onChange = (value: ValueType) => {}; - registerOnTouched(onTouched: () => {}) { - this.onTouched = onTouched; - } +onTouched = () => {}; - writeValue(value: ValueType) { - this.value = value; - } +registerOnChange(onChange: (value: ValueType) => {}) { + this.onChange = onChange; +} - setDisabledState(isDisabled: boolean) { - this.disabled = isDisabled; - } +registerOnTouched(onTouched: () => {}) { + this.onTouched = onTouched; +} - /** - * The function sets the value of the selection model to the value passed in - * @param value - ValueType - */ - @Input() - set value(value: ValueType) { - this._initSelectionModel(); - this._setSelections(value); - this.onChange(value); - this.onTouched(); - this.updateTagsCount(); - } +writeValue(value: ValueType) { + this.value = value; +} - /** - * If the `multiple` property is true, return the `selected` property of the `selections` object as an - * array. Otherwise, return the first element of the `selected` property of the `selections` object as - * a single value - * @returns The value of the selected item. - */ - get value(): ValueType { - if (this.multiple === true) { - return this.selections.selected as ValueType; - } else { - return this.selections.selected[0] as ValueType; - } - } +setDisabledState(isDisabled: boolean) { + this.disabledDropdown = isDisabled; +} - /** - * It returns the list of invisible tags to be shown in tags panel - * @returns The list of invisible tags. - */ - get invisibleTags() { - return this.panels[PanelType.Extra].list; - } +/** + * The function sets the value of the selection model to the value passed in + * @param value - ValueType + */ +@Input() +set value(value: ValueType) { + this._initSelectionModel(); + this._setSelections(value); + this.onChange(value); + this.onTouched(); + // this.updateTagsCount(); +} - /** - * It sets the value of the invisibleTags property to the value of the value parameter. - * @param {InputType[]} value - The value of the input. - */ - set invisibleTags(value: InputType[]) { - this.panels[PanelType.Extra].list = Object.assign([], value); +/** + * If the `multiple` property is true, return the `selected` property of the `selections` object as an + * array. Otherwise, return the first element of the `selected` property of the `selections` object as + * a single value + * @returns The value of the selected item. + */ +get value(): ValueType { + if (this.multiple === true) { + return this.selections.selected as ValueType; + } else { + return this.selections.selected[0] as ValueType; } +} + +/** + * It returns the list of invisible tags to be shown in tags panel + * @returns The list of invisible tags. + */ +get invisibleTags() { + return this.panels[PanelType.Extra].list; +} + +/** + * It sets the value of the invisibleTags property to the value of the value parameter. + * @param {InputType[]} value - The value of the input. + */ +set invisibleTags(value: InputType[]) { + this.panels[PanelType.Extra].list = Object.assign([], value); +} + +ngOnInit(): void { + console.log(this.options); + this._initSelectionModel(); + /* Subscribing to the viewportRuler's change event and updating the width of the element. */ + this._viewportRuler + .change() + .subscribe(() => { + // this._updateWidth(); + }); +} + +ngOnChanges(changes: SimpleChanges): void { - ngOnInit(): void { + console.log(this.options) + if (changes['multiple'] && !changes['multiple'].isFirstChange()) { this._initSelectionModel(); - /* Subscribing to the viewportRuler's change event and updating the width of the element. */ - this._viewportRuler - .change() - .pipe(takeUntil(this._destroy$)) - .subscribe(() => { - this._updateWidth(); - }); } - - ngOnChanges(changes: SimpleChanges): void { - if (changes['multiple'] && !changes['multiple'].isFirstChange()) { - this._initSelectionModel(); - } - this._dropdownHeight(); - this.updateSelectedItems(); - this.updateTagsCount(); + if (this.showSelectedOnTop) { + this._setIsSelectedOption(this.options!, false); } + this._dropdownHeight(); + this.updateSelectedItems(); + // this.updateTagsCount(); +} - /** - * If the item is not a placeholder, toggle the item in the selections array. If the item is a - * placeholder, and it is not selected, emit the item as a newRemoved event - * @param {InputType} item - InputType - the item that was selected/deselected - */ - toggle(item: InputType) { - this.selectedItems.toggle(item); - if (!this.isPlaceholder(item)) { - this.selections.toggle(item[this.idField] as Value); - if (this.selections.isSelected(item[this.idField] as Value)) { - this.added.emit(item); - } else { - this.removed.emit(item); - } - } else if (!this.selectedItems.isSelected(item)) { - this.newRemoved.emit(item); +/** + * If the item is not a placeholder, toggle the item in the selections array. If the item is a + * placeholder, and it is not selected, emit the item as a newRemoved event + * @param {InputType} item - InputType - the item that was selected/deselected + */ +toggle(item: InputType) { + if (!this.multiple && this.selectedItems.isSelected(item)) { + return; + } + this.selectedItems.toggle(item); + if (!this.isPlaceholder(item)) { + this.selections.toggle(item[this.idField] as Value); + if (this.selections.isSelected(item[this.idField] as Value)) { + this.added.emit(item); } else { - this.newAdded.emit(item); + this.removed.emit(item); } - this._processChange(); - } + } else if (!this.selectedItems.isSelected(item)) { + this.newRemoved.emit(item); + } else { + this.newAdded.emit(item); + } + const isSelectedOption = 'isSelected' as keyof InputType; + if (item[isSelectedOption] !== undefined) { + item[isSelectedOption] = !item[ + isSelectedOption + ] as unknown as InputType[keyof InputType]; + } + this._processChange(); +} - /** - * It clears the selections and selectedItems collections, then emits the cleared event - */ - clearAll() { - this.selections.clear(); - this.selectedItems.clear(); - this._processChange(); - this.cleared.emit(); - } +/** + * It clears the selections and selectedItems collections, then emits the cleared event + */ +clearAll() { + if (this.options?.length) { + this._setIsSelectedOption(this.options, false); + } + this.selections.clear(); + this.selectedItems.clear(); + this._processChange(); + this.cleared.emit(); +} - /** - * If the state is closed, open the dropdown, otherwise close it - */ - toggleDropdown() { - if (this.state === SelectState.Closed) { - this.open(); - } else { - this.close(); - } - this._cdr.detectChanges(); +/** + * If the state is closed, open the dropdown, otherwise close it + */ +toggleDropdown() { + if (this.state === SelectState.Closed) { + this.open(); + } else { + this.close(); } - - /** + this._cdr.detectChanges(); +} + /** * If the panel is closed, open it, otherwise close it */ - togglePanel(type: PanelType) { - if (this.panels[type].state === SelectState.Closed) { - this.openPanel(type); - } else { - this.closePanel(); - } - } - - openPanel(type: PanelType) { - this.panels[type].state = SelectState.Open; - this.currentPanel = this.panels[type]; - this.currentPanelType = type; - this._panelWidth(type); - this._panelHeight(type, this.panels[type].list); - this._cdr.detectChanges(); + togglePanel(type: PanelType) { + if (this.panels[type].state === SelectState.Closed) { + this.openPanel(type); + } else { + this.closePanel(); } +} - /** - * If there is a current panel, set its state to closed and clear the current panel and panel type - */ - closePanel() { - if (this.currentPanel) { - this.currentPanel.state = SelectState.Closed; - this.currentPanel = undefined; - this.currentPanelType = undefined; - } - } +openPanel(type: PanelType) { + this.panels[type].state = SelectState.Open; + this.currentPanel = this.panels[type]; + this.currentPanelType = type; + this._panelWidth(type); + this._panelHeight(type, this.panels[type].list); + this._cdr.detectChanges(); +} - /** - * It filters the autocomplete options based on the value of the input, and adds a placeholder option - * if the value is not found in the data - * @param {string} value - string - the value of the input field - */ - updateAutocompleteOptions(value: string) { - let showAddOption = !this.selectedItems.selected.some(item => - isEqual(item[this.nameField], value), - ); - this.panels[PanelType.Autocomplete].list = []; - if (value) { - this.panels[PanelType.Autocomplete].list = - this.options?.filter(item => { - if (this.asString(item[this.nameField]) === value) { - showAddOption = false; - } - return ( - !this.selections.isSelected(item[this.idField] as Value) && - this.asString(item[this.nameField]) - .toLowerCase() - .trim() - .indexOf(value.toLowerCase().trim()) > -1 - ); - }) ?? []; - } - if (showAddOption && value.length) { - this.panels[PanelType.Autocomplete].list.push({ - [this.idField]: PLACEHOLDER_ITEM, - [this.nameField]: value, - } as unknown as InputType); - } - if (this.panels[PanelType.Autocomplete].list.length) { - this.openPanel(PanelType.Autocomplete); - } else { - this.closePanel(); - } - this._cdr.detectChanges(); +/** + * If there is a current panel, set its state to closed and clear the current panel and panel type + */ +closePanel() { + if (this.currentPanel) { + this.currentPanel.state = SelectState.Closed; + this.currentPanel = undefined; + this.currentPanelType = undefined; } +} - /** - * If the user presses enter, clear the input and if there's an autocomplete suggestion, select it - * @param {HTMLInputElement} input - HTMLInputElement - the input element that the user is typing in - */ - autocompleteEnter(input: HTMLInputElement) { - input.value = ''; - if (this.panels[PanelType.Autocomplete].list[0]) { - this.handleAutocompleteSelect( - this.panels[PanelType.Autocomplete].list[0], - ); - this.closePanel(); - } - } +/** + * It filters the autocomplete options based on the value of the input, and adds a placeholder option + * if the value is not found in the data + * @param {string} value - string - the value of the input field + */ +updateAutocompleteOptions(value: string) { + let showAddOption = !this.selectedItems.selected.some(item => + isEqual(item[this.nameField], value), + ); + this.panels[PanelType.Autocomplete].list = []; + if (value) { + this.panels[PanelType.Autocomplete].list = + this.options?.filter?.(item => { + if (this.asString(item[this.nameField]) === value) { + showAddOption = false; + } + return ( + !this.selections.isSelected(item[this.idField] as Value) && + this.asString(item[this.nameField]) + .toLowerCase() + .trim() + .indexOf(value.toLowerCase().trim()) > -1 + ); + }) ?? []; + } + if (showAddOption && value.length) { + this.panels[PanelType.Autocomplete].list.push({ + [this.idField]: PLACEHOLDER_ITEM, + [this.nameField]: value, + } as unknown as InputType); + } + if (this.panels[PanelType.Autocomplete].list.length) { + this.openPanel(PanelType.Autocomplete); + } else { + this.closePanel(); + } + this._cdr.detectChanges(); +} - /** - * If the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item - * @param {InputType} item - InputType - this is the item that was selected from the autocomplete - * dropdown. - */ - handleAutocompleteSelect(item: InputType) { - if (this.isPlaceholder(item)) { - this.selectedItems.select(item); - this.newAdded.emit(item); - } else { - this.toggle(item); - } - this.panels[PanelType.Autocomplete].list = []; - if (this.autoCompleteInput) { - this.autoCompleteInput.nativeElement.value = ''; - } - this._processChange(); +/** + * If the user presses enter, clear the input and if there's an autocomplete suggestion, select it + * @param {HTMLInputElement} input - HTMLInputElement - the input element that the user is typing in + */ +autocompleteEnter(input: HTMLInputElement) { + input.value = ''; + if (this.panels[PanelType.Autocomplete].list[0]) { + this.handleAutocompleteSelect( + this.panels[PanelType.Autocomplete].list[0], + ); + this.closePanel(); } +} - /** - * The funtion closes the dropdown, change detection is triggered internally by the update width method - */ - open() { - this.state = SelectState.Open; - this._updateWidth(); - } +/** + * If the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item + * @param {InputType} item - InputType - this is the item that was selected from the autocomplete + * dropdown. + */ +handleAutocompleteSelect(item: InputType) { + if (this.isPlaceholder(item)) { + this.selectedItems.select(item); + this.newAdded.emit(item); + } else { + this.toggle(item); + } + this.panels[PanelType.Autocomplete].list = []; + if (this.autoCompleteInput) { + this.autoCompleteInput.nativeElement.value = ''; + } + this._processChange(); +} - /** - * The function closes the dropdown and tells Angular to check for changes - */ - close() { - this.state = SelectState.Closed; - this._cdr.detectChanges(); - } +/** + * The funtion closes the dropdown, change detection is triggered internally by the update width method + */ +open() { + this.state = SelectState.Open; + // this._updateWidth(); +} - /** - * It emits the new value of the select box - */ - emitNewValue() { - if (this.multiple === true) { - this.valueChange.emit( - this.selections.selected as ValueType, - ); - } else { - this.valueChange.emit( - this.selections.selected[0] as ValueType, - ); - } - } +/** + * The function closes the dropdown and tells Angular to check for changes + */ +close() { + this.state = SelectState.Closed; + this._cdr.detectChanges(); +} - /** - * It calculates the width of the tags and the input box and then decides which tags to show and which - * to hide - */ - updateTagsCount() { - // for cross and chevron if not disabled - this.suffixCount = this.disabled ? 0 : DIGITS.TWO; - if (this.invisibleTags.length) { - // for the counter box - this.suffixCount += 1; - } - this.invisibleTags = []; - this.visibleTags = Object.assign([], this.selectedItems.selected); - this._cdr.detectChanges(); - const inputBuffer = - this.allowInput && !this.disabled - ? this.inputMinWidth + DIGITS.TWO * this.tagMargin - : 0; - const width = this.elementRef.nativeElement.getBoundingClientRect().width; - const rightPadding = this.suffixWidth * this.suffixCount; - const allowedWidth = - width - (this.padding * DIGITS.TWO + rightPadding + inputBuffer); - let combinedWidth = 0; - let i; - for (i = 0; i < this.tags.length; i++) { - const tag = this.tags.get(i); - if (!tag) { - break; - } - combinedWidth = - combinedWidth + - tag._hostElement.nativeElement.getBoundingClientRect().width + - DIGITS.TWO * this.tagMargin; - if (combinedWidth > allowedWidth) { - break; - } - } - if (i === 0) { - i = 1; - } - this.visibleTags = this.selectedItems.selected.slice(0, i); - this.invisibleTags = this.selectedItems.selected.slice(i); - // this required again to ensure proper width of input element - if (this.invisibleTags.length) { - // for the counter box - this.suffixCount += 1; - } - this._cdr.detectChanges(); +/** + * It emits the new value of the select box + */ +emitNewValue() { + if (this.multiple === true) { + this.valueChange.emit( + this.selections.selected as ValueType, + ); + } else { + this.valueChange.emit( + this.selections.selected[0] as ValueType, + ); } +} - /** - * It takes an item of type T and returns it as a string - * @param {T} item - T - The item to be converted to a string. - * @returns The item as a string. - */ - asString(item: T) { - return item as unknown as string; - } +/** + * It calculates the width of the tags and the input box and then decides which tags to show and which + * to hide + */ +// updateTagsCount() { +// // for cross and chevron if not disabled +// this.suffixCount = this.disabledDropdown ? 0 : DIGITS.TWO; +// if (this.invisibleTags.length) { +// // for the counter box +// this.suffixCount += 1; +// } +// this.invisibleTags = []; +// this.visibleTags = Object.assign([], this.selectedItems.selected); +// this._cdr.detectChanges(); +// const inputBuffer = +// this.allowInput && !this.disabledDropdown +// ? this.inputMinWidth + DIGITS.TWO * this.tagMargin +// : 0; +// const width = this.elementRef.nativeElement.getBoundingClientRect().width; +// const rightPadding = this.suffixWidth * this.suffixCount; +// const allowedWidth = +// width - (this.padding * DIGITS.TWO + rightPadding + inputBuffer); +// let combinedWidth = 0; +// let i; +// for (i = 0; i < this.tags.length; i++) { +// const tag = this.tags.get(i); +// if (!tag) { +// break; +// } +// combinedWidth = +// combinedWidth + +// tag._hostElement.nativeElement.getBoundingClientRect().width + +// DIGITS.TWO * this.tagMargin; +// if (combinedWidth > allowedWidth) { +// break; +// } +// } +// if (i === 0) { +// i = 1; +// } +// this.visibleTags = this.selectedItems.selected.slice(0, i); +// this.invisibleTags = this.selectedItems.selected.slice(i); +// // this required again to ensure proper width of input element +// if (this.invisibleTags.length) { +// // for the counter box +// this.suffixCount += 1; +// } +// this._cdr.detectChanges(); +// } + +/** + * It takes an item of type T and returns it as a string + * @param {T} item - T - The item to be converted to a string. + * @returns The item as a string. + */ +asString(item: T) { + return item as unknown as string; +} - /** - * If the id of the item is a string and it's equal to the placeholder item, then return true. - * Otherwise, return false - * @param {InputType} item - InputType - the item to check - * @returns A boolean value. - */ - isPlaceholder(item: InputType) { - const id = item[this.idField]; - if (typeof id === 'string' && id === PLACEHOLDER_ITEM) { - return true; - } else { - return false; - } +/** + * If the id of the item is a string and it's equal to the placeholder item, then return true. + * Otherwise, return false + * @param {InputType} item - InputType - the item to check + * @returns A boolean value. + */ +isPlaceholder(item: InputType) { + const id = item[this.idField]; + if (typeof id === 'string' && id === PLACEHOLDER_ITEM) { + return true; + } else { + return false; } - - /** +} + /** * A function that is called when the selection changes. */ - private _processChange() { - this._updateEmptyState(); - this.emitNewValue(); - this.onChange(this.value); - // this triggers the detect changes - this.updateTagsCount(); - // this can only be called after tags have been updated - if (this.currentPanel && this.currentPanelType) { - this._panelHeight(this.currentPanelType, this.currentPanel.list); - } + private _processChange() { + this._updateEmptyState(); + this.emitNewValue(); + this.onChange(this.value); + // this triggers the detect changes + // this.updateTagsCount(); + // this can only be called after tags have been updated + if (this.currentPanel && this.currentPanelType) { + this._panelHeight(this.currentPanelType, this.currentPanel.list); } +} - /** - * `this._setSelections` is a private function that updates the value of the selections - * @param value - ValueType - */ - private _setSelections(value: ValueType) { - if (this.multiple && Array.isArray(value)) { - this.selections.select(...(value as Value[])); - } else if (!this.multiple) { - this.selections.select(value as Value); - } else { - this.selections.clear(); - } - this.updateSelectedItems(); +/** + * `this._setSelections` is a private function that updates the value of the selections + * @param value - ValueType + */ +private _setSelections(value: ValueType) { + if (this.multiple && Array.isArray(value)) { + this.selections.select(...(value as Value[])); + } else if (!this.multiple) { + this.selections.select(value as Value); + } else { + this.selections.clear(); } + this.updateSelectedItems(); +} - /** - * If the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set - * it to false - */ - private _updateEmptyState() { - if (this.selectedItems.selected.length === 0) { - this.isEmpty = true; - } else { - this.isEmpty = false; - } +/** + * If the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set + * it to false + */ +private _updateEmptyState() { + if (this.selectedItems.selected.length === 0) { + this.isEmpty = true; + } else { + this.isEmpty = false; } +} - /** - * It updates the selectedItems with the selected items - */ - private updateSelectedItems() { - this.selectedItems.clear(); - const ids = this.selections.selected; - if (this.multiple) { - const items = this.options?.filter(item => - ids.includes(item[this.idField] as Value), - ); - if (items?.length) { - this.selectedItems.select(...items); - } - } else { - const item = this.options?.find( - item => item[this.idField] === ids[0], - ) as InputType; - if (item) { - this.selectedItems.select(item); - } +/** + * It updates the selectedItems with the selected items + */ +private updateSelectedItems() { + this.selectedItems.clear(); + const ids = this.selections.selected; + if (this.multiple) { + const items = this.options?.filter?.(item => + ids.includes(item[this.idField] as Value), + ); + if (items?.length) { + this.selectedItems.select(...items); + this._setIsSelectedOption(items, true); + } + } else { + const item = this.options?.find?.( + item => item[this.idField] === ids[0], + ) as InputType; + if (item) { + this.selectedItems.select(item); } - this._updateEmptyState(); } + this._updateEmptyState(); +} - /** - * > Initialize the selection models based on the `multiple` property - */ - private _initSelectionModel() { - this.selections = new SelectionModel(this.multiple); - this.selectedItems = new SelectionModel(this.multiple); - } +/** + * > Initialize the selection models based on the `multiple` property + */ +private _initSelectionModel() { + this.selections = new SelectionModel(this.multiple); + this.selectedItems = new SelectionModel(this.multiple); +} - /** - * It updates the width of the dropdown overlay element. - */ - private _updateWidth() { - this.width = this.elementRef.nativeElement.getBoundingClientRect().width; - this._cdr.detectChanges(); - } +/** + * It updates the width of the dropdown overlay element. + */ +// private _updateWidth() { +// this.width = this.elementRef.nativeElement.getBoundingClientRect().width; +// this._cdr.detectChanges(); +// } + +/** + * It updates the width of the panel overlay element. + */ +private _panelWidth(type: PanelType) { + this.panels[type].width = + this.elementRef.nativeElement.getBoundingClientRect().width; + this._cdr.detectChanges(); +} - /** - * It updates the width of the panel overlay element. - */ - private _panelWidth(type: PanelType) { - this.panels[type].width = - this.elementRef.nativeElement.getBoundingClientRect().width; - this._cdr.detectChanges(); - } +/** + * It sets the height of the `panel` div to the height of the number of items in the `invisibleTags` + * array, or the `maxVisibleItems` property, whichever is smaller + */ +private _panelHeight(type: PanelType, list: InputType[]) { + // this.panels[type].height = + // list.length > this.maxVisibleItems + // ? this.itemHeight * this.maxVisibleItems + // : this.itemHeight * list.length; + // this._cdr.detectChanges(); +} - /** - * It sets the height of the `panel` div to the height of the number of items in the `invisibleTags` - * array, or the `maxVisibleItems` property, whichever is smaller - */ - private _panelHeight(type: PanelType, list: InputType[]) { - this.panels[type].height = - list.length > this.maxVisibleItems - ? this.itemHeight * this.maxVisibleItems - : this.itemHeight * list.length; - this._cdr.detectChanges(); - } +/** + * _dropdownHeight() is a private function that calculates the panelHeight property based on the number + * of items in the data array and the `maxVisibleItems` property. + * If the `search` property is true, then it adds the `searchHeight` property to the panelHeight. + */ +private _dropdownHeight() { + // const minSize = this.options?.length ?? 1; + // this.dropdownHeight = + // minSize > this.maxVisibleItems + // ? this.itemHeight * this.maxVisibleItems + // : this.itemHeight * minSize; + // if (this.search) { + // this.dropdownHeight += this.searchHeight + 1; + // } +} - /** - * _dropdownHeight() is a private function that calculates the panelHeight property based on the number - * of items in the data array and the `maxVisibleItems` property. - * If the `search` property is true, then it adds the `searchHeight` property to the panelHeight. - */ - private _dropdownHeight() { - const minSize = this.options?.length || 1; - this.dropdownHeight = - minSize > this.maxVisibleItems - ? this.itemHeight * this.maxVisibleItems - : this.itemHeight * minSize; - if (this.search) { - this.dropdownHeight += this.searchHeight + 1; - } +private _setIsSelectedOption(items: InputType[], value: boolean) { + if (this.showSelectedOnTop) { + items.forEach?.(item => { + item['isSelected' as keyof InputType] = + value as unknown as InputType[keyof InputType]; + }); } } +} \ No newline at end of file diff --git a/projects/arc-lib/src/lib/theme/theme.module.ts b/projects/arc-lib/src/lib/theme/theme.module.ts index e08268bb..a1178a6a 100644 --- a/projects/arc-lib/src/lib/theme/theme.module.ts +++ b/projects/arc-lib/src/lib/theme/theme.module.ts @@ -19,6 +19,7 @@ import { NbListModule, NbMenuModule, NbOptionModule, + NbOverlayContainerAdapter, NbRouteTabsetModule, NbSelectModule, NbSidebarModule, @@ -76,6 +77,7 @@ const themeModules = [ useClass: ToasterService, }, NbSidebarService, + NbOverlayContainerAdapter ], imports: [ CommonModule, diff --git a/projects/arc-lib/src/stories/components/select.stories.ts b/projects/arc-lib/src/stories/components/select.stories.ts index 45ceb940..a7606221 100644 --- a/projects/arc-lib/src/stories/components/select.stories.ts +++ b/projects/arc-lib/src/stories/components/select.stories.ts @@ -13,6 +13,7 @@ export default { // You might need to add providers for dependencies here }), ], + }; // export const cdkOverlayOrigin="cdkOverlayOrigin" From 6015daba14659af010570e6b080304b2a13d92bf Mon Sep 17 00:00:00 2001 From: Deepika Mahindroo Date: Fri, 13 Oct 2023 12:19:11 +0530 Subject: [PATCH 3/4] select component testing --- projects/arc-lib/documentation.json | 385 ++++++++++++------ .../components/auth/auth-routing.module.ts | 8 +- .../src/lib/components/auth/auth.module.ts | 1 + .../auth/home-page/home-page.component.css | 0 .../auth/home-page/home-page.component.html | 1 + .../home-page/home-page.component.spec.ts | 23 ++ .../auth/home-page/home-page.component.ts | 10 + .../auth/login-page/login-page.component.html | 23 ++ .../auth/login-page/login-page.component.scss | 9 + .../login-page/login-page.component.spec.ts | 23 ++ .../auth/login-page/login-page.component.ts | 11 + .../auth/login/login.component.html | 2 +- .../selector/list/list.component.ts | 2 +- .../selector/select/select.component.html | 3 +- .../selector/select/select.component.ts | 107 ++--- .../src/stories/components/Login.stories.ts | 46 +++ .../stories/components/LoginPage.stories.ts | 15 +- projects/arc/src/app/app-routing.module.ts | 26 +- projects/arc/src/app/app.component.html | 54 +-- projects/arc/src/app/app.component.ts | 82 ++-- projects/arc/src/app/app.module.ts | 5 +- .../src/app/main/home/home-routing.module.ts | 8 +- .../arc/src/app/main/home/home.component.ts | 3 +- projects/arc/src/app/main/home/home.module.ts | 1 + .../main/main-home/main-home.component.html | 2 + .../main/main-home/main-home.component.scss | 0 .../main-home/main-home.component.spec.ts | 23 ++ .../app/main/main-home/main-home.component.ts | 10 + projects/arc/src/app/main/main.module.ts | 6 +- 29 files changed, 612 insertions(+), 277 deletions(-) create mode 100644 projects/arc-lib/src/lib/components/auth/home-page/home-page.component.css create mode 100644 projects/arc-lib/src/lib/components/auth/home-page/home-page.component.html create mode 100644 projects/arc-lib/src/lib/components/auth/home-page/home-page.component.spec.ts create mode 100644 projects/arc-lib/src/lib/components/auth/home-page/home-page.component.ts create mode 100644 projects/arc-lib/src/lib/components/auth/login-page/login-page.component.html create mode 100644 projects/arc-lib/src/lib/components/auth/login-page/login-page.component.scss create mode 100644 projects/arc-lib/src/lib/components/auth/login-page/login-page.component.spec.ts create mode 100644 projects/arc-lib/src/lib/components/auth/login-page/login-page.component.ts create mode 100644 projects/arc-lib/src/stories/components/Login.stories.ts create mode 100644 projects/arc/src/app/main/main-home/main-home.component.html create mode 100644 projects/arc/src/app/main/main-home/main-home.component.scss create mode 100644 projects/arc/src/app/main/main-home/main-home.component.spec.ts create mode 100644 projects/arc/src/app/main/main-home/main-home.component.ts diff --git a/projects/arc-lib/documentation.json b/projects/arc-lib/documentation.json index ab2d66c2..91eebd1b 100644 --- a/projects/arc-lib/documentation.json +++ b/projects/arc-lib/documentation.json @@ -10444,7 +10444,7 @@ }, { "name": "ListComponent", - "id": "component-ListComponent-c51534d6b745d3071ce2f0d336ec650e1dce2ead5e1b306666f301a521ed0f4d32ea3c700de8ee6d4637c8f0916dabe67f6003ca8628ceb6c74c87c29be4490c", + "id": "component-ListComponent-9778d84d337c57ef09b7d26366ca7d64a8229aed90b316e2e01fabee35ed0753e6596db19c550d0595229f0aa6e0a800545c5f95b3b2aac410dc6e7aeb8a659d", "file": "projects/arc-lib/src/lib/components/selector/list/list.component.ts", "changeDetection": "ChangeDetectionStrategy.OnPush", "encapsulation": [], @@ -10824,8 +10824,8 @@ "jsdoctags": [ { "name": { - "pos": 4971, - "end": 4975, + "pos": 4963, + "end": 4967, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10836,8 +10836,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 4953, - "end": 4958, + "pos": 4945, + "end": 4950, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10846,22 +10846,22 @@ }, "comment": "
    \n
  • InputType - the item that we're getting the name of
  • \n
\n", "typeExpression": { - "pos": 4959, - "end": 4970, + "pos": 4951, + "end": 4962, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 4960, - "end": 4969, + "pos": 4952, + "end": 4961, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 4960, - "end": 4969, + "pos": 4952, + "end": 4961, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10873,8 +10873,8 @@ }, { "tagName": { - "pos": 5036, - "end": 5043, + "pos": 5028, + "end": 5035, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10906,8 +10906,8 @@ "jsdoctags": [ { "name": { - "pos": 5809, - "end": 5813, + "pos": 5801, + "end": 5805, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10918,8 +10918,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 5791, - "end": 5796, + "pos": 5783, + "end": 5788, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10928,22 +10928,22 @@ }, "comment": "
    \n
  • InputType - the item to check
  • \n
\n", "typeExpression": { - "pos": 5797, - "end": 5808, + "pos": 5789, + "end": 5800, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 5798, - "end": 5807, + "pos": 5790, + "end": 5799, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 5798, - "end": 5807, + "pos": 5790, + "end": 5799, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -10955,8 +10955,8 @@ }, { "tagName": { - "pos": 5852, - "end": 5859, + "pos": 5844, + "end": 5851, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11040,8 +11040,8 @@ "jsdoctags": [ { "name": { - "pos": 5282, - "end": 5286, + "pos": 5274, + "end": 5278, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11052,8 +11052,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 5264, - "end": 5269, + "pos": 5256, + "end": 5261, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11062,22 +11062,22 @@ }, "comment": "
    \n
  • InputType - the item to be removed from the list
  • \n
\n", "typeExpression": { - "pos": 5270, - "end": 5281, + "pos": 5262, + "end": 5273, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 5271, - "end": 5280, + "pos": 5263, + "end": 5272, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 5271, - "end": 5280, + "pos": 5263, + "end": 5272, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11120,8 +11120,8 @@ "jsdoctags": [ { "name": { - "pos": 4684, - "end": 4688, + "pos": 4676, + "end": 4680, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11132,8 +11132,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 4666, - "end": 4671, + "pos": 4658, + "end": 4663, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11142,22 +11142,22 @@ }, "comment": "
    \n
  • InputType - the item that was clicked
  • \n
\n", "typeExpression": { - "pos": 4672, - "end": 4683, + "pos": 4664, + "end": 4675, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 4673, - "end": 4682, + "pos": 4665, + "end": 4674, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 4673, - "end": 4682, + "pos": 4665, + "end": 4674, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -11179,7 +11179,7 @@ "description": "", "rawdescription": "\n", "type": "component", - "sourceCode": "import { SelectionModel } from '@angular/cdk/collections';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n\nimport { NbFormFieldModule, NbListModule } from '@nebular/theme';\nimport { ITEM_HEIGHT, PLACEHOLDER_ITEM } from '../constants';\nimport { GroupConfig } from '../types';\n\n@Component({\n selector: 'app-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ListComponent<\n InputType,\n MultipleMode extends boolean,\n Value extends InputType[IdField],\n IdField extends keyof InputType,\n> implements OnInit, AfterViewInit, OnChanges {\n constructor(private _cdr: ChangeDetectorRef) { }\n /**\n * The list of items to display.\n */\n @Input()\n options?: InputType[] = [];\n\n /**\n * The name of the field in the generic type T that contains the name of the\n * item to display. This is used to read the name of each item in the list.\n */\n @Input()\n nameField: keyof InputType = 'name' as keyof InputType;\n\n /**\n * The field in the data item that uniquely identifies it.\n */\n @Input()\n idField: IdField = 'id' as IdField;\n\n /**\n * The field to show disabled items in the list\n */\n @Input()\n disabledField: keyof InputType = 'deleted' as keyof InputType;\n\n /* height of the each items in the list. */\n @Input()\n itemHeight = ITEM_HEIGHT;\n\n /* A boolean that is used to determine if the user can select multiple items in the list. */\n @Input()\n multiple: MultipleMode = false as MultipleMode;\n\n /**\n * Whether to show the search box.\n */\n @Input()\n search = true;\n\n /**\n * The removal input is a boolean value that determines whether or not the\n * component should be rendered in removal mode\n */\n @Input()\n removal = false;\n\n /* Placeholder for the search input */\n @Input()\n searchPlaceholder = 'search';\n\n /**\n * This is the search result text to be displayed when no search result is found.\n */\n @Input()\n noSearchResultText = 'noResultLbl';\n\n /**\n * The text to display when no data is available\n */\n @Input()\n noDataText = 'noDataLbl';\n\n /* label to show to add a custom item in the dropdown */\n @Input()\n addTagString = 'createANewTag';\n\n /* When the user presses enter while searching, the first item visible is selected */\n @Input()\n selectOnEnter = true;\n\n /**\n * Indicates whether custom the input is allowed.\n */\n @Input()\n allowInput = false;\n\n @Input()\n selections!: SelectionModel;\n\n /**\n * @description\n * Emits a value of true when the user clicks the close button.\n */\n @Output()\n closed = new EventEmitter();\n\n /**\n * Emits the selected value when the user toggles an option.\n * @param value The value of the option that the user toggled.\n */\n @Output()\n toggle = new EventEmitter();\n\n /* Emits an event when an item is removed */\n @Output()\n remove = new EventEmitter();\n\n @ViewChild('searchInput')\n searchInput!: ElementRef;\n\n @ViewChild(CdkVirtualScrollViewport)\n viewport!: CdkVirtualScrollViewport;\n\n visibleList: InputType[] = [];\n searchControl!: UntypedFormControl;\n removed!: Set;\n\n @Input()\n showIcon!: boolean;\n\n @Input()\n groupConfig?: GroupConfig[] = [];\n groupIndexMap: Record = {};\n /**\n * It initializes the removed set, the visible list, and the search control\n */\n ngOnInit(): void {\n debugger\n console.log(this.options)\n this.removed = new Set();\n this.visibleList = Object.assign([], this.options);\n this.sortByGroups();\n this.searchControl = new UntypedFormControl();\n this.searchControl.valueChanges.subscribe(value => {\n this.visibleList =\n this.options?.filter(\n item =>\n !value ||\n this.getName(item).toLowerCase().includes(value.toLowerCase()),\n ) ?? [];\n this.sortByGroups();\n });\n }\n\n /**\n * After the view is initialized, if the searchInput exists, focus on it.\n */\n ngAfterViewInit(): void {\n if (this.searchInput) {\n this.searchInput.nativeElement.focus();\n this._cdr.detectChanges();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['options']) {\n this.visibleList = Object.assign([], this.options);\n }\n }\n\n /**\n * The function takes an item of type T, and emits an event with the item as the payload\n * @param {InputType} item - InputType - the item that was clicked\n */\n toggleItem(item: InputType) {\n this.toggle.emit(item);\n if (this.allowInput) {\n this.closed.emit();\n }\n }\n\n /**\n * Get the name of the item by getting the value of the name field of the item.\n * @param {InputType} item - InputType - the item that we're getting the name of\n * @returns The name of the item.\n */\n getName(item: InputType) {\n return item[this.nameField] as unknown as string;\n }\n\n /**\n * It removes an item from the list, emits an event, and then checks if the list is empty\n * @param {InputType} item - InputType - the item to be removed from the list\n */\n removeItem(item: InputType) {\n this.removed.add(item);\n this.remove.emit(item);\n this.visibleList =\n this.options?.filter(item => !this.removed.has(item)) ?? [];\n if (this.visibleList.length) {\n this.viewport?.checkViewportSize();\n } else {\n this.closed.emit(true);\n }\n }\n\n /**\n * If the id of the item is a string and it's equal to the placeholder item, then return true.\n * Otherwise, return false\n * @param {InputType} item - InputType - the item to check\n * @returns A boolean value.\n */\n isPlaceholder(item: InputType) {\n const id = item[this.idField];\n if (typeof id === 'string' && id === PLACEHOLDER_ITEM) {\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * If the user presses enter on the search box, and there are items in the list, select the first item\n * in the list\n */\n enterOnSearch() {\n if (!this.removal && this.visibleList.length) {\n this.toggleItem(this.visibleList[0]);\n }\n }\n\n sortByGroups() {\n if (this.groupConfig && this.groupConfig.length) {\n let groupedData: InputType[][] = this.groupConfig.map(() => []);\n this.visibleList?.forEach(option => {\n const group = this.groupConfig!.findIndex(\n group =>\n (group.value === '*' && option[group.fieldName]) ||\n option[group.fieldName] === group.value,\n );\n if (group !== -1) groupedData[group].push(option);\n });\n this.groupIndexMap = this.groupConfig.reduce(\n (acc, obj, index) =>\n obj.groupName ? { ...acc, [index]: obj.groupName } : acc,\n {},\n );\n this.visibleList = groupedData.flat();\n }\n }\n}\n", + "sourceCode": "import { SelectionModel } from '@angular/cdk/collections';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n\nimport { NbFormFieldModule, NbListModule } from '@nebular/theme';\nimport { ITEM_HEIGHT, PLACEHOLDER_ITEM } from '../constants';\nimport { GroupConfig } from '../types';\n\n@Component({\n selector: 'app-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ListComponent<\n InputType,\n MultipleMode extends boolean,\n Value extends InputType[IdField],\n IdField extends keyof InputType,\n> implements OnInit, AfterViewInit, OnChanges {\n constructor(private _cdr: ChangeDetectorRef) { }\n /**\n * The list of items to display.\n */\n @Input()\n options?: InputType[] = [];\n\n /**\n * The name of the field in the generic type T that contains the name of the\n * item to display. This is used to read the name of each item in the list.\n */\n @Input()\n nameField: keyof InputType = 'name' as keyof InputType;\n\n /**\n * The field in the data item that uniquely identifies it.\n */\n @Input()\n idField: IdField = 'id' as IdField;\n\n /**\n * The field to show disabled items in the list\n */\n @Input()\n disabledField: keyof InputType = 'deleted' as keyof InputType;\n\n /* height of the each items in the list. */\n @Input()\n itemHeight = ITEM_HEIGHT;\n\n /* A boolean that is used to determine if the user can select multiple items in the list. */\n @Input()\n multiple: MultipleMode = false as MultipleMode;\n\n /**\n * Whether to show the search box.\n */\n @Input()\n search = true;\n\n /**\n * The removal input is a boolean value that determines whether or not the\n * component should be rendered in removal mode\n */\n @Input()\n removal = false;\n\n /* Placeholder for the search input */\n @Input()\n searchPlaceholder = 'search';\n\n /**\n * This is the search result text to be displayed when no search result is found.\n */\n @Input()\n noSearchResultText = 'noResultLbl';\n\n /**\n * The text to display when no data is available\n */\n @Input()\n noDataText = 'noDataLbl';\n\n /* label to show to add a custom item in the dropdown */\n @Input()\n addTagString = 'createANewTag';\n\n /* When the user presses enter while searching, the first item visible is selected */\n @Input()\n selectOnEnter = true;\n\n /**\n * Indicates whether custom the input is allowed.\n */\n @Input()\n allowInput = false;\n\n @Input()\n selections!: SelectionModel;\n\n /**\n * @description\n * Emits a value of true when the user clicks the close button.\n */\n @Output()\n closed = new EventEmitter();\n\n /**\n * Emits the selected value when the user toggles an option.\n * @param value The value of the option that the user toggled.\n */\n @Output()\n toggle = new EventEmitter();\n\n /* Emits an event when an item is removed */\n @Output()\n remove = new EventEmitter();\n\n @ViewChild('searchInput')\n searchInput!: ElementRef;\n\n @ViewChild(CdkVirtualScrollViewport)\n viewport!: CdkVirtualScrollViewport;\n\n visibleList: InputType[] = [];\n searchControl!: UntypedFormControl;\n removed!: Set;\n\n @Input()\n showIcon!: boolean;\n\n @Input()\n groupConfig?: GroupConfig[] = [];\n groupIndexMap: Record = {};\n /**\n * It initializes the removed set, the visible list, and the search control\n */\n ngOnInit(): void {\n \n console.log(this.options)\n this.removed = new Set();\n this.visibleList = Object.assign([], this.options);\n this.sortByGroups();\n this.searchControl = new UntypedFormControl();\n this.searchControl.valueChanges.subscribe(value => {\n this.visibleList =\n this.options?.filter(\n item =>\n !value ||\n this.getName(item).toLowerCase().includes(value.toLowerCase()),\n ) ?? [];\n this.sortByGroups();\n });\n }\n\n /**\n * After the view is initialized, if the searchInput exists, focus on it.\n */\n ngAfterViewInit(): void {\n if (this.searchInput) {\n this.searchInput.nativeElement.focus();\n this._cdr.detectChanges();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['options']) {\n this.visibleList = Object.assign([], this.options);\n }\n }\n\n /**\n * The function takes an item of type T, and emits an event with the item as the payload\n * @param {InputType} item - InputType - the item that was clicked\n */\n toggleItem(item: InputType) {\n this.toggle.emit(item);\n if (this.allowInput) {\n this.closed.emit();\n }\n }\n\n /**\n * Get the name of the item by getting the value of the name field of the item.\n * @param {InputType} item - InputType - the item that we're getting the name of\n * @returns The name of the item.\n */\n getName(item: InputType) {\n return item[this.nameField] as unknown as string;\n }\n\n /**\n * It removes an item from the list, emits an event, and then checks if the list is empty\n * @param {InputType} item - InputType - the item to be removed from the list\n */\n removeItem(item: InputType) {\n this.removed.add(item);\n this.remove.emit(item);\n this.visibleList =\n this.options?.filter(item => !this.removed.has(item)) ?? [];\n if (this.visibleList.length) {\n this.viewport?.checkViewportSize();\n } else {\n this.closed.emit(true);\n }\n }\n\n /**\n * If the id of the item is a string and it's equal to the placeholder item, then return true.\n * Otherwise, return false\n * @param {InputType} item - InputType - the item to check\n * @returns A boolean value.\n */\n isPlaceholder(item: InputType) {\n const id = item[this.idField];\n if (typeof id === 'string' && id === PLACEHOLDER_ITEM) {\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * If the user presses enter on the search box, and there are items in the list, select the first item\n * in the list\n */\n enterOnSearch() {\n if (!this.removal && this.visibleList.length) {\n this.toggleItem(this.visibleList[0]);\n }\n }\n\n sortByGroups() {\n if (this.groupConfig && this.groupConfig.length) {\n let groupedData: InputType[][] = this.groupConfig.map(() => []);\n this.visibleList?.forEach(option => {\n const group = this.groupConfig!.findIndex(\n group =>\n (group.value === '*' && option[group.fieldName]) ||\n option[group.fieldName] === group.value,\n );\n if (group !== -1) groupedData[group].push(option);\n });\n this.groupIndexMap = this.groupConfig.reduce(\n (acc, obj, index) =>\n obj.groupName ? { ...acc, [index]: obj.groupName } : acc,\n {},\n );\n this.visibleList = groupedData.flat();\n }\n }\n}\n", "assetsDirs": [], "styleUrlsData": [ { @@ -11612,7 +11612,7 @@ }, { "name": "LoginPageComponent", - "id": "component-LoginPageComponent-93527239b2a8ab8295d9fae540ccf0bde7fc41988b4cb05d95a1b0f4a1cb1352dec9d60e53d9aed699bfd576dc01bd74a26c0e718dca208fde5d68d47e324ffc", + "id": "component-LoginPageComponent-d5b70d5111b924ceeed31a964bd824325c74bffea60b54f87db818acafa78806fa03665f02492c8c3f0af9b516135c4bcf8169173cb344582f84ce5a8298ed11", "file": "projects/arc-lib/src/lib/components/auth/login-page/login-page.component.ts", "encapsulation": [], "entryComponents": [], @@ -11621,7 +11621,7 @@ "providers": [], "selector": "lib-login-page", "styleUrls": [ - "./login-page.component.css" + "./login-page.component.scss" ], "styles": [], "templateUrl": [ @@ -11642,16 +11642,16 @@ "description": "", "rawdescription": "\n", "type": "component", - "sourceCode": "import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-login-page',\n templateUrl: './login-page.component.html',\n styleUrls: ['./login-page.component.css']\n})\nexport class LoginPageComponent {\n\n \n}\n", + "sourceCode": "import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-login-page',\n templateUrl: './login-page.component.html',\n styleUrls: ['./login-page.component.scss']\n})\nexport class LoginPageComponent {\n\n \n}\n", "assetsDirs": [], "styleUrlsData": [ { - "data": "", - "styleUrl": "./login-page.component.css" + "data": ".main-section {\n display: flex;\n}\n.first {\n width: 50%;\n}\n.main-section .first .nb-card{\n margin: 0;\n}", + "styleUrl": "./login-page.component.scss" } ], "stylesData": "", - "templateData": "

login-page works!

\n" + "templateData": "\n
\n
\n \n \n \n \n \n \n \n \n
\n\n
\n \n \n
\n \"loginImg\"\n
\n
\n
\n
\n
" }, { "name": "PageComponent", @@ -11738,7 +11738,7 @@ }, { "name": "SelectComponent", - "id": "component-SelectComponent-49cf7f5b0a102725c742a767eeb5044640ea026faef3c3174e7d99b98ba1a754d4f560376666364da16317e51f57401c61fe74616b4217ce8e22af91516afbb2", + "id": "component-SelectComponent-a2a2b0ddb390f9c2f0728a3f54f66d194f7318069b37a757f3429c4a74a59a045b7cdc4f6c353f9bafbfc4268550941ed42ea6edb9604ae446b66161ac496f7f", "file": "projects/arc-lib/src/lib/components/selector/select/select.component.ts", "changeDetection": "ChangeDetectionStrategy.OnPush", "encapsulation": [], @@ -12344,7 +12344,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 717, + "line": 718, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\n_dropdownHeight() is a private function that calculates the panelHeight property based on the number\nof items in the data array and the `maxVisibleItems` property.\nIf the `search` property is true, then it adds the `searchHeight` property to the panelHeight.\n", @@ -12387,7 +12387,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 704, + "line": 705, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIt sets the height of the `panel` div to the height of the number of items in the `invisibleTags`\narray, or the `maxVisibleItems` property, whichever is smaller\n", @@ -12429,7 +12429,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 694, + "line": 695, "deprecated": false, "deprecationMessage": "", "rawdescription": "\n\nIt updates the width of the panel overlay element.\n", @@ -12483,7 +12483,7 @@ "optional": false, "returnType": "void", "typeParameters": [], - "line": 728, + "line": 729, "deprecated": false, "deprecationMessage": "", "modifierKind": [ @@ -12534,8 +12534,8 @@ "jsdoctags": [ { "name": { - "pos": 16732, - "end": 16737, + "pos": 16591, + "end": 16596, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12546,8 +12546,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 16726, - "end": 16731, + "pos": 16585, + "end": 16590, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12573,6 +12573,21 @@ 121 ] }, + { + "name": "_updateWidth", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 686, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt updates the width of the dropdown overlay element.\n", + "description": "

It updates the width of the dropdown overlay element.

\n", + "modifierKind": [ + 121 + ] + }, { "name": "asString", "args": [ @@ -12595,13 +12610,65 @@ "description": "

It takes an item of type T and returns it as a string

\n", "jsdoctags": [ { - "name": "item", + "name": { + "pos": 15513, + "end": 15517, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "item" + }, "type": "T", "deprecated": false, "deprecationMessage": "", "tagName": { - "text": "param" + "pos": 15503, + "end": 15508, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "param" + }, + "comment": "
    \n
  • T - The item to be converted to a string.
  • \n
\n", + "typeExpression": { + "pos": 15509, + "end": 15512, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 312, + "type": { + "pos": 15510, + "end": 15511, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 1, + "kind": 180, + "typeName": { + "pos": 15510, + "end": 15511, + "flags": 8388608, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "T" + } + } } + }, + { + "tagName": { + "pos": 15566, + "end": 15573, + "flags": 8421376, + "modifierFlagsCache": 0, + "transformFlags": 0, + "kind": 79, + "escapedText": "returns" + }, + "comment": "

The item as a string.

\n" } ] }, @@ -12626,8 +12693,8 @@ "jsdoctags": [ { "name": { - "pos": 12360, - "end": 12365, + "pos": 12357, + "end": 12362, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12638,8 +12705,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 12335, - "end": 12340, + "pos": 12332, + "end": 12337, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12648,22 +12715,22 @@ }, "comment": "
    \n
  • HTMLInputElement - the input element that the user is typing in
  • \n
\n", "typeExpression": { - "pos": 12341, - "end": 12359, + "pos": 12338, + "end": 12356, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 12342, - "end": 12358, + "pos": 12339, + "end": 12355, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 12342, - "end": 12358, + "pos": 12339, + "end": 12355, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12744,8 +12811,8 @@ "jsdoctags": [ { "name": { - "pos": 12807, - "end": 12811, + "pos": 12804, + "end": 12808, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12756,8 +12823,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 12789, - "end": 12794, + "pos": 12786, + "end": 12791, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12766,22 +12833,22 @@ }, "comment": "
    \n
  • InputType - this is the item that was selected from the autocomplete\ndropdown.
  • \n
\n", "typeExpression": { - "pos": 12795, - "end": 12806, + "pos": 12792, + "end": 12803, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 12796, - "end": 12805, + "pos": 12793, + "end": 12802, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 12796, - "end": 12805, + "pos": 12793, + "end": 12802, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12814,8 +12881,8 @@ "jsdoctags": [ { "name": { - "pos": 15951, - "end": 15955, + "pos": 15810, + "end": 15814, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12826,8 +12893,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 15933, - "end": 15938, + "pos": 15792, + "end": 15797, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12836,22 +12903,22 @@ }, "comment": "
    \n
  • InputType - the item to check
  • \n
\n", "typeExpression": { - "pos": 15939, - "end": 15950, + "pos": 15798, + "end": 15809, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 15940, - "end": 15949, + "pos": 15799, + "end": 15808, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 15940, - "end": 15949, + "pos": 15799, + "end": 15808, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -12863,8 +12930,8 @@ }, { "tagName": { - "pos": 15992, - "end": 15999, + "pos": 15851, + "end": 15858, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13076,8 +13143,8 @@ "jsdoctags": [ { "name": { - "pos": 8877, - "end": 8881, + "pos": 8874, + "end": 8878, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13088,8 +13155,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 8859, - "end": 8864, + "pos": 8856, + "end": 8861, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13098,22 +13165,22 @@ }, "comment": "
    \n
  • InputType - the item that was selected/deselected
  • \n
\n", "typeExpression": { - "pos": 8865, - "end": 8876, + "pos": 8862, + "end": 8873, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 8866, - "end": 8875, + "pos": 8863, + "end": 8872, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, "kind": 180, "typeName": { - "pos": 8866, - "end": 8875, + "pos": 8863, + "end": 8872, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13188,8 +13255,8 @@ "jsdoctags": [ { "name": { - "pos": 11136, - "end": 11141, + "pos": 11133, + "end": 11138, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13200,8 +13267,8 @@ "deprecated": false, "deprecationMessage": "", "tagName": { - "pos": 11121, - "end": 11126, + "pos": 11118, + "end": 11123, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, @@ -13210,15 +13277,15 @@ }, "comment": "
    \n
  • string - the value of the input field
  • \n
\n", "typeExpression": { - "pos": 11127, - "end": 11135, + "pos": 11124, + "end": 11132, "flags": 8421376, "modifierFlagsCache": 0, "transformFlags": 0, "kind": 312, "type": { - "pos": 11128, - "end": 11134, + "pos": 11125, + "end": 11131, "flags": 8388608, "modifierFlagsCache": 0, "transformFlags": 1, @@ -13243,6 +13310,18 @@ 121 ] }, + { + "name": "updateTagsCount", + "args": [], + "optional": false, + "returnType": "void", + "typeParameters": [], + "line": 539, + "deprecated": false, + "deprecationMessage": "", + "rawdescription": "\n\nIt calculates the width of the tags and the input box and then decides which tags to show and which\nto hide\n", + "description": "

It calculates the width of the tags and the input box and then decides which tags to show and which\nto hide

\n" + }, { "name": "writeValue", "args": [ @@ -13320,7 +13399,7 @@ "description": "", "rawdescription": "\n", "type": "component", - "sourceCode": "import {SelectionModel} from '@angular/cdk/collections';\nimport {ConnectedPosition, Overlay, ViewportRuler} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NbTagComponent} from '@nebular/theme';\nimport {cloneDeep, isEqual} from 'lodash';\nimport {takeUntil} from 'rxjs';\nimport {dropdownAnimation, rotateAnimation} from '../animations';\nimport {\n INPUT_MIN_WIDTH,\n ITEM_HEIGHT,\n MIN_VISIBLE_ITEMS,\n PLACEHOLDER_ITEM,\n PanelType,\n SEARCH_HEIGHT,\n SUFFIX_WIDTH,\n SelectState,\n TAG_MARGIN,\n TAG_PADDING,\n panelConfigs,\n} from '../constants';\nimport {GroupConfig, ItemTemplate, Panel, ValueType} from '../types';\nimport { DIGITS } from '@project-lib/core/constants';\nimport { ComponentBaseDirective } from '@project-lib/core/component-base';\n@Component({\n selector: 'selector',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n animations: [dropdownAnimation, rotateAnimation],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SelectComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SelectComponent<\n InputType,\n MultipleMode extends boolean,\n Value extends InputType[IdField],\n IdField extends keyof InputType,\n >\n extends ComponentBaseDirective\n implements ControlValueAccessor, OnInit, OnChanges\n{\n constructor(\n public overlay: Overlay,\n public elementRef: ElementRef,\n protected _viewportRuler: ViewportRuler,\n private _cdr: ChangeDetectorRef,\n ) {\n super();\n this.panels = cloneDeep(panelConfigs);\n }\n\n @ViewChildren(NbTagComponent)\n tags: QueryList;\n\n @ViewChild('autoCompleteInput')\n autoCompleteInput?: ElementRef;\n\n selections: SelectionModel = new SelectionModel();\n selectedItems: SelectionModel = new SelectionModel();\n visibleTags: InputType[] = [];\n isEmpty = true;\n\n /* Defining config for both kinds of panels */\n panels: Record>;\n currentPanel?: Panel;\n currentPanelType?: PanelType;\n\n /* A type alias for states and panel type enum */\n states = SelectState;\n types = PanelType;\n /* Setting the state of the dropdown to closed. */\n state: SelectState = SelectState.Closed;\n\n /* Setting the position of the dropdown. */\n positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 5,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'select-panel-above',\n },\n ];\n\n // dropdown overlay width, this is set based on width of container\n width = 0;\n\n /* css dependent values, these are supposed to be changed whenever css is changed */\n /* the padding of the tags container. */\n padding = TAG_PADDING;\n /* The margin between tags. */\n tagMargin = TAG_MARGIN;\n /* The height of each item in the dropdown. */\n itemHeight = ITEM_HEIGHT;\n /* The width of the cross, plus and chevron icons. */\n suffixWidth = SUFFIX_WIDTH;\n /* The height of the input box */\n searchHeight = SEARCH_HEIGHT;\n\n /* calculated values based on above values */\n /* A variable that is used to set the height of the dropdown. */\n dropdownHeight: number;\n /* this could 1,2 or 3, based on the whether the cross, plus and chevrons */\n suffixCount = 0;\n\n /**\n * The field in the data item that uniquely identifies it.\n */\n @Input()\n idField: IdField = 'id' as IdField;\n\n /**\n * showIcon allows user to show initial of the option as an icon\n */\n @Input()\n showIcon = false;\n /**\n * The name of the field in the generic type T that contains the name of the\n * item to display. This is used to read the name of each item in the list.\n */\n @Input()\n nameField: keyof InputType = 'name' as keyof InputType;\n\n /**\n * The field to show disabled items in the list\n */\n @Input()\n disabledField: keyof InputType = 'deleted' as keyof InputType;\n\n /**\n * The text to be displayed in the input box when no value is entered.\n */\n @Input()\n placeholder = '';\n\n // Sets the minimum width for the input box, in pixels.\n // Used to prevent the input box from shrinking when the container is very small.\n @Input()\n inputMinWidth = INPUT_MIN_WIDTH;\n\n // This code sets the multiple mode for the Select component.\n @Input()\n multiple: MultipleMode = true as MultipleMode;\n\n /**\n * The options that will be displayed in the select.\n */\n @Input()\n options?: InputType[];\n\n /**\n * Disable cross icon in input field.\n */\n @Input()\n showClearAll = true;\n\n /**\n * Hide these options in list.\n */\n @Input()\n hiddenValues?: Set;\n\n /**\n * Whether to show the search box.\n */\n @Input()\n search = true;\n\n // disable the dropdown\n @Input()\n disabledDropdown = false;\n\n\n\n\n/**\n * Indicates whether custom the input is allowed.\n */\n@Input()\nallowInput = false;\n\n/* Max number of items visible at a time in the dropdown, used to set the height */\n@Input()\nmaxVisibleItems = MIN_VISIBLE_ITEMS;\n\n/* label to show to add a custom item in the dropdown */\n@Input()\naddTagString = 'createANewTag';\n\n/* Placeholder for the search input */\n@Input()\nsearchPlaceholder = 'search';\n\n/* Used to get groupConfig from components to group data if needed */\n@Input()\ngroupConfig: GroupConfig[] = [];\n/**\n * Whether to select the first option when the user presses enter\n */\n@Input()\nselectOnEnter = true;\n\n/* whether to show selected options on top */\n@Input()\nshowSelectedOnTop = false;\n\n@Input()\nitemTemplate: TemplateRef>;\n\n@Output()\nnewAdded = new EventEmitter();\n\n@Output()\nnewRemoved = new EventEmitter();\n\n@Output()\nadded = new EventEmitter();\n\n@Output()\nremoved = new EventEmitter();\n\n@Output()\ncleared = new EventEmitter();\n\n@Output()\nvalueChange = new EventEmitter>();\n\n/* Control value accessor related properties */\nonChange = (value: ValueType) => {};\n\nonTouched = () => {};\n\nregisterOnChange(onChange: (value: ValueType) => {}) {\n this.onChange = onChange;\n}\n\nregisterOnTouched(onTouched: () => {}) {\n this.onTouched = onTouched;\n}\n\nwriteValue(value: ValueType) {\n this.value = value;\n}\n\nsetDisabledState(isDisabled: boolean) {\n this.disabledDropdown = isDisabled;\n}\n\n/**\n * The function sets the value of the selection model to the value passed in\n * @param value - ValueType\n */\n@Input()\nset value(value: ValueType) {\n this._initSelectionModel();\n this._setSelections(value);\n this.onChange(value);\n this.onTouched();\n // this.updateTagsCount();\n}\n\n/**\n * If the `multiple` property is true, return the `selected` property of the `selections` object as an\n * array. Otherwise, return the first element of the `selected` property of the `selections` object as\n * a single value\n * @returns The value of the selected item.\n */\nget value(): ValueType {\n if (this.multiple === true) {\n return this.selections.selected as ValueType;\n } else {\n return this.selections.selected[0] as ValueType;\n }\n}\n\n/**\n * It returns the list of invisible tags to be shown in tags panel\n * @returns The list of invisible tags.\n */\nget invisibleTags() {\n return this.panels[PanelType.Extra].list;\n}\n\n/**\n * It sets the value of the invisibleTags property to the value of the value parameter.\n * @param {InputType[]} value - The value of the input.\n */\nset invisibleTags(value: InputType[]) {\n this.panels[PanelType.Extra].list = Object.assign([], value);\n}\n\nngOnInit(): void {\n console.log(this.options);\n this._initSelectionModel();\n /* Subscribing to the viewportRuler's change event and updating the width of the element. */\n this._viewportRuler\n .change()\n .subscribe(() => {\n // this._updateWidth();\n });\n}\n\nngOnChanges(changes: SimpleChanges): void {\n\n console.log(this.options)\n if (changes['multiple'] && !changes['multiple'].isFirstChange()) {\n this._initSelectionModel();\n }\n if (this.showSelectedOnTop) {\n this._setIsSelectedOption(this.options!, false);\n }\n this._dropdownHeight();\n this.updateSelectedItems();\n // this.updateTagsCount();\n}\n\n/**\n * If the item is not a placeholder, toggle the item in the selections array. If the item is a\n * placeholder, and it is not selected, emit the item as a newRemoved event\n * @param {InputType} item - InputType - the item that was selected/deselected\n */\ntoggle(item: InputType) {\n if (!this.multiple && this.selectedItems.isSelected(item)) {\n return;\n }\n this.selectedItems.toggle(item);\n if (!this.isPlaceholder(item)) {\n this.selections.toggle(item[this.idField] as Value);\n if (this.selections.isSelected(item[this.idField] as Value)) {\n this.added.emit(item);\n } else {\n this.removed.emit(item);\n }\n } else if (!this.selectedItems.isSelected(item)) {\n this.newRemoved.emit(item);\n } else {\n this.newAdded.emit(item);\n }\n const isSelectedOption = 'isSelected' as keyof InputType;\n if (item[isSelectedOption] !== undefined) {\n item[isSelectedOption] = !item[\n isSelectedOption\n ] as unknown as InputType[keyof InputType];\n }\n this._processChange();\n}\n\n/**\n * It clears the selections and selectedItems collections, then emits the cleared event\n */\nclearAll() {\n if (this.options?.length) {\n this._setIsSelectedOption(this.options, false);\n }\n this.selections.clear();\n this.selectedItems.clear();\n this._processChange();\n this.cleared.emit();\n}\n\n/**\n * If the state is closed, open the dropdown, otherwise close it\n */\ntoggleDropdown() {\n if (this.state === SelectState.Closed) {\n this.open();\n } else {\n this.close();\n }\n this._cdr.detectChanges();\n}\n /**\n * If the panel is closed, open it, otherwise close it\n */\n togglePanel(type: PanelType) {\n if (this.panels[type].state === SelectState.Closed) {\n this.openPanel(type);\n } else {\n this.closePanel();\n }\n}\n\nopenPanel(type: PanelType) {\n this.panels[type].state = SelectState.Open;\n this.currentPanel = this.panels[type];\n this.currentPanelType = type;\n this._panelWidth(type);\n this._panelHeight(type, this.panels[type].list);\n this._cdr.detectChanges();\n}\n\n/**\n * If there is a current panel, set its state to closed and clear the current panel and panel type\n */\nclosePanel() {\n if (this.currentPanel) {\n this.currentPanel.state = SelectState.Closed;\n this.currentPanel = undefined;\n this.currentPanelType = undefined;\n }\n}\n\n/**\n * It filters the autocomplete options based on the value of the input, and adds a placeholder option\n * if the value is not found in the data\n * @param {string} value - string - the value of the input field\n */\nupdateAutocompleteOptions(value: string) {\n let showAddOption = !this.selectedItems.selected.some(item =>\n isEqual(item[this.nameField], value),\n );\n this.panels[PanelType.Autocomplete].list = [];\n if (value) {\n this.panels[PanelType.Autocomplete].list =\n this.options?.filter?.(item => {\n if (this.asString(item[this.nameField]) === value) {\n showAddOption = false;\n }\n return (\n !this.selections.isSelected(item[this.idField] as Value) &&\n this.asString(item[this.nameField])\n .toLowerCase()\n .trim()\n .indexOf(value.toLowerCase().trim()) > -1\n );\n }) ?? [];\n }\n if (showAddOption && value.length) {\n this.panels[PanelType.Autocomplete].list.push({\n [this.idField]: PLACEHOLDER_ITEM,\n [this.nameField]: value,\n } as unknown as InputType);\n }\n if (this.panels[PanelType.Autocomplete].list.length) {\n this.openPanel(PanelType.Autocomplete);\n } else {\n this.closePanel();\n }\n this._cdr.detectChanges();\n}\n\n/**\n * If the user presses enter, clear the input and if there's an autocomplete suggestion, select it\n * @param {HTMLInputElement} input - HTMLInputElement - the input element that the user is typing in\n */\nautocompleteEnter(input: HTMLInputElement) {\n input.value = '';\n if (this.panels[PanelType.Autocomplete].list[0]) {\n this.handleAutocompleteSelect(\n this.panels[PanelType.Autocomplete].list[0],\n );\n this.closePanel();\n }\n}\n\n/**\n * If the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item\n * @param {InputType} item - InputType - this is the item that was selected from the autocomplete\n * dropdown.\n */\nhandleAutocompleteSelect(item: InputType) {\n if (this.isPlaceholder(item)) {\n this.selectedItems.select(item);\n this.newAdded.emit(item);\n } else {\n this.toggle(item);\n }\n this.panels[PanelType.Autocomplete].list = [];\n if (this.autoCompleteInput) {\n this.autoCompleteInput.nativeElement.value = '';\n }\n this._processChange();\n}\n\n/**\n * The funtion closes the dropdown, change detection is triggered internally by the update width method\n */\nopen() {\n this.state = SelectState.Open;\n // this._updateWidth();\n}\n\n/**\n * The function closes the dropdown and tells Angular to check for changes\n */\nclose() {\n this.state = SelectState.Closed;\n this._cdr.detectChanges();\n}\n\n/**\n * It emits the new value of the select box\n */\nemitNewValue() {\n if (this.multiple === true) {\n this.valueChange.emit(\n this.selections.selected as ValueType,\n );\n } else {\n this.valueChange.emit(\n this.selections.selected[0] as ValueType,\n );\n }\n}\n\n/**\n * It calculates the width of the tags and the input box and then decides which tags to show and which\n * to hide\n */\n// updateTagsCount() {\n// // for cross and chevron if not disabled\n// this.suffixCount = this.disabledDropdown ? 0 : DIGITS.TWO;\n// if (this.invisibleTags.length) {\n// // for the counter box\n// this.suffixCount += 1;\n// }\n// this.invisibleTags = [];\n// this.visibleTags = Object.assign([], this.selectedItems.selected);\n// this._cdr.detectChanges();\n// const inputBuffer =\n// this.allowInput && !this.disabledDropdown\n// ? this.inputMinWidth + DIGITS.TWO * this.tagMargin\n// : 0;\n// const width = this.elementRef.nativeElement.getBoundingClientRect().width;\n// const rightPadding = this.suffixWidth * this.suffixCount;\n// const allowedWidth =\n// width - (this.padding * DIGITS.TWO + rightPadding + inputBuffer);\n// let combinedWidth = 0;\n// let i;\n// for (i = 0; i < this.tags.length; i++) {\n// const tag = this.tags.get(i);\n// if (!tag) {\n// break;\n// }\n// combinedWidth =\n// combinedWidth +\n// tag._hostElement.nativeElement.getBoundingClientRect().width +\n// DIGITS.TWO * this.tagMargin;\n// if (combinedWidth > allowedWidth) {\n// break;\n// }\n// }\n// if (i === 0) {\n// i = 1;\n// }\n// this.visibleTags = this.selectedItems.selected.slice(0, i);\n// this.invisibleTags = this.selectedItems.selected.slice(i);\n// // this required again to ensure proper width of input element\n// if (this.invisibleTags.length) {\n// // for the counter box\n// this.suffixCount += 1;\n// }\n// this._cdr.detectChanges();\n// }\n\n/**\n * It takes an item of type T and returns it as a string\n * @param {T} item - T - The item to be converted to a string.\n * @returns The item as a string.\n */\nasString(item: T) {\n return item as unknown as string;\n}\n\n/**\n * If the id of the item is a string and it's equal to the placeholder item, then return true.\n * Otherwise, return false\n * @param {InputType} item - InputType - the item to check\n * @returns A boolean value.\n */\nisPlaceholder(item: InputType) {\n const id = item[this.idField];\n if (typeof id === 'string' && id === PLACEHOLDER_ITEM) {\n return true;\n } else {\n return false;\n }\n}\n /**\n * A function that is called when the selection changes.\n */\n private _processChange() {\n this._updateEmptyState();\n this.emitNewValue();\n this.onChange(this.value);\n // this triggers the detect changes\n // this.updateTagsCount();\n // this can only be called after tags have been updated\n if (this.currentPanel && this.currentPanelType) {\n this._panelHeight(this.currentPanelType, this.currentPanel.list);\n }\n}\n\n/**\n * `this._setSelections` is a private function that updates the value of the selections\n * @param value - ValueType\n */\nprivate _setSelections(value: ValueType) {\n if (this.multiple && Array.isArray(value)) {\n this.selections.select(...(value as Value[]));\n } else if (!this.multiple) {\n this.selections.select(value as Value);\n } else {\n this.selections.clear();\n }\n this.updateSelectedItems();\n}\n\n/**\n * If the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set\n * it to false\n */\nprivate _updateEmptyState() {\n if (this.selectedItems.selected.length === 0) {\n this.isEmpty = true;\n } else {\n this.isEmpty = false;\n }\n}\n\n/**\n * It updates the selectedItems with the selected items\n */\nprivate updateSelectedItems() {\n this.selectedItems.clear();\n const ids = this.selections.selected;\n if (this.multiple) {\n const items = this.options?.filter?.(item =>\n ids.includes(item[this.idField] as Value),\n );\n if (items?.length) {\n this.selectedItems.select(...items);\n this._setIsSelectedOption(items, true);\n }\n } else {\n const item = this.options?.find?.(\n item => item[this.idField] === ids[0],\n ) as InputType;\n if (item) {\n this.selectedItems.select(item);\n }\n }\n this._updateEmptyState();\n}\n\n/**\n * > Initialize the selection models based on the `multiple` property\n */\nprivate _initSelectionModel() {\n this.selections = new SelectionModel(this.multiple);\n this.selectedItems = new SelectionModel(this.multiple);\n}\n\n/**\n * It updates the width of the dropdown overlay element.\n */\n// private _updateWidth() {\n// this.width = this.elementRef.nativeElement.getBoundingClientRect().width;\n// this._cdr.detectChanges();\n// }\n\n/**\n * It updates the width of the panel overlay element.\n */\nprivate _panelWidth(type: PanelType) {\n this.panels[type].width =\n this.elementRef.nativeElement.getBoundingClientRect().width;\n this._cdr.detectChanges();\n}\n\n/**\n * It sets the height of the `panel` div to the height of the number of items in the `invisibleTags`\n * array, or the `maxVisibleItems` property, whichever is smaller\n */\nprivate _panelHeight(type: PanelType, list: InputType[]) {\n // this.panels[type].height =\n // list.length > this.maxVisibleItems\n // ? this.itemHeight * this.maxVisibleItems\n // : this.itemHeight * list.length;\n // this._cdr.detectChanges();\n}\n\n/**\n * _dropdownHeight() is a private function that calculates the panelHeight property based on the number\n * of items in the data array and the `maxVisibleItems` property.\n * If the `search` property is true, then it adds the `searchHeight` property to the panelHeight.\n */\nprivate _dropdownHeight() {\n // const minSize = this.options?.length ?? 1;\n // this.dropdownHeight =\n // minSize > this.maxVisibleItems\n // ? this.itemHeight * this.maxVisibleItems\n // : this.itemHeight * minSize;\n // if (this.search) {\n // this.dropdownHeight += this.searchHeight + 1;\n // }\n}\n\nprivate _setIsSelectedOption(items: InputType[], value: boolean) {\n if (this.showSelectedOnTop) {\n items.forEach?.(item => {\n item['isSelected' as keyof InputType] =\n value as unknown as InputType[keyof InputType];\n });\n }\n}\n}", + "sourceCode": "import {SelectionModel} from '@angular/cdk/collections';\nimport {ConnectedPosition, Overlay, ViewportRuler} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NbTagComponent} from '@nebular/theme';\nimport {cloneDeep, isEqual} from 'lodash';\nimport {takeUntil} from 'rxjs';\nimport {dropdownAnimation, rotateAnimation} from '../animations';\nimport {\n INPUT_MIN_WIDTH,\n ITEM_HEIGHT,\n MIN_VISIBLE_ITEMS,\n PLACEHOLDER_ITEM,\n PanelType,\n SEARCH_HEIGHT,\n SUFFIX_WIDTH,\n SelectState,\n TAG_MARGIN,\n TAG_PADDING,\n panelConfigs,\n} from '../constants';\nimport {GroupConfig, ItemTemplate, Panel, ValueType} from '../types';\nimport { DIGITS } from '@project-lib/core/constants';\nimport { ComponentBaseDirective } from '@project-lib/core/component-base';\n@Component({\n selector: 'selector',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n animations: [dropdownAnimation, rotateAnimation],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SelectComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SelectComponent<\n InputType,\n MultipleMode extends boolean,\n Value extends InputType[IdField],\n IdField extends keyof InputType,\n >\n extends ComponentBaseDirective\n implements ControlValueAccessor, OnInit, OnChanges\n{\n constructor(\n public overlay: Overlay,\n public elementRef: ElementRef,\n protected _viewportRuler: ViewportRuler,\n private _cdr: ChangeDetectorRef,\n ) {\n super();\n this.panels = cloneDeep(panelConfigs);\n }\n\n @ViewChildren(NbTagComponent)\n tags: QueryList;\n\n @ViewChild('autoCompleteInput')\n autoCompleteInput?: ElementRef;\n\n selections: SelectionModel = new SelectionModel();\n selectedItems: SelectionModel = new SelectionModel();\n visibleTags: InputType[] = [];\n isEmpty = true;\n\n /* Defining config for both kinds of panels */\n panels: Record>;\n currentPanel?: Panel;\n currentPanelType?: PanelType;\n\n /* A type alias for states and panel type enum */\n states = SelectState;\n types = PanelType;\n /* Setting the state of the dropdown to closed. */\n state: SelectState = SelectState.Closed;\n\n /* Setting the position of the dropdown. */\n positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 5,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'select-panel-above',\n },\n ];\n\n // dropdown overlay width, this is set based on width of container\n width = 0;\n\n /* css dependent values, these are supposed to be changed whenever css is changed */\n /* the padding of the tags container. */\n padding = TAG_PADDING;\n /* The margin between tags. */\n tagMargin = TAG_MARGIN;\n /* The height of each item in the dropdown. */\n itemHeight = ITEM_HEIGHT;\n /* The width of the cross, plus and chevron icons. */\n suffixWidth = SUFFIX_WIDTH;\n /* The height of the input box */\n searchHeight = SEARCH_HEIGHT;\n\n /* calculated values based on above values */\n /* A variable that is used to set the height of the dropdown. */\n dropdownHeight: number;\n /* this could 1,2 or 3, based on the whether the cross, plus and chevrons */\n suffixCount = 0;\n\n /**\n * The field in the data item that uniquely identifies it.\n */\n @Input()\n idField: IdField = 'id' as IdField;\n\n /**\n * showIcon allows user to show initial of the option as an icon\n */\n @Input()\n showIcon = false;\n /**\n * The name of the field in the generic type T that contains the name of the\n * item to display. This is used to read the name of each item in the list.\n */\n @Input()\n nameField: keyof InputType = 'name' as keyof InputType;\n\n /**\n * The field to show disabled items in the list\n */\n @Input()\n disabledField: keyof InputType = 'deleted' as keyof InputType;\n\n /**\n * The text to be displayed in the input box when no value is entered.\n */\n @Input()\n placeholder = '';\n\n // Sets the minimum width for the input box, in pixels.\n // Used to prevent the input box from shrinking when the container is very small.\n @Input()\n inputMinWidth = INPUT_MIN_WIDTH;\n\n // This code sets the multiple mode for the Select component.\n @Input()\n multiple: MultipleMode = true as MultipleMode;\n\n /**\n * The options that will be displayed in the select.\n */\n @Input()\n options?: InputType[];\n\n /**\n * Disable cross icon in input field.\n */\n @Input()\n showClearAll = true;\n\n /**\n * Hide these options in list.\n */\n @Input()\n hiddenValues?: Set;\n\n /**\n * Whether to show the search box.\n */\n @Input()\n search = true;\n\n // disable the dropdown\n @Input()\n disabledDropdown = false;\n\n\n\n\n/**\n * Indicates whether custom the input is allowed.\n */\n@Input()\nallowInput = false;\n\n/* Max number of items visible at a time in the dropdown, used to set the height */\n@Input()\nmaxVisibleItems = MIN_VISIBLE_ITEMS;\n\n/* label to show to add a custom item in the dropdown */\n@Input()\naddTagString = 'createANewTag';\n\n/* Placeholder for the search input */\n@Input()\nsearchPlaceholder = 'search';\n\n/* Used to get groupConfig from components to group data if needed */\n@Input()\ngroupConfig: GroupConfig[] = [];\n/**\n * Whether to select the first option when the user presses enter\n */\n@Input()\nselectOnEnter = true;\n\n/* whether to show selected options on top */\n@Input()\nshowSelectedOnTop = false;\n\n@Input()\nitemTemplate: TemplateRef>;\n\n@Output()\nnewAdded = new EventEmitter();\n\n@Output()\nnewRemoved = new EventEmitter();\n\n@Output()\nadded = new EventEmitter();\n\n@Output()\nremoved = new EventEmitter();\n\n@Output()\ncleared = new EventEmitter();\n\n@Output()\nvalueChange = new EventEmitter>();\n\n/* Control value accessor related properties */\nonChange = (value: ValueType) => {};\n\nonTouched = () => {};\n\nregisterOnChange(onChange: (value: ValueType) => {}) {\n this.onChange = onChange;\n}\n\nregisterOnTouched(onTouched: () => {}) {\n this.onTouched = onTouched;\n}\n\nwriteValue(value: ValueType) {\n this.value = value;\n}\n\nsetDisabledState(isDisabled: boolean) {\n this.disabledDropdown = isDisabled;\n}\n\n/**\n * The function sets the value of the selection model to the value passed in\n * @param value - ValueType\n */\n@Input()\nset value(value: ValueType) {\n this._initSelectionModel();\n this._setSelections(value);\n this.onChange(value);\n this.onTouched();\n // this.updateTagsCount();\n}\n\n/**\n * If the `multiple` property is true, return the `selected` property of the `selections` object as an\n * array. Otherwise, return the first element of the `selected` property of the `selections` object as\n * a single value\n * @returns The value of the selected item.\n */\nget value(): ValueType {\n if (this.multiple === true) {\n return this.selections.selected as ValueType;\n } else {\n return this.selections.selected[0] as ValueType;\n }\n}\n\n/**\n * It returns the list of invisible tags to be shown in tags panel\n * @returns The list of invisible tags.\n */\nget invisibleTags() {\n return this.panels[PanelType.Extra].list;\n}\n\n/**\n * It sets the value of the invisibleTags property to the value of the value parameter.\n * @param {InputType[]} value - The value of the input.\n */\nset invisibleTags(value: InputType[]) {\n this.panels[PanelType.Extra].list = Object.assign([], value);\n}\n\nngOnInit(): void {\n console.log(this.options);\n this._initSelectionModel();\n /* Subscribing to the viewportRuler's change event and updating the width of the element. */\n this._viewportRuler\n .change()\n .subscribe(() => {\n // this._updateWidth();\n });\n}\n\nngOnChanges(changes: SimpleChanges): void {\n\n console.log(this.options)\n if (changes['multiple'] && !changes['multiple'].isFirstChange()) {\n this._initSelectionModel();\n }\n if (this.showSelectedOnTop) {\n this._setIsSelectedOption(this.options!, false);\n }\n this._dropdownHeight();\n this.updateSelectedItems();\n this.updateTagsCount();\n}\n\n/**\n * If the item is not a placeholder, toggle the item in the selections array. If the item is a\n * placeholder, and it is not selected, emit the item as a newRemoved event\n * @param {InputType} item - InputType - the item that was selected/deselected\n */\ntoggle(item: InputType) {\n if (!this.multiple && this.selectedItems.isSelected(item)) {\n return;\n }\n this.selectedItems.toggle(item);\n if (!this.isPlaceholder(item)) {\n this.selections.toggle(item[this.idField] as Value);\n if (this.selections.isSelected(item[this.idField] as Value)) {\n this.added.emit(item);\n } else {\n this.removed.emit(item);\n }\n } else if (!this.selectedItems.isSelected(item)) {\n this.newRemoved.emit(item);\n } else {\n this.newAdded.emit(item);\n }\n const isSelectedOption = 'isSelected' as keyof InputType;\n if (item[isSelectedOption] !== undefined) {\n item[isSelectedOption] = !item[\n isSelectedOption\n ] as unknown as InputType[keyof InputType];\n }\n this._processChange();\n}\n\n/**\n * It clears the selections and selectedItems collections, then emits the cleared event\n */\nclearAll() {\n if (this.options?.length) {\n this._setIsSelectedOption(this.options, false);\n }\n this.selections.clear();\n this.selectedItems.clear();\n this._processChange();\n this.cleared.emit();\n}\n\n/**\n * If the state is closed, open the dropdown, otherwise close it\n */\ntoggleDropdown() {\n if (this.state === SelectState.Closed) {\n this.open();\n } else {\n this.close();\n }\n this._cdr.detectChanges();\n}\n /**\n * If the panel is closed, open it, otherwise close it\n */\n togglePanel(type: PanelType) {\n if (this.panels[type].state === SelectState.Closed) {\n this.openPanel(type);\n } else {\n this.closePanel();\n }\n}\n\nopenPanel(type: PanelType) {\n this.panels[type].state = SelectState.Open;\n this.currentPanel = this.panels[type];\n this.currentPanelType = type;\n this._panelWidth(type);\n this._panelHeight(type, this.panels[type].list);\n this._cdr.detectChanges();\n}\n\n/**\n * If there is a current panel, set its state to closed and clear the current panel and panel type\n */\nclosePanel() {\n if (this.currentPanel) {\n this.currentPanel.state = SelectState.Closed;\n this.currentPanel = undefined;\n this.currentPanelType = undefined;\n }\n}\n\n/**\n * It filters the autocomplete options based on the value of the input, and adds a placeholder option\n * if the value is not found in the data\n * @param {string} value - string - the value of the input field\n */\nupdateAutocompleteOptions(value: string) {\n let showAddOption = !this.selectedItems.selected.some(item =>\n isEqual(item[this.nameField], value),\n );\n this.panels[PanelType.Autocomplete].list = [];\n if (value) {\n this.panels[PanelType.Autocomplete].list =\n this.options?.filter?.(item => {\n if (this.asString(item[this.nameField]) === value) {\n showAddOption = false;\n }\n return (\n !this.selections.isSelected(item[this.idField] as Value) &&\n this.asString(item[this.nameField])\n .toLowerCase()\n .trim()\n .indexOf(value.toLowerCase().trim()) > -1\n );\n }) ?? [];\n }\n if (showAddOption && value.length) {\n this.panels[PanelType.Autocomplete].list.push({\n [this.idField]: PLACEHOLDER_ITEM,\n [this.nameField]: value,\n } as unknown as InputType);\n }\n if (this.panels[PanelType.Autocomplete].list.length) {\n this.openPanel(PanelType.Autocomplete);\n } else {\n this.closePanel();\n }\n this._cdr.detectChanges();\n}\n\n/**\n * If the user presses enter, clear the input and if there's an autocomplete suggestion, select it\n * @param {HTMLInputElement} input - HTMLInputElement - the input element that the user is typing in\n */\nautocompleteEnter(input: HTMLInputElement) {\n input.value = '';\n if (this.panels[PanelType.Autocomplete].list[0]) {\n this.handleAutocompleteSelect(\n this.panels[PanelType.Autocomplete].list[0],\n );\n this.closePanel();\n }\n}\n\n/**\n * If the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item\n * @param {InputType} item - InputType - this is the item that was selected from the autocomplete\n * dropdown.\n */\nhandleAutocompleteSelect(item: InputType) {\n if (this.isPlaceholder(item)) {\n this.selectedItems.select(item);\n this.newAdded.emit(item);\n } else {\n this.toggle(item);\n }\n this.panels[PanelType.Autocomplete].list = [];\n if (this.autoCompleteInput) {\n this.autoCompleteInput.nativeElement.value = '';\n }\n this._processChange();\n}\n\n/**\n * The funtion closes the dropdown, change detection is triggered internally by the update width method\n */\nopen() {\n this.state = SelectState.Open;\n this._updateWidth();\n}\n\n/**\n * The function closes the dropdown and tells Angular to check for changes\n */\nclose() {\n this.state = SelectState.Closed;\n this._cdr.detectChanges();\n}\n\n/**\n * It emits the new value of the select box\n */\nemitNewValue() {\n if (this.multiple === true) {\n this.valueChange.emit(\n this.selections.selected as ValueType,\n );\n } else {\n this.valueChange.emit(\n this.selections.selected[0] as ValueType,\n );\n }\n}\n\n/**\n * It calculates the width of the tags and the input box and then decides which tags to show and which\n * to hide\n */\nupdateTagsCount() {\n // for cross and chevron if not disabled\n this.suffixCount = this.disabledDropdown ? 0 : DIGITS.TWO;\n if (this.invisibleTags.length) {\n // for the counter box\n this.suffixCount += 1;\n }\n this.invisibleTags = [];\n this.visibleTags = Object.assign([], this.selectedItems.selected);\n this._cdr.detectChanges();\n const inputBuffer =\n this.allowInput && !this.disabledDropdown\n ? this.inputMinWidth + DIGITS.TWO * this.tagMargin\n : 0;\n const width = this.elementRef.nativeElement.getBoundingClientRect().width;\n const rightPadding = this.suffixWidth * this.suffixCount;\n const allowedWidth =\n width - (this.padding * DIGITS.TWO + rightPadding + inputBuffer);\n let combinedWidth = 0;\n let i;\n for (i = 0; i < this.tags.length; i++) {\n const tag = this.tags.get(i);\n if (!tag) {\n break;\n }\n combinedWidth =\n combinedWidth +\n tag._hostElement.nativeElement.getBoundingClientRect().width +\n DIGITS.TWO * this.tagMargin;\n if (combinedWidth > allowedWidth) {\n break;\n }\n }\n if (i === 0) {\n i = 1;\n }\n this.visibleTags = this.selectedItems.selected.slice(0, i);\n this.invisibleTags = this.selectedItems.selected.slice(i);\n // this required again to ensure proper width of input element\n if (this.invisibleTags.length) {\n // for the counter box\n this.suffixCount += 1;\n }\n this._cdr.detectChanges();\n}\n\n/**\n * It takes an item of type T and returns it as a string\n * @param {T} item - T - The item to be converted to a string.\n * @returns The item as a string.\n */\nasString(item: T) {\n return item as unknown as string;\n}\n\n/**\n * If the id of the item is a string and it's equal to the placeholder item, then return true.\n * Otherwise, return false\n * @param {InputType} item - InputType - the item to check\n * @returns A boolean value.\n */\nisPlaceholder(item: InputType) {\n const id = item[this.idField];\n if (typeof id === 'string' && id === PLACEHOLDER_ITEM) {\n return true;\n } else {\n return false;\n }\n}\n /**\n * A function that is called when the selection changes.\n */\n private _processChange() {\n this._updateEmptyState();\n this.emitNewValue();\n this.onChange(this.value);\n // this triggers the detect changes\n // this.updateTagsCount();\n // this can only be called after tags have been updated\n if (this.currentPanel && this.currentPanelType) {\n this._panelHeight(this.currentPanelType, this.currentPanel.list);\n }\n}\n\n/**\n * `this._setSelections` is a private function that updates the value of the selections\n * @param value - ValueType\n */\nprivate _setSelections(value: ValueType) {\n if (this.multiple && Array.isArray(value)) {\n this.selections.select(...(value as Value[]));\n } else if (!this.multiple) {\n this.selections.select(value as Value);\n } else {\n this.selections.clear();\n }\n this.updateSelectedItems();\n}\n\n/**\n * If the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set\n * it to false\n */\nprivate _updateEmptyState() {\n if (this.selectedItems.selected.length === 0) {\n this.isEmpty = true;\n } else {\n this.isEmpty = false;\n }\n}\n\n/**\n * It updates the selectedItems with the selected items\n */\nprivate updateSelectedItems() {\n this.selectedItems.clear();\n const ids = this.selections.selected;\n if (this.multiple) {\n const items = this.options?.filter?.(item =>\n ids.includes(item[this.idField] as Value),\n );\n if (items?.length) {\n this.selectedItems.select(...items);\n this._setIsSelectedOption(items, true);\n }\n } else {\n const item = this.options?.find?.(\n item => item[this.idField] === ids[0],\n ) as InputType;\n if (item) {\n this.selectedItems.select(item);\n }\n }\n this._updateEmptyState();\n}\n\n/**\n * > Initialize the selection models based on the `multiple` property\n */\nprivate _initSelectionModel() {\n this.selections = new SelectionModel(this.multiple);\n this.selectedItems = new SelectionModel(this.multiple);\n}\n\n/**\n * It updates the width of the dropdown overlay element.\n */\nprivate _updateWidth() {\n \n this.width = 100;\n this._cdr.detectChanges();\n}\n\n/**\n * It updates the width of the panel overlay element.\n */\nprivate _panelWidth(type: PanelType) {\n this.panels[type].width =100;\n \n this._cdr.detectChanges();\n}\n\n/**\n * It sets the height of the `panel` div to the height of the number of items in the `invisibleTags`\n * array, or the `maxVisibleItems` property, whichever is smaller\n */\nprivate _panelHeight(type: PanelType, list: InputType[]) {\n // this.panels[type].height =\n // list.length > this.maxVisibleItems\n // ? this.itemHeight * this.maxVisibleItems\n // : this.itemHeight * list.length;\n // this._cdr.detectChanges();\n}\n\n/**\n * _dropdownHeight() is a private function that calculates the panelHeight property based on the number\n * of items in the data array and the `maxVisibleItems` property.\n * If the `search` property is true, then it adds the `searchHeight` property to the panelHeight.\n */\nprivate _dropdownHeight() {\n // const minSize = this.options?.length ?? 1;\n // this.dropdownHeight =\n // minSize > this.maxVisibleItems\n // ? this.itemHeight * this.maxVisibleItems\n // : this.itemHeight * minSize;\n // if (this.search) {\n // this.dropdownHeight += this.searchHeight + 1;\n // }\n}\n\nprivate _setIsSelectedOption(items: InputType[], value: boolean) {\n if (this.showSelectedOnTop) {\n items.forEach?.(item => {\n item['isSelected' as keyof InputType] =\n value as unknown as InputType[keyof InputType];\n });\n }\n}\n}", "assetsDirs": [], "styleUrlsData": [ { @@ -13591,7 +13670,7 @@ } } }, - "templateData": "\n \n +{{ invisibleTags.length }}\n \n \n \n\n \n \n \n \n \n \n \n\n\n\n \n\n\n \n \n\n" + "templateData": "\n \n +{{ invisibleTags.length }}\n \n \n \n\n \n \n \n \n \n \n \n\n\n\n \n\n\n \n \n\n" }, { "name": "SelectTestComponent", @@ -13740,13 +13819,13 @@ }, { "name": "AuthModule", - "id": "module-AuthModule-5adde7d3c138b18b8bb3ef2d1f664e8fd5f7c18d85ccb2603455de53af738e8779f9917eba2cf525c4dc1dac98eef8d607e6e1da6edd7afaeda32adbd989df54", + "id": "module-AuthModule-20cfc3754fd6b12c75a0eb1dacba44da6d84be8bd337adac7dedc313e08108d981b13d5bebf8608baf2722a0dffd9129dbb9b807f2351f10ca031893d9d7eada", "description": "", "deprecationMessage": "", "deprecated": false, "file": "projects/arc-lib/src/lib/components/auth/auth.module.ts", "methods": [], - "sourceCode": "import {CommonModule} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {NgModule, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {NbAuthModule, NbPasswordAuthStrategy} from '@nebular/auth';\nimport {NbLayoutModule, NbThemeModule} from '@nebular/theme';\nimport {TranslateModule} from '@ngx-translate/core';\n\nimport {ThemeModule} from '@project-lib/theme/theme.module';\nimport {AuthRoutingModule} from './auth-routing.module';\nimport {AuthComponent} from './auth.component';\nimport {LoginComponent} from './login/login.component';\nimport { HomePageComponent } from './home-page/home-page.component';\nimport { LoginPageComponent } from './login-page/login-page.component';\n\n@NgModule({\n declarations: [LoginComponent, AuthComponent, HomePageComponent, LoginPageComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n ThemeModule,\n AuthRoutingModule,\n HttpClientModule,\n NbLayoutModule,\n TranslateModule,\n NbThemeModule.forRoot(),\n NbAuthModule.forRoot({\n strategies: [\n NbPasswordAuthStrategy.setup({\n name: 'email',\n }),\n ],\n forms: {},\n }),\n ],\n})\nexport class AuthModule {}\n", + "sourceCode": "import {CommonModule} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {NgModule, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {NbAuthModule, NbPasswordAuthStrategy} from '@nebular/auth';\nimport {NbLayoutModule, NbThemeModule} from '@nebular/theme';\nimport {TranslateModule} from '@ngx-translate/core';\n\nimport {ThemeModule} from '@project-lib/theme/theme.module';\nimport {AuthRoutingModule} from './auth-routing.module';\nimport {AuthComponent} from './auth.component';\nimport {LoginComponent} from './login/login.component';\nimport { HomePageComponent } from './home-page/home-page.component';\nimport { LoginPageComponent } from './login-page/login-page.component';\n\n@NgModule({\n declarations: [LoginComponent, AuthComponent, HomePageComponent, LoginPageComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n ThemeModule,\n AuthRoutingModule,\n HttpClientModule,\n NbLayoutModule,\n TranslateModule,\n NbThemeModule.forRoot(),\n NbAuthModule.forRoot({\n strategies: [\n NbPasswordAuthStrategy.setup({\n name: 'email',\n }),\n ],\n forms: {},\n }),\n ],\n exports:[LoginPageComponent]\n})\nexport class AuthModule {}\n", "children": [ { "type": "providers", @@ -13782,7 +13861,11 @@ }, { "type": "exports", - "elements": [] + "elements": [ + { + "name": "LoginPageComponent" + } + ] }, { "type": "bootstrap", @@ -14766,6 +14849,16 @@ "type": "Story", "defaultValue": "{\n render: (args: Page) => ({\n props: args,\n }),\n}" }, + { + "name": "MainSection", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/Login.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "Template.bind({})" + }, { "name": "MAX_ALLOCATION", "ctype": "miscellaneous", @@ -15076,6 +15169,16 @@ "type": "", "defaultValue": "(args: ListComponent) => ({\n component: ListComponent,\n moduleMetadata: {\n imports: [NbFormFieldModule, NbListModule], // Import any necessary modules\n },\n props: args,\n})" }, + { + "name": "Template", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/Login.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "Story", + "defaultValue": "() => ({\n template: `\n
\n
\n \n \n \n \n \n \n
\n
\n \n \n
\n \"loginImg\"\n
\n
\n
\n
\n
\n `,\n})" + }, { "name": "Template", "ctype": "miscellaneous", @@ -16890,6 +16993,28 @@ "defaultValue": "{\n title: 'Example/Page',\n component: Page,\n parameters: {\n // More on how to position stories at: https://storybook.js.org/docs/angular/configure/story-layout\n layout: 'fullscreen',\n },\n decorators: [\n moduleMetadata({\n declarations: [Button, Header],\n imports: [CommonModule],\n }),\n ],\n}" } ], + "projects/arc-lib/src/stories/components/Login.stories.ts": [ + { + "name": "MainSection", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/Login.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "", + "defaultValue": "Template.bind({})" + }, + { + "name": "Template", + "ctype": "miscellaneous", + "subtype": "variable", + "file": "projects/arc-lib/src/stories/components/Login.stories.ts", + "deprecated": false, + "deprecationMessage": "", + "type": "Story", + "defaultValue": "() => ({\n template: `\n
\n
\n \n \n \n \n \n \n
\n
\n \n \n
\n \"loginImg\"\n
\n
\n
\n
\n
\n `,\n})" + } + ], "projects/arc-lib/.storybook/preview.ts": [ { "name": "preview", @@ -18446,8 +18571,8 @@ "type": "component", "linktype": "component", "name": "SelectComponent", - "coveragePercent": 37, - "coverageCount": "33/87", + "coveragePercent": 39, + "coverageCount": "35/89", "status": "medium" }, { @@ -19409,6 +19534,26 @@ "coverageCount": "0/1", "status": "low" }, + { + "filePath": "projects/arc-lib/src/stories/components/Login.stories.ts", + "type": "variable", + "linktype": "miscellaneous", + "linksubtype": "variable", + "name": "MainSection", + "coveragePercent": 0, + "coverageCount": "0/1", + "status": "low" + }, + { + "filePath": "projects/arc-lib/src/stories/components/Login.stories.ts", + "type": "variable", + "linktype": "miscellaneous", + "linksubtype": "variable", + "name": "Template", + "coveragePercent": 0, + "coverageCount": "0/1", + "status": "low" + }, { "filePath": "projects/arc-lib/src/stories/components/LoginPage.stories.ts", "type": "variable", diff --git a/projects/arc-lib/src/lib/components/auth/auth-routing.module.ts b/projects/arc-lib/src/lib/components/auth/auth-routing.module.ts index ef8ccee2..e8af7ebe 100644 --- a/projects/arc-lib/src/lib/components/auth/auth-routing.module.ts +++ b/projects/arc-lib/src/lib/components/auth/auth-routing.module.ts @@ -9,10 +9,10 @@ const routes: Routes = [ path: '', component: AuthComponent, children: [ - { - path: 'login', - component: LoginComponent, - }, + // { + // path: 'login', + // component: LoginComponent, + // }, ], }, ]; diff --git a/projects/arc-lib/src/lib/components/auth/auth.module.ts b/projects/arc-lib/src/lib/components/auth/auth.module.ts index bea43079..76ae0770 100644 --- a/projects/arc-lib/src/lib/components/auth/auth.module.ts +++ b/projects/arc-lib/src/lib/components/auth/auth.module.ts @@ -36,5 +36,6 @@ import { LoginPageComponent } from './login-page/login-page.component'; forms: {}, }), ], + exports:[LoginPageComponent] }) export class AuthModule {} diff --git a/projects/arc-lib/src/lib/components/auth/home-page/home-page.component.css b/projects/arc-lib/src/lib/components/auth/home-page/home-page.component.css new file mode 100644 index 00000000..e69de29b diff --git a/projects/arc-lib/src/lib/components/auth/home-page/home-page.component.html b/projects/arc-lib/src/lib/components/auth/home-page/home-page.component.html new file mode 100644 index 00000000..7454417d --- /dev/null +++ b/projects/arc-lib/src/lib/components/auth/home-page/home-page.component.html @@ -0,0 +1 @@ +

home-page works!

diff --git a/projects/arc-lib/src/lib/components/auth/home-page/home-page.component.spec.ts b/projects/arc-lib/src/lib/components/auth/home-page/home-page.component.spec.ts new file mode 100644 index 00000000..b25ea28a --- /dev/null +++ b/projects/arc-lib/src/lib/components/auth/home-page/home-page.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HomePageComponent } from './home-page.component'; + +describe('HomePageComponent', () => { + let component: HomePageComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ HomePageComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(HomePageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/projects/arc-lib/src/lib/components/auth/home-page/home-page.component.ts b/projects/arc-lib/src/lib/components/auth/home-page/home-page.component.ts new file mode 100644 index 00000000..23d57e7d --- /dev/null +++ b/projects/arc-lib/src/lib/components/auth/home-page/home-page.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'lib-home-page', + templateUrl: './home-page.component.html', + styleUrls: ['./home-page.component.css'] +}) +export class HomePageComponent { + +} diff --git a/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.html b/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.html new file mode 100644 index 00000000..534eea46 --- /dev/null +++ b/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.html @@ -0,0 +1,23 @@ + +
+
+ + + + + + + + +
+ +
+ + + + + +
+
\ No newline at end of file diff --git a/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.scss b/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.scss new file mode 100644 index 00000000..6d29a898 --- /dev/null +++ b/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.scss @@ -0,0 +1,9 @@ +.main-section { + display: flex; +} +.first { + width: 50%; +} +.main-section .first .nb-card{ + margin: 0; +} \ No newline at end of file diff --git a/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.spec.ts b/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.spec.ts new file mode 100644 index 00000000..b7f54525 --- /dev/null +++ b/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoginPageComponent } from './login-page.component'; + +describe('LoginPageComponent', () => { + let component: LoginPageComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ LoginPageComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(LoginPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.ts b/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.ts new file mode 100644 index 00000000..e696dbd9 --- /dev/null +++ b/projects/arc-lib/src/lib/components/auth/login-page/login-page.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'lib-login-page', + templateUrl: './login-page.component.html', + styleUrls: ['./login-page.component.scss'] +}) +export class LoginPageComponent { + + +} diff --git a/projects/arc-lib/src/lib/components/auth/login/login.component.html b/projects/arc-lib/src/lib/components/auth/login/login.component.html index d424e567..df47cf10 100644 --- a/projects/arc-lib/src/lib/components/auth/login/login.component.html +++ b/projects/arc-lib/src/lib/components/auth/login/login.component.html @@ -1,7 +1,7 @@ +
+ + + + + +
+ + `, +}); + +export const MainSection = Template.bind({}); + diff --git a/projects/arc-lib/src/stories/components/LoginPage.stories.ts b/projects/arc-lib/src/stories/components/LoginPage.stories.ts index 95ecf4ae..d3983b9a 100644 --- a/projects/arc-lib/src/stories/components/LoginPage.stories.ts +++ b/projects/arc-lib/src/stories/components/LoginPage.stories.ts @@ -44,4 +44,17 @@ export default { }); export const Default = Template.bind({}); - Default.args = {}; \ No newline at end of file + Default.args = {}; + +// export const WithImage = Template.bind({}); + +// WithImage.args:Story = { + +// render: () => {my image}, +// loggedInUserDM: { +// /* Set your user data here if needed */ +// }, + +// greeting: 'Hello, World!', +// }; + diff --git a/projects/arc/src/app/app-routing.module.ts b/projects/arc/src/app/app-routing.module.ts index a08e01b2..b1e3179d 100644 --- a/projects/arc/src/app/app-routing.module.ts +++ b/projects/arc/src/app/app-routing.module.ts @@ -4,19 +4,19 @@ import {environment} from '../environments/environment'; import {AuthGuard, LoggedInGuard} from '@project-lib/core/auth'; const routes: Routes = [ - { - path: 'auth', - loadChildren: () => - import('projects/arc-lib/src/lib/components/auth/auth.module').then( - m => m.AuthModule, - ), - canActivate: [LoggedInGuard], - }, - { - path: 'main', - loadChildren: () => import('./main/main.module').then(m => m.MainModule), - canActivate: [AuthGuard], - }, + // { + // path: 'auth', + // loadChildren: () => + // import('projects/arc-lib/src/lib/components/auth/auth.module').then( + // m => m.AuthModule, + // ), + // // canActivate: [LoggedInGuard], + // }, + // { + // path: 'main', + // loadChildren: () => import('./main/main.module').then(m => m.MainModule), + // // canActivate: [AuthGuard], + // }, { path: '', redirectTo: environment.homePath, diff --git a/projects/arc/src/app/app.component.html b/projects/arc/src/app/app.component.html index 248b9758..a3534686 100644 --- a/projects/arc/src/app/app.component.html +++ b/projects/arc/src/app/app.component.html @@ -1,39 +1,23 @@ -
- -
+ + - - + + + + + + + + + @@ -47,7 +31,7 @@ [showOverallocatedIcon]="'showOverallocatedIconOption'" [contextItemFilter]="'itemFilter'" > --> - + [showSelectedOnTop]="showSelectedOnTop" + [hiddenValues]="hiddenValues" + [disabled]="disabledDropdown" + [itemTemplate]="itemTemplate" + > - - + [showSelectedOnTop]="showSelectedOnTop" + [hiddenValues]="hiddenValues" + [disabled]="disabledDropdown" + > diff --git a/projects/arc-lib/src/lib/components/selector/select/select.component.scss b/projects/arc-lib/src/lib/components/selector/select/select.component.scss index 8ce5fa25..db5c3e24 100644 --- a/projects/arc-lib/src/lib/components/selector/select/select.component.scss +++ b/projects/arc-lib/src/lib/components/selector/select/select.component.scss @@ -1,6 +1,6 @@ .select-container { - width: 100px !important; - nb-icon[icon="chevron-down"] { + width: 100% !important; + nb-icon[icon='chevron-down'] { cursor: pointer; } .count-box { diff --git a/projects/arc-lib/src/lib/components/selector/select/select.component.ts b/projects/arc-lib/src/lib/components/selector/select/select.component.ts index 009b95cd..c48539d3 100644 --- a/projects/arc-lib/src/lib/components/selector/select/select.component.ts +++ b/projects/arc-lib/src/lib/components/selector/select/select.component.ts @@ -17,7 +17,6 @@ import { ViewChildren, } from '@angular/core'; import {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms'; - import {NbTagComponent} from '@nebular/theme'; import {cloneDeep, isEqual} from 'lodash'; import {takeUntil} from 'rxjs'; @@ -35,9 +34,10 @@ import { TAG_PADDING, panelConfigs, } from '../constants'; -import {GroupConfig, ItemTemplate, Panel, ValueType} from '../types'; -import { DIGITS } from '@project-lib/core/constants'; -import { ComponentBaseDirective } from '@project-lib/core/component-base'; +import {ItemTemplate, Panel, ValueType} from '../types'; +import {ComponentBaseDirective} from '@project-lib/core/component-base'; +import {GroupConfig} from '@project-lib/components/selector/types'; +import {DIGITS} from '@project-lib/core/constants'; @Component({ selector: 'selector', templateUrl: './select.component.html', @@ -68,7 +68,6 @@ export class SelectComponent< private _cdr: ChangeDetectorRef, ) { super(); - this.panels = cloneDeep(panelConfigs); } @ViewChildren(NbTagComponent) @@ -83,7 +82,7 @@ export class SelectComponent< isEmpty = true; /* Defining config for both kinds of panels */ - panels: Record>; + panels: Record> = cloneDeep(panelConfigs); currentPanel?: Panel; currentPanelType?: PanelType; @@ -107,7 +106,7 @@ export class SelectComponent< originY: 'top', overlayX: 'start', overlayY: 'bottom', - panelClass: 'select-panel-above', + panelClass: 'bizbook-select-panel-above', }, ]; @@ -169,7 +168,7 @@ export class SelectComponent< // This code sets the multiple mode for the Select component. @Input() - multiple: MultipleMode = true as MultipleMode; + multiple: MultipleMode = false as MultipleMode; /** * The options that will be displayed in the select. @@ -199,539 +198,535 @@ export class SelectComponent< @Input() disabledDropdown = false; - - - -/** + /** * Indicates whether custom the input is allowed. */ -@Input() -allowInput = false; - -/* Max number of items visible at a time in the dropdown, used to set the height */ -@Input() -maxVisibleItems = MIN_VISIBLE_ITEMS; - -/* label to show to add a custom item in the dropdown */ -@Input() -addTagString = 'createANewTag'; + @Input() + allowInput = false; -/* Placeholder for the search input */ -@Input() -searchPlaceholder = 'search'; + /* Max number of items visible at a time in the dropdown, used to set the height */ + @Input() + maxVisibleItems = MIN_VISIBLE_ITEMS; -/* Used to get groupConfig from components to group data if needed */ -@Input() -groupConfig: GroupConfig[] = []; -/** - * Whether to select the first option when the user presses enter - */ -@Input() -selectOnEnter = true; + /* label to show to add a custom item in the dropdown */ + @Input() + addTagString = 'createANewTag'; -/* whether to show selected options on top */ -@Input() -showSelectedOnTop = false; + /* Placeholder for the search input */ + @Input() + searchPlaceholder = 'search'; -@Input() -itemTemplate: TemplateRef>; + /* Used to get groupConfig from components to group data if needed */ + @Input() + groupConfig: GroupConfig[] = []; + /** + * Whether to select the first option when the user presses enter + */ + @Input() + selectOnEnter = true; -@Output() -newAdded = new EventEmitter(); + /* whether to show selected options on top */ + @Input() + showSelectedOnTop = false; -@Output() -newRemoved = new EventEmitter(); + @Input() + itemTemplate: TemplateRef>; -@Output() -added = new EventEmitter(); + @Output() + newAdded = new EventEmitter(); -@Output() -removed = new EventEmitter(); + @Output() + newRemoved = new EventEmitter(); -@Output() -cleared = new EventEmitter(); + @Output() + added = new EventEmitter(); -@Output() -valueChange = new EventEmitter>(); + @Output() + removed = new EventEmitter(); -/* Control value accessor related properties */ -onChange = (value: ValueType) => {}; + @Output() + cleared = new EventEmitter(); -onTouched = () => {}; + @Output() + valueChange = new EventEmitter>(); -registerOnChange(onChange: (value: ValueType) => {}) { - this.onChange = onChange; -} + /* Control value accessor related properties */ + onChange = (value: ValueType) => {}; -registerOnTouched(onTouched: () => {}) { - this.onTouched = onTouched; -} + onTouched = () => {}; -writeValue(value: ValueType) { - this.value = value; -} + registerOnChange(onChange: (value: ValueType) => {}) { + this.onChange = onChange; + } -setDisabledState(isDisabled: boolean) { - this.disabledDropdown = isDisabled; -} + registerOnTouched(onTouched: () => {}) { + this.onTouched = onTouched; + } -/** - * The function sets the value of the selection model to the value passed in - * @param value - ValueType - */ -@Input() -set value(value: ValueType) { - this._initSelectionModel(); - this._setSelections(value); - this.onChange(value); - this.onTouched(); - // this.updateTagsCount(); -} + writeValue(value: ValueType) { + this.value = value; + } -/** - * If the `multiple` property is true, return the `selected` property of the `selections` object as an - * array. Otherwise, return the first element of the `selected` property of the `selections` object as - * a single value - * @returns The value of the selected item. - */ -get value(): ValueType { - if (this.multiple === true) { - return this.selections.selected as ValueType; - } else { - return this.selections.selected[0] as ValueType; + setDisabledState(isDisabled: boolean) { + this.disabledDropdown = isDisabled; } -} -/** - * It returns the list of invisible tags to be shown in tags panel - * @returns The list of invisible tags. - */ -get invisibleTags() { - return this.panels[PanelType.Extra].list; -} + /** + * The function sets the value of the selection model to the value passed in + * @param value - ValueType + */ + @Input() + set value(value: ValueType) { + this._initSelectionModel(); + this._setSelections(value); + this.onChange(value); + this.onTouched(); + setTimeout(() => this.updateTagsCount(), 0); + } -/** - * It sets the value of the invisibleTags property to the value of the value parameter. - * @param {InputType[]} value - The value of the input. - */ -set invisibleTags(value: InputType[]) { - this.panels[PanelType.Extra].list = Object.assign([], value); -} + /** + * If the `multiple` property is true, return the `selected` property of the `selections` object as an + * array. Otherwise, return the first element of the `selected` property of the `selections` object as + * a single value + * @returns The value of the selected item. + */ + get value(): ValueType { + if (this.multiple === true) { + return this.selections.selected as ValueType; + } else { + return this.selections.selected[0] as ValueType; + } + } -ngOnInit(): void { - console.log(this.options); - this._initSelectionModel(); - /* Subscribing to the viewportRuler's change event and updating the width of the element. */ - this._viewportRuler - .change() - .subscribe(() => { - // this._updateWidth(); - }); -} + /** + * It returns the list of invisible tags to be shown in tags panel + * @returns The list of invisible tags. + */ + get invisibleTags() { + return this.panels[PanelType.Extra].list; + } -ngOnChanges(changes: SimpleChanges): void { + /** + * It sets the value of the invisibleTags property to the value of the value parameter. + * @param {InputType[]} value - The value of the input. + */ + set invisibleTags(value: InputType[]) { + this.panels[PanelType.Extra].list = Object.assign([], value); + } - console.log(this.options) - if (changes['multiple'] && !changes['multiple'].isFirstChange()) { + ngOnInit(): void { this._initSelectionModel(); + /* Subscribing to the viewportRuler's change event and updating the width of the element. */ + this._viewportRuler + .change() + .pipe(takeUntil(this._destroy$)) + .subscribe(() => { + this._updateWidth(); + }); } - if (this.showSelectedOnTop) { - this._setIsSelectedOption(this.options!, false); + + ngOnChanges(changes: SimpleChanges): void { + if (changes['multiple'] && !changes['multiple'].isFirstChange()) { + this._initSelectionModel(); + } + if (this.showSelectedOnTop) { + this._setIsSelectedOption(this.options!, false); + } + this._dropdownHeight(); + this.updateSelectedItems(); + this.updateTagsCount(); } - this._dropdownHeight(); - this.updateSelectedItems(); - this.updateTagsCount(); -} -/** - * If the item is not a placeholder, toggle the item in the selections array. If the item is a - * placeholder, and it is not selected, emit the item as a newRemoved event - * @param {InputType} item - InputType - the item that was selected/deselected - */ -toggle(item: InputType) { - if (!this.multiple && this.selectedItems.isSelected(item)) { - return; - } - this.selectedItems.toggle(item); - if (!this.isPlaceholder(item)) { - this.selections.toggle(item[this.idField] as Value); - if (this.selections.isSelected(item[this.idField] as Value)) { - this.added.emit(item); + /** + * If the item is not a placeholder, toggle the item in the selections array. If the item is a + * placeholder, and it is not selected, emit the item as a newRemoved event + * @param {InputType} item - InputType - the item that was selected/deselected + */ + toggle(item: InputType) { + if (!this.multiple && this.selectedItems.isSelected(item)) { + return; + } + this.selectedItems.toggle(item); + if (!this.isPlaceholder(item)) { + this.selections.toggle(item[this.idField] as Value); + if (this.selections.isSelected(item[this.idField] as Value)) { + this.added.emit(item); + } else { + this.removed.emit(item); + } + } else if (!this.selectedItems.isSelected(item)) { + this.newRemoved.emit(item); } else { - this.removed.emit(item); + this.newAdded.emit(item); } - } else if (!this.selectedItems.isSelected(item)) { - this.newRemoved.emit(item); - } else { - this.newAdded.emit(item); - } - const isSelectedOption = 'isSelected' as keyof InputType; - if (item[isSelectedOption] !== undefined) { - item[isSelectedOption] = !item[ - isSelectedOption - ] as unknown as InputType[keyof InputType]; - } - this._processChange(); -} + const isSelectedOption = 'isSelected' as keyof InputType; + if (item[isSelectedOption] !== undefined) { + item[isSelectedOption] = !item[ + isSelectedOption + ] as unknown as InputType[keyof InputType]; + } + this._processChange(); + } -/** - * It clears the selections and selectedItems collections, then emits the cleared event - */ -clearAll() { - if (this.options?.length) { - this._setIsSelectedOption(this.options, false); - } - this.selections.clear(); - this.selectedItems.clear(); - this._processChange(); - this.cleared.emit(); -} + /** + * It clears the selections and selectedItems collections, then emits the cleared event + */ + clearAll() { + if (this.options?.length) { + this._setIsSelectedOption(this.options, false); + } + this.selections.clear(); + this.selectedItems.clear(); + this._processChange(); + this.cleared.emit(); + } -/** - * If the state is closed, open the dropdown, otherwise close it - */ -toggleDropdown() { - if (this.state === SelectState.Closed) { - this.open(); - } else { - this.close(); + /** + * If the state is closed, open the dropdown, otherwise close it + */ + toggleDropdown() { + if (this.state === SelectState.Closed) { + this.open(); + } else { + this.close(); + } + this._cdr.detectChanges(); } - this._cdr.detectChanges(); -} - /** + + /** * If the panel is closed, open it, otherwise close it */ - togglePanel(type: PanelType) { - if (this.panels[type].state === SelectState.Closed) { - this.openPanel(type); - } else { - this.closePanel(); + togglePanel(type: PanelType) { + if (this.panels[type].state === SelectState.Closed) { + this.openPanel(type); + } else { + this.closePanel(); + } } -} -openPanel(type: PanelType) { - this.panels[type].state = SelectState.Open; - this.currentPanel = this.panels[type]; - this.currentPanelType = type; - this._panelWidth(type); - this._panelHeight(type, this.panels[type].list); - this._cdr.detectChanges(); -} - -/** - * If there is a current panel, set its state to closed and clear the current panel and panel type - */ -closePanel() { - if (this.currentPanel) { - this.currentPanel.state = SelectState.Closed; - this.currentPanel = undefined; - this.currentPanelType = undefined; + openPanel(type: PanelType) { + this.panels[type].state = SelectState.Open; + this.currentPanel = this.panels[type]; + this.currentPanelType = type; + this._panelWidth(type); + this._panelHeight(type, this.panels[type].list); + this._cdr.detectChanges(); } -} -/** - * It filters the autocomplete options based on the value of the input, and adds a placeholder option - * if the value is not found in the data - * @param {string} value - string - the value of the input field - */ -updateAutocompleteOptions(value: string) { - let showAddOption = !this.selectedItems.selected.some(item => - isEqual(item[this.nameField], value), - ); - this.panels[PanelType.Autocomplete].list = []; - if (value) { - this.panels[PanelType.Autocomplete].list = - this.options?.filter?.(item => { - if (this.asString(item[this.nameField]) === value) { - showAddOption = false; - } - return ( - !this.selections.isSelected(item[this.idField] as Value) && - this.asString(item[this.nameField]) - .toLowerCase() - .trim() - .indexOf(value.toLowerCase().trim()) > -1 - ); - }) ?? []; - } - if (showAddOption && value.length) { - this.panels[PanelType.Autocomplete].list.push({ - [this.idField]: PLACEHOLDER_ITEM, - [this.nameField]: value, - } as unknown as InputType); - } - if (this.panels[PanelType.Autocomplete].list.length) { - this.openPanel(PanelType.Autocomplete); - } else { - this.closePanel(); - } - this._cdr.detectChanges(); -} + /** + * If there is a current panel, set its state to closed and clear the current panel and panel type + */ + closePanel() { + if (this.currentPanel) { + this.currentPanel.state = SelectState.Closed; + this.currentPanel = undefined; + this.currentPanelType = undefined; + } + } -/** - * If the user presses enter, clear the input and if there's an autocomplete suggestion, select it - * @param {HTMLInputElement} input - HTMLInputElement - the input element that the user is typing in - */ -autocompleteEnter(input: HTMLInputElement) { - input.value = ''; - if (this.panels[PanelType.Autocomplete].list[0]) { - this.handleAutocompleteSelect( - this.panels[PanelType.Autocomplete].list[0], + /** + * It filters the autocomplete options based on the value of the input, and adds a placeholder option + * if the value is not found in the data + * @param {string} value - string - the value of the input field + */ + updateAutocompleteOptions(value: string) { + let showAddOption = !this.selectedItems.selected.some(item => + isEqual(item[this.nameField], value), ); - this.closePanel(); + this.panels[PanelType.Autocomplete].list = []; + if (value) { + this.panels[PanelType.Autocomplete].list = + this.options?.filter?.(item => { + if (this.asString(item[this.nameField]) === value) { + showAddOption = false; + } + return ( + !this.selections.isSelected(item[this.idField] as Value) && + this.asString(item[this.nameField]) + .toLowerCase() + .trim() + .indexOf(value.toLowerCase().trim()) > -1 + ); + }) ?? []; + } + if (showAddOption && value.length) { + this.panels[PanelType.Autocomplete].list.push({ + [this.idField]: PLACEHOLDER_ITEM, + [this.nameField]: value, + } as unknown as InputType); + } + if (this.panels[PanelType.Autocomplete].list.length) { + this.openPanel(PanelType.Autocomplete); + } else { + this.closePanel(); + } + this._cdr.detectChanges(); } -} -/** - * If the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item - * @param {InputType} item - InputType - this is the item that was selected from the autocomplete - * dropdown. - */ -handleAutocompleteSelect(item: InputType) { - if (this.isPlaceholder(item)) { - this.selectedItems.select(item); - this.newAdded.emit(item); - } else { - this.toggle(item); - } - this.panels[PanelType.Autocomplete].list = []; - if (this.autoCompleteInput) { - this.autoCompleteInput.nativeElement.value = ''; - } - this._processChange(); -} + /** + * If the user presses enter, clear the input and if there's an autocomplete suggestion, select it + * @param {HTMLInputElement} input - HTMLInputElement - the input element that the user is typing in + */ + autocompleteEnter(input: HTMLInputElement) { + input.value = ''; + if (this.panels[PanelType.Autocomplete].list[0]) { + this.handleAutocompleteSelect( + this.panels[PanelType.Autocomplete].list[0], + ); + this.closePanel(); + } + } -/** - * The funtion closes the dropdown, change detection is triggered internally by the update width method - */ -open() { - this.state = SelectState.Open; - this._updateWidth(); -} + /** + * If the item is a placeholder, then select it and emit the newAdded event. Otherwise, toggle the item + * @param {InputType} item - InputType - this is the item that was selected from the autocomplete + * dropdown. + */ + handleAutocompleteSelect(item: InputType) { + if (this.isPlaceholder(item)) { + this.selectedItems.select(item); + this.newAdded.emit(item); + } else { + this.toggle(item); + } + this.panels[PanelType.Autocomplete].list = []; + if (this.autoCompleteInput) { + this.autoCompleteInput.nativeElement.value = ''; + } + this._processChange(); + } -/** - * The function closes the dropdown and tells Angular to check for changes - */ -close() { - this.state = SelectState.Closed; - this._cdr.detectChanges(); -} + /** + * The funtion closes the dropdown, change detection is triggered internally by the update width method + */ + open() { + this.state = SelectState.Open; + this._updateWidth(); + } -/** - * It emits the new value of the select box - */ -emitNewValue() { - if (this.multiple === true) { - this.valueChange.emit( - this.selections.selected as ValueType, - ); - } else { - this.valueChange.emit( - this.selections.selected[0] as ValueType, - ); + /** + * The function closes the dropdown and tells Angular to check for changes + */ + close() { + this.state = SelectState.Closed; + this._cdr.detectChanges(); } -} -/** - * It calculates the width of the tags and the input box and then decides which tags to show and which - * to hide - */ -updateTagsCount() { - // for cross and chevron if not disabled - this.suffixCount = this.disabledDropdown ? 0 : DIGITS.TWO; - if (this.invisibleTags.length) { - // for the counter box - this.suffixCount += 1; - } - this.invisibleTags = []; - this.visibleTags = Object.assign([], this.selectedItems.selected); - this._cdr.detectChanges(); - const inputBuffer = - this.allowInput && !this.disabledDropdown - ? this.inputMinWidth + DIGITS.TWO * this.tagMargin - : 0; - const width = this.elementRef.nativeElement.getBoundingClientRect().width; - const rightPadding = this.suffixWidth * this.suffixCount; - const allowedWidth = - width - (this.padding * DIGITS.TWO + rightPadding + inputBuffer); - let combinedWidth = 0; - let i; - for (i = 0; i < this.tags.length; i++) { - const tag = this.tags.get(i); - if (!tag) { - break; - } - combinedWidth = - combinedWidth + - tag._hostElement.nativeElement.getBoundingClientRect().width + - DIGITS.TWO * this.tagMargin; - if (combinedWidth > allowedWidth) { - break; + /** + * It emits the new value of the select box + */ + emitNewValue() { + if (this.multiple === true) { + this.valueChange.emit( + this.selections.selected as ValueType, + ); + } else { + this.valueChange.emit( + this.selections.selected[0] as ValueType, + ); } } - if (i === 0) { - i = 1; - } - this.visibleTags = this.selectedItems.selected.slice(0, i); - this.invisibleTags = this.selectedItems.selected.slice(i); - // this required again to ensure proper width of input element - if (this.invisibleTags.length) { - // for the counter box - this.suffixCount += 1; + + /** + * It calculates the width of the tags and the input box and then decides which tags to show and which + * to hide + */ + updateTagsCount() { + // for cross and chevron if not disabled + this.suffixCount = this.disabledDropdown ? 0 : DIGITS.TWO; + if (this.invisibleTags.length) { + // for the counter box + this.suffixCount += 1; + } + this.invisibleTags = []; + this.visibleTags = Object.assign([], this.selectedItems.selected); + this._cdr.detectChanges(); + const inputBuffer = + this.allowInput && !this.disabledDropdown + ? this.inputMinWidth + DIGITS.TWO * this.tagMargin + : 0; + const width = this.elementRef.nativeElement.getBoundingClientRect().width; + const rightPadding = this.suffixWidth * this.suffixCount; + const allowedWidth = + width - (this.padding * DIGITS.TWO + rightPadding + inputBuffer); + let combinedWidth = 0; + let i; + for (i = 0; i < this.tags?.length; i++) { + const tag = this.tags.get(i); + if (!tag) { + break; + } + combinedWidth = + combinedWidth + + tag._hostElement.nativeElement.getBoundingClientRect().width + + DIGITS.TWO * this.tagMargin; + if (combinedWidth > allowedWidth) { + break; + } + } + if (i === 0) { + i = 1; + } + this.visibleTags = this.selectedItems.selected.slice(0, i); + this.invisibleTags = this.selectedItems.selected.slice(i); + // this required again to ensure proper width of input element + if (this.invisibleTags.length) { + // for the counter box + this.suffixCount += 1; + } + this._cdr.detectChanges(); } - this._cdr.detectChanges(); -} -/** - * It takes an item of type T and returns it as a string - * @param {T} item - T - The item to be converted to a string. - * @returns The item as a string. - */ -asString(item: T) { - return item as unknown as string; -} + /** + * It takes an item of type T and returns it as a string + * @param {T} item - T - The item to be converted to a string. + * @returns The item as a string. + */ + asString(item: T) { + return item as unknown as string; + } -/** - * If the id of the item is a string and it's equal to the placeholder item, then return true. - * Otherwise, return false - * @param {InputType} item - InputType - the item to check - * @returns A boolean value. - */ -isPlaceholder(item: InputType) { - const id = item[this.idField]; - if (typeof id === 'string' && id === PLACEHOLDER_ITEM) { - return true; - } else { - return false; + /** + * If the id of the item is a string and it's equal to the placeholder item, then return true. + * Otherwise, return false + * @param {InputType} item - InputType - the item to check + * @returns A boolean value. + */ + isPlaceholder(item: InputType) { + const id = item[this.idField]; + if (typeof id === 'string' && id === PLACEHOLDER_ITEM) { + return true; + } else { + return false; + } } -} - /** + + /** * A function that is called when the selection changes. */ - private _processChange() { - this._updateEmptyState(); - this.emitNewValue(); - this.onChange(this.value); - // this triggers the detect changes - // this.updateTagsCount(); - // this can only be called after tags have been updated - if (this.currentPanel && this.currentPanelType) { - this._panelHeight(this.currentPanelType, this.currentPanel.list); + private _processChange() { + this._updateEmptyState(); + this.emitNewValue(); + this.onChange(this.value); + // this triggers the detect changes + this.updateTagsCount(); + // this can only be called after tags have been updated + if (this.currentPanel && this.currentPanelType) { + this._panelHeight(this.currentPanelType, this.currentPanel.list); + } } -} -/** - * `this._setSelections` is a private function that updates the value of the selections - * @param value - ValueType - */ -private _setSelections(value: ValueType) { - if (this.multiple && Array.isArray(value)) { - this.selections.select(...(value as Value[])); - } else if (!this.multiple) { - this.selections.select(value as Value); - } else { - this.selections.clear(); + /** + * `this._setSelections` is a private function that updates the value of the selections + * @param value - ValueType + */ + private _setSelections(value: ValueType) { + if (this.multiple && Array.isArray(value)) { + this.selections.select(...(value as Value[])); + } else if (!this.multiple) { + this.selections.select(value as Value); + } else { + this.selections.clear(); + } + this.updateSelectedItems(); } - this.updateSelectedItems(); -} -/** - * If the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set - * it to false - */ -private _updateEmptyState() { - if (this.selectedItems.selected.length === 0) { - this.isEmpty = true; - } else { - this.isEmpty = false; + /** + * If the selectedItems.selected array is empty, then set the isEmpty variable to true. Otherwise, set + * it to false + */ + private _updateEmptyState() { + if (this.selectedItems.selected.length === 0) { + this.isEmpty = true; + } else { + this.isEmpty = false; + } } -} -/** - * It updates the selectedItems with the selected items - */ -private updateSelectedItems() { - this.selectedItems.clear(); - const ids = this.selections.selected; - if (this.multiple) { - const items = this.options?.filter?.(item => - ids.includes(item[this.idField] as Value), - ); - if (items?.length) { - this.selectedItems.select(...items); - this._setIsSelectedOption(items, true); - } - } else { - const item = this.options?.find?.( - item => item[this.idField] === ids[0], - ) as InputType; - if (item) { - this.selectedItems.select(item); + /** + * It updates the selectedItems with the selected items + */ + private updateSelectedItems() { + this.selectedItems.clear(); + const ids = this.selections.selected; + if (this.multiple) { + const items = this.options?.filter?.(item => + ids.includes(item[this.idField] as Value), + ); + if (items?.length) { + this.selectedItems.select(...items); + this._setIsSelectedOption(items, true); + } + } else { + const item = this.options?.find?.( + item => item[this.idField] === ids[0], + ) as InputType; + if (item) { + this.selectedItems.select(item); + } } + this._updateEmptyState(); } - this._updateEmptyState(); -} -/** - * > Initialize the selection models based on the `multiple` property - */ -private _initSelectionModel() { - this.selections = new SelectionModel(this.multiple); - this.selectedItems = new SelectionModel(this.multiple); -} + /** + * > Initialize the selection models based on the `multiple` property + */ + private _initSelectionModel() { + this.selections = new SelectionModel(this.multiple); + this.selectedItems = new SelectionModel(this.multiple); + } -/** - * It updates the width of the dropdown overlay element. - */ -private _updateWidth() { - - this.width = 100; - this._cdr.detectChanges(); -} + /** + * It updates the width of the dropdown overlay element. + */ + private _updateWidth() { + this.width = this.elementRef.nativeElement.getBoundingClientRect().width; + this._cdr.detectChanges(); + } -/** - * It updates the width of the panel overlay element. - */ -private _panelWidth(type: PanelType) { - this.panels[type].width =100; - - this._cdr.detectChanges(); -} + /** + * It updates the width of the panel overlay element. + */ + private _panelWidth(type: PanelType) { + this.panels[type].width = + this.elementRef.nativeElement.getBoundingClientRect().width; + this._cdr.detectChanges(); + } -/** - * It sets the height of the `panel` div to the height of the number of items in the `invisibleTags` - * array, or the `maxVisibleItems` property, whichever is smaller - */ -private _panelHeight(type: PanelType, list: InputType[]) { - // this.panels[type].height = - // list.length > this.maxVisibleItems - // ? this.itemHeight * this.maxVisibleItems - // : this.itemHeight * list.length; - // this._cdr.detectChanges(); -} + /** + * It sets the height of the `panel` div to the height of the number of items in the `invisibleTags` + * array, or the `maxVisibleItems` property, whichever is smaller + */ + private _panelHeight(type: PanelType, list: InputType[]) { + this.panels[type].height = + list.length > this.maxVisibleItems + ? this.itemHeight * this.maxVisibleItems + : this.itemHeight * list.length; + this._cdr.detectChanges(); + } -/** - * _dropdownHeight() is a private function that calculates the panelHeight property based on the number - * of items in the data array and the `maxVisibleItems` property. - * If the `search` property is true, then it adds the `searchHeight` property to the panelHeight. - */ -private _dropdownHeight() { - // const minSize = this.options?.length ?? 1; - // this.dropdownHeight = - // minSize > this.maxVisibleItems - // ? this.itemHeight * this.maxVisibleItems - // : this.itemHeight * minSize; - // if (this.search) { - // this.dropdownHeight += this.searchHeight + 1; - // } -} + /** + * _dropdownHeight() is a private function that calculates the panelHeight property based on the number + * of items in the data array and the `maxVisibleItems` property. + * If the `search` property is true, then it adds the `searchHeight` property to the panelHeight. + */ + private _dropdownHeight() { + const minSize = this.options?.length ?? 1; + this.dropdownHeight = + minSize > this.maxVisibleItems + ? this.itemHeight * this.maxVisibleItems + : this.itemHeight * minSize; + if (this.search) { + this.dropdownHeight += this.searchHeight + 1; + } + } -private _setIsSelectedOption(items: InputType[], value: boolean) { - if (this.showSelectedOnTop) { - items.forEach?.(item => { - item['isSelected' as keyof InputType] = - value as unknown as InputType[keyof InputType]; - }); + private _setIsSelectedOption(items: InputType[], value: boolean) { + if (this.showSelectedOnTop) { + items.forEach?.(item => { + item['isSelected' as keyof InputType] = + value as unknown as InputType[keyof InputType]; + }); + } } } -} \ No newline at end of file diff --git a/projects/arc/src/app/app.component.html b/projects/arc/src/app/app.component.html index a3534686..a65f4600 100644 --- a/projects/arc/src/app/app.component.html +++ b/projects/arc/src/app/app.component.html @@ -1,15 +1,25 @@ - + - - - - - - +
+ + + + + +
@@ -35,4 +45,4 @@ [desc]="true" [name]="'Your Gantt Chart'" [showSearch]="true" -> --> \ No newline at end of file +> --> diff --git a/projects/arc/src/app/app.module.ts b/projects/arc/src/app/app.module.ts index fe2d0897..7fd3aade 100644 --- a/projects/arc/src/app/app.module.ts +++ b/projects/arc/src/app/app.module.ts @@ -1,28 +1,29 @@ -import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; +import {NgModule, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core'; +import {BrowserModule} from '@angular/platform-browser'; -import { AppRoutingModule } from './app-routing.module'; -import { AppComponent } from './app.component'; -import { HttpClientModule } from '@angular/common/http'; -import { IconPacksManagerService } from '@project-lib/theme/services'; -import { TranslateService, TranslateStore } from '@ngx-translate/core'; +import {AppRoutingModule} from './app-routing.module'; +import {AppComponent} from './app.component'; +import {HttpClientModule} from '@angular/common/http'; +import {IconPacksManagerService} from '@project-lib/theme/services'; +import {TranslateService, TranslateStore} from '@ngx-translate/core'; import { LocalizationModule, TranslationService, } from '@project-lib/core/localization'; -import { SystemStoreFacadeService } from '@project-lib/core/store'; -import { InMemoryStorageService } from 'ngx-webstorage-service'; -import { EnvAdapterService } from '@project-lib/core/store/adapters'; -import { ApiService } from '@project-lib/core/api'; -import { CoreModule } from '@project-lib/core/core.module'; -import { APP_CONFIG } from '@project-lib/app-config'; -import { environment } from '../environments/environment'; -import { ThemeModule } from '@project-lib/theme/theme.module'; -import { SelectModule } from '@project-lib/components/selector'; -import { NbLayoutModule, NbThemeModule } from '@nebular/theme'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { AuthModule, GanttModule } from '@project-lib/components/index'; -import { MainModule } from './main/main.module'; +import {SystemStoreFacadeService} from '@project-lib/core/store'; +import {InMemoryStorageService} from 'ngx-webstorage-service'; +import {EnvAdapterService} from '@project-lib/core/store/adapters'; +import {ApiService} from '@project-lib/core/api'; +import {CoreModule} from '@project-lib/core/core.module'; +import {APP_CONFIG} from '@project-lib/app-config'; +import {environment} from '../environments/environment'; +import {ThemeModule} from '@project-lib/theme/theme.module'; +import {SelectModule} from '@project-lib/components/selector'; +import {NbLayoutModule, NbThemeModule} from '@nebular/theme'; +import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; +import {AuthModule, GanttModule} from '@project-lib/components/index'; +import {MainModule} from './main/main.module'; +import {Overlay, OverlayModule} from '@angular/cdk/overlay'; @NgModule({ declarations: [AppComponent], @@ -38,6 +39,7 @@ import { MainModule } from './main/main.module'; ThemeModule, NbThemeModule.forRoot(), NbLayoutModule, + OverlayModule, SelectModule, GanttModule, BrowserAnimationsModule,

+ +
+

Pages in Storybook

+

+ We recommend building UIs with a + + component-driven + + process starting with atomic components and ending with pages. +

+

+ Render pages with mock data. This makes it easy to build and review page states without + needing to navigate to them in your app. Here are some handy patterns for managing page data + in Storybook: +

+
    +
  • + Use a higher-level connected component. Storybook helps you compose such data from the + "args" of child component stories +
  • +
  • + Assemble data in the page component from your services. You can mock these services out + using Storybook. +
  • +
+

+ Get a guided tutorial on component-driven development at + + Storybook tutorials + + . Read more in the + docs + . +

+
+ Tip Adjust the width of the canvas with the + + + + + + Viewports addon in the toolbar +
+
+