diff --git a/.eslintrc.json b/.eslintrc.json
index 7a76e6e8923..19dd8d1343a 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -10,17 +10,25 @@
],
"parserOptions": {
"project": [
- "tsconfig.json",
- "e2e/tsconfig.json"
+ "tsconfig.json"
],
"createDefaultProgram": true
},
"extends": [
+ "eslint:recommended",
+ "plugin:@typescript-eslint/recommended",
"plugin:@angular-eslint/recommended",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
"no-shadow": "off",
+ "no-prototype-builtins": "off",
+ "no-case-declarations": "warn",
+ "prefer-spread": "warn",
+ "no-async-promise-executor": "warn",
+ "prefer-const": "warn",
+ "no-useless-escape": "warn",
+ "@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/no-shadow": [
"error"
],
@@ -58,7 +66,10 @@
],
"id-blacklist": "off",
"id-match": "off",
- "no-underscore-dangle": "off"
+ "no-underscore-dangle": "off",
+ "@typescript-eslint/no-explicit-any": "off",
+ "@typescript-eslint/no-empty-function": "off",
+ "@typescript-eslint/ban-types": "warn"
}
},
{
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b135b56379b..f106d66977a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,54 @@ All notable changes for each version of this project will be documented in this
## 16.0.0
+### General
+- All Ignite UI for Angular components are now exported as `standalone` components. The library still exports `NgModules`, which have been preserved for backward compatibility, but they no longer declare any of the Ignite UI for Angular components, instead they just import and export the `standalone` components. The `standalone` components are still in a preview stage. Some utility directive exports may change in the future and may be missing from the documentation in the initial release, hence the `preview` state of the feature.
+
+Now you can do:
+
+```typescript
+// IGX_GRID_DIRECTIVES exports all grid related components and directives
+import { IGX_GRID_DIRECTIVES } from 'igniteui-angular';
+
+@Component({
+ selector: 'app-grid-sample',
+ styleUrls: ['grid.sample.scss'],
+ templateUrl: 'grid.sample.html',
+ standalone: true,
+ imports: [IGX_GRID_DIRECTIVES, AsyncPipe]
+})
+```
+
+or
+
+```typescript
+// Single import of only the component.
+import { IgxGridComponent } from 'igniteui-angular';
+
+@Component({
+ selector: 'app-grid-sample',
+ styleUrls: ['grid.sample.scss'],
+ templateUrl: 'grid.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, AsyncPipe]
+})
+```
+
+or still
+
+```typescript
+// `NgModule` import of the `IgxGridModule` module, which is equivalent to IGX_GRID_DIRECTIVES in terms of exported components and directives.
+import { IgxGridModule } from 'igniteui-angular';
+
+@Component({
+ selector: 'app-grid-sample',
+ styleUrls: ['grid.sample.scss'],
+ templateUrl: 'grid.sample.html',
+ standalone: true,
+ imports: [IgxGridModule, AsyncPipe]
+})
+```
+
### New Features
- `IgxExpansionPanel`:
- `IgxExpansionPanelTitleDirective` and `IgxExpansionPanelDescriptionDirective` show tooltip of the provided text content.
diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js
deleted file mode 100644
index 86776a391a5..00000000000
--- a/e2e/protractor.conf.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// Protractor configuration file, see link for more information
-// https://github.com/angular/protractor/blob/master/lib/config.ts
-
-const { SpecReporter } = require('jasmine-spec-reporter');
-
-exports.config = {
- allScriptsTimeout: 11000,
- specs: [
- './src/**/*.e2e-spec.ts'
- ],
- capabilities: {
- 'browserName': 'chrome'
- },
- directConnect: true,
- baseUrl: 'http://localhost:4200/',
- framework: 'jasmine',
- jasmineNodeOpts: {
- showColors: true,
- defaultTimeoutInterval: 30000,
- print: function() {}
- },
- onPrepare() {
- require('ts-node').register({
- project: require('path').join(__dirname, './tsconfig.e2e.json')
- });
- jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
- }
-};
\ No newline at end of file
diff --git a/e2e/src/app.e2e-spec.ts b/e2e/src/app.e2e-spec.ts
deleted file mode 100644
index e42d1f965ff..00000000000
--- a/e2e/src/app.e2e-spec.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { AppPage } from './app.po';
-
-describe('workspace-project App', () => {
- let page: AppPage;
-
- beforeEach(() => {
- page = new AppPage();
- });
-
- it('should display welcome message', () => {
- page.navigateTo();
- expect(page.getParagraphText()).toEqual('Welcome to app!');
- });
-});
diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts
deleted file mode 100644
index 4e5af4cd47a..00000000000
--- a/e2e/src/app.po.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { browser, by, element } from 'protractor';
-
-export class AppPage {
- public navigateTo() {
- return browser.get('/');
- }
-
- public getParagraphText() {
- return element(by.css('app-root h1')).getText();
- }
-}
diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json
deleted file mode 100644
index a6dd6220282..00000000000
--- a/e2e/tsconfig.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "extends": "../tsconfig.json",
- "compilerOptions": {
- "outDir": "../out-tsc/app",
- "module": "commonjs",
- "target": "es5",
- "types": [
- "jasmine",
- "jasminewd2",
- "node"
- ]
- }
-}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 0247ec57d0a..29885ab9137 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,7 +1,7 @@
{
"name": "igniteui-dev-demos",
"version": "0.0.0",
- "lockfileVersion": 3,
+ "lockfileVersion": 2,
"requires": true,
"packages": {
"": {
@@ -9,15 +9,15 @@
"version": "0.0.0",
"hasInstallScript": true,
"dependencies": {
- "@angular/animations": "^15.2.0",
- "@angular/common": "^15.2.0",
- "@angular/compiler": "^15.2.0",
- "@angular/core": "^15.2.0",
- "@angular/forms": "^15.2.0",
- "@angular/platform-browser": "^15.2.0",
- "@angular/platform-browser-dynamic": "^15.2.0",
- "@angular/router": "^15.2.0",
- "@igniteui/material-icons-extended": "^2.10.0",
+ "@angular/animations": "^16.0.0",
+ "@angular/common": "^16.0.0",
+ "@angular/compiler": "^16.0.0",
+ "@angular/core": "^16.0.0",
+ "@angular/forms": "^16.0.0",
+ "@angular/platform-browser": "^16.0.0",
+ "@angular/platform-browser-dynamic": "^16.0.0",
+ "@angular/router": "^16.0.0",
+ "@igniteui/material-icons-extended": "^3.0.0",
"@types/hammerjs": "^2.0.40",
"@types/source-map": "0.5.2",
"fflate": "^0.7.3",
@@ -28,33 +28,31 @@
"rxjs": "^6.6.7",
"tslib": "^2.3.0",
"uuid": "^9.0.0",
- "zone.js": "~0.12.0"
+ "zone.js": "~0.13.0"
},
"devDependencies": {
- "@angular-devkit/build-angular": "^15.2.0",
- "@angular-devkit/schematics": "^15.2.0",
- "@angular-eslint/builder": "^15.2.0",
- "@angular-eslint/eslint-plugin": "^15.2.0",
- "@angular-eslint/eslint-plugin-template": "^15.2.0",
- "@angular-eslint/schematics": "^15.2.0",
- "@angular-eslint/template-parser": "^15.2.0",
- "@angular/cli": "^15.2.0",
- "@angular/compiler-cli": "^15.2.0",
- "@angular/language-service": "^15.2.0",
+ "@angular-devkit/build-angular": "^16.0.0",
+ "@angular-devkit/schematics": "^16.0.0",
+ "@angular-eslint/builder": "^16.0.1",
+ "@angular-eslint/eslint-plugin": "^16.0.1",
+ "@angular-eslint/eslint-plugin-template": "^16.0.1",
+ "@angular-eslint/schematics": "^16.0.1",
+ "@angular-eslint/template-parser": "^16.0.1",
+ "@angular/cli": "^16.0.0",
+ "@angular/compiler-cli": "^16.0.0",
+ "@angular/language-service": "^16.0.0",
"@angularclass/hmr": "^3.0.0",
- "@cypress/schematic": "^2.4.0",
"@types/estree": "^1.0.0",
"@types/jasmine": "^4.3.1",
"@types/jasminewd2": "^2.0.10",
"@types/node": "^18.11.19",
"@types/sass-true": "^6.0.2",
"@types/webpack-env": "^1.16.3",
- "@typescript-eslint/eslint-plugin": "^5.48.1",
- "@typescript-eslint/parser": "^5.48.1",
+ "@typescript-eslint/eslint-plugin": "^5.59.2",
+ "@typescript-eslint/parser": "^5.59.2",
"browser-sync": "^2.27.11",
- "cypress": "^12.6.0",
"del": "^6.0.0",
- "eslint": "^8.32.0",
+ "eslint": "^8.39.0",
"gulp": "^4.0.2",
"gulp-cached": "^1.1.1",
"gulp-concat": "^2.6.1",
@@ -67,17 +65,17 @@
"hammer-simulator": "0.0.1",
"ig-typedoc-theme": "^4.2.0",
"igniteui-sassdoc-theme": "^1.1.6",
- "igniteui-webcomponents": "^4.2.1",
- "jasmine": "^4.5.0",
- "jasmine-core": "~4.5.0",
- "karma": "^6.3.11",
- "karma-chrome-launcher": "~3.1.0",
+ "igniteui-webcomponents": "^4.2.3",
+ "jasmine": "^4.6.0",
+ "jasmine-core": "~4.6.0",
+ "karma": "^6.4.2",
+ "karma-chrome-launcher": "~3.2.0",
"karma-coverage": "^2.0.3",
"karma-jasmine": "~5.1.0",
"karma-junit-reporter": "^2.0.1",
"karma-parallel": "^0.3.1",
"karma-spec-reporter": "^0.0.36",
- "ng-packagr": "^15.1.1",
+ "ng-packagr": "^16.0.0",
"postcss-scss": "^4.0.6",
"sass": "^1.58.1",
"sass-true": "^6.0.1",
@@ -92,12 +90,12 @@
}
},
"node_modules/@ampproject/remapping": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
- "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
+ "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
"dev": true,
"dependencies": {
- "@jridgewell/gen-mapping": "^0.1.0",
+ "@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.9"
},
"engines": {
@@ -105,53 +103,63 @@
}
},
"node_modules/@angular-devkit/architect": {
- "version": "0.1502.0",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.0.tgz",
- "integrity": "sha512-/HmyAQhb4BNbcVRL2uaLwrJAAeYVUD42Bipoq8+kUNzoRv9QqJTIOx+2fSsmwBk8C+Jx3184UD3SfUmEnFPt4g==",
+ "version": "0.1600.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.0.tgz",
+ "integrity": "sha512-nYRcqAxZnndhAEpSpJ1U2TScs2huu674OKrsEyJTqLEANEyCPBnusAmS9HcGzMBgePAwNElqOKrr5/f1DbYq1A==",
"dev": true,
"dependencies": {
- "@angular-devkit/core": "15.2.0",
- "rxjs": "6.6.7"
+ "@angular-devkit/core": "16.0.0",
+ "rxjs": "7.8.1"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
+ "node": "^16.14.0 || >=18.10.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
}
},
+ "node_modules/@angular-devkit/architect/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==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
"node_modules/@angular-devkit/build-angular": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.2.0.tgz",
- "integrity": "sha512-scEZSBlVPWk7cFEoIVjW3T84it6ZPB4AU/U+dLuIvBT1P0V7R4Kctp8J219eAKsxrjTdD6hvYKXSP2uBFoqgng==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.0.0.tgz",
+ "integrity": "sha512-OvDQAbrV3cUMfHws30MnDURsXselZ0GWhSxZjOdcD3cF64Nsq5ywftHOT+QC3YdDghwI8gMADN9et+aVDscBzQ==",
"dev": true,
"dependencies": {
- "@ampproject/remapping": "2.2.0",
- "@angular-devkit/architect": "0.1502.0",
- "@angular-devkit/build-webpack": "0.1502.0",
- "@angular-devkit/core": "15.2.0",
- "@babel/core": "7.20.12",
- "@babel/generator": "7.20.14",
+ "@ampproject/remapping": "2.2.1",
+ "@angular-devkit/architect": "0.1600.0",
+ "@angular-devkit/build-webpack": "0.1600.0",
+ "@angular-devkit/core": "16.0.0",
+ "@babel/core": "7.21.4",
+ "@babel/generator": "7.21.4",
"@babel/helper-annotate-as-pure": "7.18.6",
"@babel/helper-split-export-declaration": "7.18.6",
"@babel/plugin-proposal-async-generator-functions": "7.20.7",
"@babel/plugin-transform-async-to-generator": "7.20.7",
- "@babel/plugin-transform-runtime": "7.19.6",
- "@babel/preset-env": "7.20.2",
- "@babel/runtime": "7.20.13",
+ "@babel/plugin-transform-runtime": "7.21.4",
+ "@babel/preset-env": "7.21.4",
+ "@babel/runtime": "7.21.0",
"@babel/template": "7.20.7",
"@discoveryjs/json-ext": "0.5.7",
- "@ngtools/webpack": "15.2.0",
+ "@ngtools/webpack": "16.0.0",
+ "@vitejs/plugin-basic-ssl": "1.0.1",
"ansi-colors": "4.1.3",
- "autoprefixer": "10.4.13",
+ "autoprefixer": "10.4.14",
"babel-loader": "9.1.2",
"babel-plugin-istanbul": "6.1.1",
"browserslist": "4.21.5",
- "cacache": "17.0.4",
+ "cacache": "17.0.6",
"chokidar": "3.5.3",
"copy-webpack-plugin": "11.0.0",
"critters": "0.0.16",
"css-loader": "6.7.3",
- "esbuild-wasm": "0.17.8",
+ "esbuild-wasm": "0.17.18",
"glob": "8.1.0",
"https-proxy-agent": "5.0.1",
"inquirer": "8.2.4",
@@ -161,49 +169,53 @@
"less-loader": "11.1.0",
"license-webpack-plugin": "4.0.2",
"loader-utils": "3.2.1",
- "magic-string": "0.29.0",
- "mini-css-extract-plugin": "2.7.2",
- "open": "8.4.1",
+ "magic-string": "0.30.0",
+ "mini-css-extract-plugin": "2.7.5",
+ "mrmime": "1.0.1",
+ "open": "8.4.2",
"ora": "5.4.1",
"parse5-html-rewriting-stream": "7.0.0",
"piscina": "3.2.0",
- "postcss": "8.4.21",
- "postcss-loader": "7.0.2",
+ "postcss": "8.4.23",
+ "postcss-loader": "7.2.4",
"resolve-url-loader": "5.0.0",
- "rxjs": "6.6.7",
- "sass": "1.58.1",
- "sass-loader": "13.2.0",
- "semver": "7.3.8",
+ "rxjs": "7.8.1",
+ "sass": "1.62.1",
+ "sass-loader": "13.2.2",
+ "semver": "7.4.0",
"source-map-loader": "4.0.1",
"source-map-support": "0.5.21",
- "terser": "5.16.3",
+ "terser": "5.17.1",
"text-table": "0.2.0",
"tree-kill": "1.2.2",
"tslib": "2.5.0",
- "webpack": "5.75.0",
- "webpack-dev-middleware": "6.0.1",
- "webpack-dev-server": "4.11.1",
+ "vite": "4.3.1",
+ "webpack": "5.80.0",
+ "webpack-dev-middleware": "6.0.2",
+ "webpack-dev-server": "4.13.2",
"webpack-merge": "5.8.0",
"webpack-subresource-integrity": "5.1.0"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
+ "node": "^16.14.0 || >=18.10.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
},
"optionalDependencies": {
- "esbuild": "0.17.8"
+ "esbuild": "0.17.18"
},
"peerDependencies": {
- "@angular/compiler-cli": "^15.0.0",
- "@angular/localize": "^15.0.0",
- "@angular/platform-server": "^15.0.0",
- "@angular/service-worker": "^15.0.0",
+ "@angular/compiler-cli": "^16.0.0",
+ "@angular/localize": "^16.0.0",
+ "@angular/platform-server": "^16.0.0",
+ "@angular/service-worker": "^16.0.0",
+ "jest": "^29.5.0",
+ "jest-environment-jsdom": "^29.5.0",
"karma": "^6.3.0",
- "ng-packagr": "^15.0.0",
+ "ng-packagr": "^16.0.0",
"protractor": "^7.0.0",
"tailwindcss": "^2.0.0 || ^3.0.0",
- "typescript": ">=4.8.2 <5.0"
+ "typescript": ">=4.9.3 <5.1"
},
"peerDependenciesMeta": {
"@angular/localize": {
@@ -215,6 +227,12 @@
"@angular/service-worker": {
"optional": true
},
+ "jest": {
+ "optional": true
+ },
+ "jest-environment-jsdom": {
+ "optional": true
+ },
"karma": {
"optional": true
},
@@ -229,29 +247,26 @@
}
}
},
- "node_modules/@angular-devkit/build-angular/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==",
+ "node_modules/@angular-devkit/build-angular/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==",
"dev": true,
"dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.13"
- },
- "engines": {
- "node": ">=12"
+ "tslib": "^2.1.0"
}
},
"node_modules/@angular-devkit/build-webpack": {
- "version": "0.1502.0",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1502.0.tgz",
- "integrity": "sha512-5xlHsuTZUaSvX+5/wfhbhr+CFVUSsLVNhiu3E4i9Qkyyb9Imj+KFZEuiy17p4fkYSUV7IXiQ34G5Axi5UCcnxQ==",
+ "version": "0.1600.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1600.0.tgz",
+ "integrity": "sha512-ZlNNMtAzgMCsaN5crkqtgeYxWEyZ78/ePfrJTB3+Hb6LS+hsRf4WAYubHWRWReSx87ppluRrgNZLy0K9ooWy1w==",
"dev": true,
"dependencies": {
- "@angular-devkit/architect": "0.1502.0",
- "rxjs": "6.6.7"
+ "@angular-devkit/architect": "0.1600.0",
+ "rxjs": "7.8.1"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
+ "node": "^16.14.0 || >=18.10.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
},
@@ -260,20 +275,29 @@
"webpack-dev-server": "^4.0.0"
}
},
+ "node_modules/@angular-devkit/build-webpack/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==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
"node_modules/@angular-devkit/core": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.0.tgz",
- "integrity": "sha512-kUE5XvQzn+fiEvFqIk8x0q4hvRD+dKfAMM7p0uPQ69O9cj2b8c01oDvLOskvwhIJOnKTxnK/1d2gFQLupPci4A==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.0.tgz",
+ "integrity": "sha512-YJKvAJlg4/lfP93pQNawlOTQalynWGpoatZU+1aXBgRh5YCTKu2S/A3gtQ71DBuhac76gJe1RpxDoq41kB2KlQ==",
"dev": true,
"dependencies": {
"ajv": "8.12.0",
"ajv-formats": "2.1.1",
"jsonc-parser": "3.2.0",
- "rxjs": "6.6.7",
+ "rxjs": "7.8.1",
"source-map": "0.7.4"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
+ "node": "^16.14.0 || >=18.10.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
},
@@ -286,60 +310,70 @@
}
}
},
+ "node_modules/@angular-devkit/core/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==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
"node_modules/@angular-devkit/schematics": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.2.0.tgz",
- "integrity": "sha512-LrsbQWaMRrLPBCgTOw7F+BvA4mjCljC+42NmiId/GXdU9FljEw/Ly1+u7LJREnE1yYqGQeR8zd8xjgIS0mTc3A==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.0.0.tgz",
+ "integrity": "sha512-9uFOqjOQdhnpxU5mku2LvBkV5Ave2ihHBFaQCH7vQ7DD+p4NpLHu93bMSh+f7k9W7F0lY18g9qrihRgK/7wfuA==",
"dev": true,
"dependencies": {
- "@angular-devkit/core": "15.2.0",
+ "@angular-devkit/core": "16.0.0",
"jsonc-parser": "3.2.0",
- "magic-string": "0.29.0",
+ "magic-string": "0.30.0",
"ora": "5.4.1",
- "rxjs": "6.6.7"
+ "rxjs": "7.8.1"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
+ "node": "^16.14.0 || >=18.10.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
}
},
- "node_modules/@angular-devkit/schematics/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==",
+ "node_modules/@angular-devkit/schematics/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==",
"dev": true,
"dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.13"
- },
- "engines": {
- "node": ">=12"
+ "tslib": "^2.1.0"
}
},
"node_modules/@angular-eslint/builder": {
- "version": "15.2.1",
- "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-15.2.1.tgz",
- "integrity": "sha512-7x2DANebLRl997Mj4DhZrnz5+vnSjavGGveJ0mBuU7CEsL0ZYLftdRqL0e0HtU3ksseS7xpchD6OM08nkNgySw==",
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.0.1.tgz",
+ "integrity": "sha512-yjFltV+r3YjisVjASMPmWB/ASz39wdh0q5g0l6/4G+8yaxl6hEYs5o0ZOGeGdTFstCql8FGY+QKwKgsq9Ec4QQ==",
"dev": true,
+ "dependencies": {
+ "@nx/devkit": "16.0.2",
+ "nx": "16.0.2"
+ },
"peerDependencies": {
"eslint": "^7.20.0 || ^8.0.0",
"typescript": "*"
}
},
"node_modules/@angular-eslint/bundled-angular-compiler": {
- "version": "15.2.1",
- "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-15.2.1.tgz",
- "integrity": "sha512-LO7Am8eVCr7oh6a0VmKSL7K03CnQEQhFO7Wt/YtbfYOxVjrbwmYLwJn+wZPOT7A02t/BttOD/WXuDrOWtSMQ/Q==",
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.0.1.tgz",
+ "integrity": "sha512-amvTgKHtZoygivW3LAYZ9qjLWsXM7/7eaRvaHdmAEdjyFnYQZ7UbWMPSQNz1mlW/AzTFvk9lGGQORglNOSDnww==",
"dev": true
},
"node_modules/@angular-eslint/eslint-plugin": {
- "version": "15.2.1",
- "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-15.2.1.tgz",
- "integrity": "sha512-OM7b1kS4E4CkXjkaWN+lEzawh4VxY6l7FO1Cuk4s7iv3/YpZG3rJxIZBqnFLTixwrBuqw8y4FNBzF3eDgmFAUw==",
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.0.1.tgz",
+ "integrity": "sha512-CM9keS9cH1QAfSVfsvhw/oGCZcP/D8gfekWwVNjN/uEMEAak0czn1KOG7JQkE36NXOGtwCpTspMi1aa9CVKo9g==",
"dev": true,
"dependencies": {
- "@angular-eslint/utils": "15.2.1",
- "@typescript-eslint/utils": "5.48.2"
+ "@angular-eslint/utils": "16.0.1",
+ "@typescript-eslint/utils": "5.59.2"
},
"peerDependencies": {
"eslint": "^7.20.0 || ^8.0.0",
@@ -347,15 +381,15 @@
}
},
"node_modules/@angular-eslint/eslint-plugin-template": {
- "version": "15.2.1",
- "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-15.2.1.tgz",
- "integrity": "sha512-IeiSLk6YxapFdH2z5o/O3R7VwtBd2T6fWmhLFPwDYMDknrwegnOjwswCdBplOccpUp0wqlCeGUx7LTsuzwaz7w==",
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.0.1.tgz",
+ "integrity": "sha512-1hyfs+Iq7K2x3mDDE4985d8vDcMyknbE9HKHKUtRLfLKC9gnV3N5d4+UeySQ7Rrjvgzkc1g9qHADyuhwRWpDSA==",
"dev": true,
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "15.2.1",
- "@angular-eslint/utils": "15.2.1",
- "@typescript-eslint/type-utils": "5.48.2",
- "@typescript-eslint/utils": "5.48.2",
+ "@angular-eslint/bundled-angular-compiler": "16.0.1",
+ "@angular-eslint/utils": "16.0.1",
+ "@typescript-eslint/type-utils": "5.59.2",
+ "@typescript-eslint/utils": "5.59.2",
"aria-query": "5.1.3",
"axobject-query": "3.1.1"
},
@@ -365,28 +399,30 @@
}
},
"node_modules/@angular-eslint/schematics": {
- "version": "15.2.1",
- "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-15.2.1.tgz",
- "integrity": "sha512-0ZfBCejHWIcgy3J5kFs9sS/jqi8i5AptxggOwFySOlCLJ+CzNrktjD4jff1Zy8K/VLzY0Ci0BSZXvgWfP0k9Rg==",
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.0.1.tgz",
+ "integrity": "sha512-1oJJEWVbgPkNK1E8rAJfrgxzNWWzJKv3frTHeAm8gvZ7GftYhHjDcrcnxLWrYNxb9+q8Awi0hvGta/4HROmmnA==",
"dev": true,
"dependencies": {
- "@angular-eslint/eslint-plugin": "15.2.1",
- "@angular-eslint/eslint-plugin-template": "15.2.1",
+ "@angular-eslint/eslint-plugin": "16.0.1",
+ "@angular-eslint/eslint-plugin-template": "16.0.1",
+ "@nx/devkit": "16.0.2",
"ignore": "5.2.4",
+ "nx": "16.0.2",
"strip-json-comments": "3.1.1",
"tmp": "0.2.1"
},
"peerDependencies": {
- "@angular/cli": ">= 15.0.0 < 16.0.0"
+ "@angular/cli": ">= 16.0.0 < 17.0.0"
}
},
"node_modules/@angular-eslint/template-parser": {
- "version": "15.2.1",
- "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-15.2.1.tgz",
- "integrity": "sha512-ViCi79gC2aKJecmYLkOT+QlT5WMRNXeYz0Dr9Pr8qXzIbY0oAWE7nOT5jkXwQ9oUk+ybtGCWHma5JVJWVJsIog==",
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.0.1.tgz",
+ "integrity": "sha512-x0+SwSeqa3TiVZan6fE5grHsCkjGqU+zAS2DB6wAw5pyvgNAIjrI4cZEQ8pkgHfXe5tuumTKztlkpisah5s/hg==",
"dev": true,
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "15.2.1",
+ "@angular-eslint/bundled-angular-compiler": "16.0.1",
"eslint-scope": "^7.0.0"
},
"peerDependencies": {
@@ -395,13 +431,13 @@
}
},
"node_modules/@angular-eslint/utils": {
- "version": "15.2.1",
- "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-15.2.1.tgz",
- "integrity": "sha512-++FneAJHxJqcSu0igVN6uOkSoHxlzgLoMBswuovYJy3UKwm33/T6WFku8++753Ca/JucIoR1gdUfO7SoSspMDg==",
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.0.1.tgz",
+ "integrity": "sha512-2xnJuhIrMZEYK6UyBym6FaFXZgopIIbqfQ4sAtMWY6zYkCEsVUvx5qKIrsnXAwvpDQrv0WiMXteqi/5ICpVMZQ==",
"dev": true,
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "15.2.1",
- "@typescript-eslint/utils": "5.48.2"
+ "@angular-eslint/bundled-angular-compiler": "16.0.1",
+ "@typescript-eslint/utils": "5.59.2"
},
"peerDependencies": {
"eslint": "^7.20.0 || ^8.0.0",
@@ -409,80 +445,80 @@
}
},
"node_modules/@angular/animations": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-15.2.0.tgz",
- "integrity": "sha512-Hh/ijBlHsFlr6vR7e9KZgFpdQf+ebr3uIDDRsVHjRkt8utsv3CpUcJkb75UyTv+Ok5gYmfsI1Lj1CDYujyA0Fg==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.0.0.tgz",
+ "integrity": "sha512-Xx4Ffdo3sweg24MDVAXbDfxqkNPEuRgqOC1+f9171kf+w7cBEr4Bmy37DP7YkJceaU0xJH9imcx4708KeIjqkQ==",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+ "node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/core": "15.2.0"
+ "@angular/core": "16.0.0"
}
},
"node_modules/@angular/cli": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.2.0.tgz",
- "integrity": "sha512-Zy1kmcvqoQf316eirfxkS5vb8/3B9btZf0YvZH/hDHmAyzAs8cwfirU+ClhwLLb/T9i7HnB0YS+Pdz0XaQa/jQ==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.0.0.tgz",
+ "integrity": "sha512-vsveaSJ5kj0MeJCg1nir5iJJEsdrRRnyNeL1awMcyrEjAhBPX3d0gfOP2fe0HR5KJtntX8zvihGus3i48Quo7A==",
"dev": true,
"dependencies": {
- "@angular-devkit/architect": "0.1502.0",
- "@angular-devkit/core": "15.2.0",
- "@angular-devkit/schematics": "15.2.0",
- "@schematics/angular": "15.2.0",
+ "@angular-devkit/architect": "0.1600.0",
+ "@angular-devkit/core": "16.0.0",
+ "@angular-devkit/schematics": "16.0.0",
+ "@schematics/angular": "16.0.0",
"@yarnpkg/lockfile": "1.1.0",
"ansi-colors": "4.1.3",
- "ini": "3.0.1",
+ "ini": "4.0.0",
"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",
+ "open": "8.4.2",
"ora": "5.4.1",
- "pacote": "15.1.0",
- "resolve": "1.22.1",
- "semver": "7.3.8",
+ "pacote": "15.1.3",
+ "resolve": "1.22.2",
+ "semver": "7.4.0",
"symbol-observable": "4.0.0",
- "yargs": "17.6.2"
+ "yargs": "17.7.2"
},
"bin": {
"ng": "bin/ng.js"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
+ "node": "^16.14.0 || >=18.10.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
}
},
"node_modules/@angular/common": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.2.0.tgz",
- "integrity": "sha512-B+e5pbkvlwlSwlQjtDrYQq+Xs62mScWm1plEZRHQm3cjBhA0RFT3MiUa/YNaHv8VoGjlrOm1rdJVEVQQxroZTg==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.0.0.tgz",
+ "integrity": "sha512-at3/xCevf2t9swX2P7K7gaSBuQPy7ZJsf37qQkYIuczzfij69r7s9NjYeA74/q3EWG9Yl2DCrhYoCW7ViXQINQ==",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+ "node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/core": "15.2.0",
+ "@angular/core": "16.0.0",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/compiler": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.2.0.tgz",
- "integrity": "sha512-bGMc8xBs/3l5Ab2PmGGifuWVLxCzmYQPXeBYrwpmy+aYCwGzuVKxQp6L1UjA0OZNra7Am8bu4mOsLSR9ENdX6w==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.0.0.tgz",
+ "integrity": "sha512-xtg+KRvSeB9DUzMDtvlaRGKv+Y0MERsz+JOoqV9H4606ThNz5h8ih6fEhVKYqG100o7GhdJaVFO+vlr2/edUHA==",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+ "node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/core": "15.2.0"
+ "@angular/core": "16.0.0"
},
"peerDependenciesMeta": {
"@angular/core": {
@@ -491,17 +527,15 @@
}
},
"node_modules/@angular/compiler-cli": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.2.0.tgz",
- "integrity": "sha512-ETnRBdY/LGcmDRQ9GQc9KyCd1kuRnj+Y9luq2dCTMysP+NgylmYoGDsJOsDKm6SzPo+B4PSAyHX2J4CVQFHpPg==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.0.0.tgz",
+ "integrity": "sha512-oyJzxiTHxziv7mD0QuA7K6tpDoL6YNGPkquKjeJjNVZvUrodGsvJ8xHO4ydmjK3nMu2ET1YarsdI8bRp4vp/7w==",
"dev": true,
"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",
@@ -510,14 +544,14 @@
"bin": {
"ng-xi18n": "bundles/src/bin/ng_xi18n.js",
"ngc": "bundles/src/bin/ngc.js",
- "ngcc": "bundles/ngcc/main-ngcc.js"
+ "ngcc": "bundles/ngcc/index.js"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+ "node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/compiler": "15.2.0",
- "typescript": ">=4.8.2 <5.0"
+ "@angular/compiler": "16.0.0",
+ "typescript": ">=4.9.3 <5.1"
}
},
"node_modules/@angular/compiler-cli/node_modules/@babel/core": {
@@ -560,60 +594,60 @@
}
},
"node_modules/@angular/core": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.2.0.tgz",
- "integrity": "sha512-UNHNcW3NqzMbG5gMjzXhb4xHrJcZq8rFdLwTLntB0oo2I/WxQFVlxz28nrW+Y09DbJf02MCASBLxD9If/6eT3g==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.0.0.tgz",
+ "integrity": "sha512-scppDxtXubum6ZiGu3ogmReBtMuA5XXk5FL3YKLb3c9O7q9Z5PC8KNQ6SsaOwEb6oW+0BWXMV698p/zmd0J4tA==",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+ "node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
"rxjs": "^6.5.3 || ^7.4.0",
- "zone.js": "~0.11.4 || ~0.12.0"
+ "zone.js": "~0.13.0"
}
},
"node_modules/@angular/forms": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.2.0.tgz",
- "integrity": "sha512-a93ysagAhbbyNbWM1yjWcPZaZBNrNjZ6SNIQYyelqySeShStXlKrDxYY5q7G/qqGpQzg2YF5qCIOOQxJJA9//g==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.0.0.tgz",
+ "integrity": "sha512-avpreXyDYWf44RNM5hfi5cTXXiNwcajBURP5rLap8RPMSUi2ePlJsmi0O+3+GduNZFbtnRXIpKTj3W+GeNa0PA==",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+ "node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/common": "15.2.0",
- "@angular/core": "15.2.0",
- "@angular/platform-browser": "15.2.0",
+ "@angular/common": "16.0.0",
+ "@angular/core": "16.0.0",
+ "@angular/platform-browser": "16.0.0",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/language-service": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-15.2.0.tgz",
- "integrity": "sha512-Gwg/IWPiBZ+LE0hHxtQGvQuJ+A7YehL6p0k26ClP0HS7Wy0ERRD9+ITGh5SnhKTKVMRwOb4HYcLp0N5W3yTajw==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-16.0.0.tgz",
+ "integrity": "sha512-jySin8NdZIfcvwyemh2kRVveOvL1SPvywmIrv/6+MbKebG9Oc+casxruoRai8gh8bhahdpUAOG0t8wbedUWcxw==",
"dev": true,
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+ "node": "^16.14.0 || >=18.10.0"
}
},
"node_modules/@angular/platform-browser": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.2.0.tgz",
- "integrity": "sha512-+FB+KMoRHktF/MR7hn8ofubVLpu3+KZpudupKlxthPSL2KPMJn6h00ewrJDv3W+MtpqphqCjQSLmKpzw2UKKug==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.0.0.tgz",
+ "integrity": "sha512-6LpgLfEnumKMKM/S9joWrVSm4MdFuIjddFmlSG7zGcRqwM0N8doH/YkuwTK8/t9q8wI/yztp6qM2pg25Pgv1XA==",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+ "node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/animations": "15.2.0",
- "@angular/common": "15.2.0",
- "@angular/core": "15.2.0"
+ "@angular/animations": "16.0.0",
+ "@angular/common": "16.0.0",
+ "@angular/core": "16.0.0"
},
"peerDependenciesMeta": {
"@angular/animations": {
@@ -622,36 +656,36 @@
}
},
"node_modules/@angular/platform-browser-dynamic": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0.tgz",
- "integrity": "sha512-OErEz/AX9S6I+RJUrFS/r9mF0rJGF1bhAvPjNvyc4mL+ai9JWZB6JgrZPzEz3v0nXG8SsAvnB1wJdKCp90Ed2g==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.0.0.tgz",
+ "integrity": "sha512-xUR36r+7hFQjAb0RA0VFfWrCLj2VnWg0xJgPe4FQmwaEWjKMc011tkJXs0PApaiTxvE0W08nadSDTu5jfsBrFw==",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+ "node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/common": "15.2.0",
- "@angular/compiler": "15.2.0",
- "@angular/core": "15.2.0",
- "@angular/platform-browser": "15.2.0"
+ "@angular/common": "16.0.0",
+ "@angular/compiler": "16.0.0",
+ "@angular/core": "16.0.0",
+ "@angular/platform-browser": "16.0.0"
}
},
"node_modules/@angular/router": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.2.0.tgz",
- "integrity": "sha512-FPmGP7DmJtzqgmM7FMs8bfe3vX0r6cdI4zbHMEVv7Zbn/yApgAzAsX7MXJYy7Oi45S6ZTH7SIVHVYVAqay1NVQ==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.0.0.tgz",
+ "integrity": "sha512-+5gjJwFx3AFGv7OnY53pfUzaPbWe5gOVQWXAnlUuk6tsQmWJBMehuCQ5ZO5cxViQDZkyvNALzoUeU6aKWmNqmg==",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+ "node": "^16.14.0 || >=18.10.0"
},
"peerDependencies": {
- "@angular/common": "15.2.0",
- "@angular/core": "15.2.0",
- "@angular/platform-browser": "15.2.0",
+ "@angular/common": "16.0.0",
+ "@angular/core": "16.0.0",
+ "@angular/platform-browser": "16.0.0",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
@@ -668,9 +702,9 @@
"dev": true
},
"node_modules/@babel/code-frame": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
- "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz",
+ "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==",
"dev": true,
"dependencies": {
"@babel/highlight": "^7.18.6"
@@ -680,30 +714,30 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.20.14",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz",
- "integrity": "sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==",
+ "version": "7.21.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz",
+ "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"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,
- "dependencies": {
- "@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",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz",
+ "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.21.4",
+ "@babel/generator": "^7.21.4",
+ "@babel/helper-compilation-targets": "^7.21.4",
+ "@babel/helper-module-transforms": "^7.21.2",
+ "@babel/helpers": "^7.21.0",
+ "@babel/parser": "^7.21.4",
"@babel/template": "^7.20.7",
- "@babel/traverse": "^7.20.12",
- "@babel/types": "^7.20.7",
+ "@babel/traverse": "^7.21.4",
+ "@babel/types": "^7.21.4",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -728,33 +762,20 @@
}
},
"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==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz",
+ "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.20.7",
+ "@babel/types": "^7.21.4",
"@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "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/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",
@@ -768,26 +789,25 @@
}
},
"node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
- "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
+ "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,
"dependencies": {
- "@babel/helper-explode-assignable-expression": "^7.18.6",
- "@babel/types": "^7.18.9"
+ "@babel/types": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
- "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.20.5",
- "@babel/helper-validator-option": "^7.18.6",
+ "@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"
@@ -809,19 +829,20 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.20.12",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz",
- "integrity": "sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==",
+ "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==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.19.0",
- "@babel/helper-member-expression-to-functions": "^7.20.7",
+ "@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.20.7",
+ "@babel/helper-replace-supers": "^7.21.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
- "@babel/helper-split-export-declaration": "^7.18.6"
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "semver": "^6.3.0"
},
"engines": {
"node": ">=6.9.0"
@@ -830,14 +851,24 @@
"@babel/core": "^7.0.0"
}
},
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
"node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz",
- "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==",
+ "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==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.18.6",
- "regexpu-core": "^5.2.1"
+ "regexpu-core": "^5.3.1",
+ "semver": "^6.3.0"
},
"engines": {
"node": ">=6.9.0"
@@ -846,6 +877,15 @@
"@babel/core": "^7.0.0"
}
},
+ "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
"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",
@@ -873,34 +913,22 @@
}
},
"node_modules/@babel/helper-environment-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
- "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-explode-assignable-expression": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
- "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
+ "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,
- "dependencies": {
- "@babel/types": "^7.18.6"
- },
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-function-name": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
- "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/template": "^7.18.10",
- "@babel/types": "^7.19.0"
+ "@babel/template": "^7.20.7",
+ "@babel/types": "^7.21.0"
},
"engines": {
"node": ">=6.9.0"
@@ -919,43 +947,43 @@
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz",
- "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.20.7"
+ "@babel/types": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
- "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.21.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.20.11",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz",
- "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz",
+ "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==",
"dev": true,
"dependencies": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-simple-access": "^7.20.2",
+ "@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.20.10",
- "@babel/types": "^7.20.7"
+ "@babel/traverse": "^7.21.5",
+ "@babel/types": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -974,9 +1002,9 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
- "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
+ "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==",
"dev": true,
"engines": {
"node": ">=6.9.0"
@@ -1001,29 +1029,29 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz",
- "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-member-expression-to-functions": "^7.20.7",
+ "@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.20.7",
- "@babel/types": "^7.20.7"
+ "@babel/traverse": "^7.21.5",
+ "@babel/types": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
- "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.20.2"
+ "@babel/types": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1054,9 +1082,9 @@
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
- "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
+ "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==",
"dev": true,
"engines": {
"node": ">=6.9.0"
@@ -1072,9 +1100,9 @@
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
- "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
+ "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,
"engines": {
"node": ">=6.9.0"
@@ -1096,14 +1124,14 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.20.13",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz",
- "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz",
+ "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==",
"dev": true,
"dependencies": {
"@babel/template": "^7.20.7",
- "@babel/traverse": "^7.20.13",
- "@babel/types": "^7.20.7"
+ "@babel/traverse": "^7.21.5",
+ "@babel/types": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1124,9 +1152,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.20.15",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz",
- "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==",
+ "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,
"bin": {
"parser": "bin/babel-parser.js"
@@ -1202,12 +1230,12 @@
}
},
"node_modules/@babel/plugin-proposal-class-static-block": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz",
- "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==",
+ "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,
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.20.7",
+ "@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"
},
@@ -1350,9 +1378,9 @@
}
},
"node_modules/@babel/plugin-proposal-optional-chaining": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz",
- "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==",
+ "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==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.20.2",
@@ -1383,13 +1411,13 @@
}
},
"node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz",
- "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==",
+ "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==",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-create-class-features-plugin": "^7.20.5",
+ "@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"
},
@@ -1609,12 +1637,12 @@
}
},
"node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz",
- "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-plugin-utils": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1656,9 +1684,9 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.20.15",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.15.tgz",
- "integrity": "sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==",
+ "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==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.20.2"
@@ -1671,15 +1699,15 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz",
- "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==",
+ "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==",
"dev": true,
"dependencies": {
"@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.19.0",
+ "@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",
@@ -1694,12 +1722,12 @@
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz",
- "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-plugin-utils": "^7.21.5",
"@babel/template": "^7.20.7"
},
"engines": {
@@ -1710,9 +1738,9 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz",
- "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==",
+ "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==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.20.2"
@@ -1772,12 +1800,12 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.18.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz",
- "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1850,14 +1878,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.20.11",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz",
- "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.20.11",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-simple-access": "^7.20.2"
+ "@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"
@@ -1948,9 +1976,9 @@
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz",
- "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==",
+ "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==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.20.2"
@@ -1978,12 +2006,12 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz",
- "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-plugin-utils": "^7.21.5",
"regenerator-transform": "^0.15.1"
},
"engines": {
@@ -2009,13 +2037,13 @@
}
},
"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==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz",
+ "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==",
"dev": true,
"dependencies": {
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.19.0",
+ "@babel/helper-module-imports": "^7.21.4",
+ "@babel/helper-plugin-utils": "^7.20.2",
"babel-plugin-polyfill-corejs2": "^0.3.3",
"babel-plugin-polyfill-corejs3": "^0.6.0",
"babel-plugin-polyfill-regenerator": "^0.4.1",
@@ -2114,12 +2142,12 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.18.10",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
- "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
+ "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==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -2145,31 +2173,31 @@
}
},
"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==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz",
+ "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.20.1",
- "@babel/helper-compilation-targets": "^7.20.0",
+ "@babel/compat-data": "^7.21.4",
+ "@babel/helper-compilation-targets": "^7.21.4",
"@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-validator-option": "^7.18.6",
+ "@babel/helper-validator-option": "^7.21.0",
"@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-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7",
+ "@babel/plugin-proposal-async-generator-functions": "^7.20.7",
"@babel/plugin-proposal-class-properties": "^7.18.6",
- "@babel/plugin-proposal-class-static-block": "^7.18.6",
+ "@babel/plugin-proposal-class-static-block": "^7.21.0",
"@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-logical-assignment-operators": "^7.20.7",
"@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-object-rest-spread": "^7.20.7",
"@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
- "@babel/plugin-proposal-optional-chaining": "^7.18.9",
+ "@babel/plugin-proposal-optional-chaining": "^7.21.0",
"@babel/plugin-proposal-private-methods": "^7.18.6",
- "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
+ "@babel/plugin-proposal-private-property-in-object": "^7.21.0",
"@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",
@@ -2186,40 +2214,40 @@
"@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-arrow-functions": "^7.20.7",
+ "@babel/plugin-transform-async-to-generator": "^7.20.7",
"@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-block-scoping": "^7.21.0",
+ "@babel/plugin-transform-classes": "^7.21.0",
+ "@babel/plugin-transform-computed-properties": "^7.20.7",
+ "@babel/plugin-transform-destructuring": "^7.21.3",
"@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-for-of": "^7.21.0",
"@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-amd": "^7.20.11",
+ "@babel/plugin-transform-modules-commonjs": "^7.21.2",
+ "@babel/plugin-transform-modules-systemjs": "^7.20.11",
"@babel/plugin-transform-modules-umd": "^7.18.6",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5",
"@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-parameters": "^7.21.3",
"@babel/plugin-transform-property-literals": "^7.18.6",
- "@babel/plugin-transform-regenerator": "^7.18.6",
+ "@babel/plugin-transform-regenerator": "^7.20.5",
"@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-spread": "^7.20.7",
"@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/types": "^7.21.4",
"babel-plugin-polyfill-corejs2": "^0.3.3",
"babel-plugin-polyfill-corejs3": "^0.6.0",
"babel-plugin-polyfill-regenerator": "^0.4.1",
@@ -2265,9 +2293,9 @@
"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==",
+ "version": "7.21.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
+ "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
"dev": true,
"dependencies": {
"regenerator-runtime": "^0.13.11"
@@ -2291,19 +2319,19 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.20.13",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz",
- "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==",
+ "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,
"dependencies": {
- "@babel/code-frame": "^7.18.6",
- "@babel/generator": "^7.20.7",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.19.0",
+ "@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.20.13",
- "@babel/types": "^7.20.7",
+ "@babel/parser": "^7.21.5",
+ "@babel/types": "^7.21.5",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -2311,13 +2339,28 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/traverse/node_modules/@babel/generator": {
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz",
+ "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.21.5",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/types": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
- "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+ "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
"dev": true,
"dependencies": {
- "@babel/helper-string-parser": "^7.19.4",
+ "@babel/helper-string-parser": "^7.21.5",
"@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
},
@@ -2357,9 +2400,9 @@
}
},
"node_modules/@csstools/css-parser-algorithms": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.0.1.tgz",
- "integrity": "sha512-B9/8PmOtU6nBiibJg0glnNktQDZ3rZnGn/7UmDfrm2vMtrdlXO3p7ErE95N0up80IRk9YEtB5jyj/TmQ1WH3dw==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.1.1.tgz",
+ "integrity": "sha512-viRnRh02AgO4mwIQb2xQNJju0i+Fh9roNgmbR5xEuG7J3TGgxjnE95HnBLgsFJOJOksvcfxOUCgODcft6Y07cA==",
"dev": true,
"engines": {
"node": "^14 || ^16 || >=18"
@@ -2369,13 +2412,13 @@
"url": "https://opencollective.com/csstools"
},
"peerDependencies": {
- "@csstools/css-tokenizer": "^2.0.0"
+ "@csstools/css-tokenizer": "^2.1.1"
}
},
"node_modules/@csstools/css-tokenizer": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.0.2.tgz",
- "integrity": "sha512-prUTipz0NZH7Lc5wyBUy93NFy3QYDMVEQgSeZzNdpMbKRd6V2bgRFyJ+O0S0Dw0MXWuE/H9WXlJk3kzMZRHZ/g==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz",
+ "integrity": "sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==",
"dev": true,
"engines": {
"node": "^14 || ^16 || >=18"
@@ -2386,9 +2429,9 @@
}
},
"node_modules/@csstools/media-query-list-parser": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.0.1.tgz",
- "integrity": "sha512-X2/OuzEbjaxhzm97UJ+95GrMeT29d1Ib+Pu+paGLuRWZnWRK9sI9r3ikmKXPWGA1C4y4JEdBEFpp9jEqCvLeRA==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.0.4.tgz",
+ "integrity": "sha512-GyYot6jHgcSDZZ+tLSnrzkR7aJhF2ZW6d+CXH66mjy5WpAQhZD4HDke2OQ36SivGRWlZJpAz7TzbW6OKlEpxAA==",
"dev": true,
"engines": {
"node": "^14 || ^16 || >=18"
@@ -2398,14 +2441,14 @@
"url": "https://opencollective.com/csstools"
},
"peerDependencies": {
- "@csstools/css-parser-algorithms": "^2.0.0",
- "@csstools/css-tokenizer": "^2.0.0"
+ "@csstools/css-parser-algorithms": "^2.1.1",
+ "@csstools/css-tokenizer": "^2.1.1"
}
},
"node_modules/@csstools/selector-specificity": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz",
- "integrity": "sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+ "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
"dev": true,
"engines": {
"node": "^14 || ^16 || >=18"
@@ -2415,96 +2458,9 @@
"url": "https://opencollective.com/csstools"
},
"peerDependencies": {
- "postcss": "^8.4",
"postcss-selector-parser": "^6.0.10"
}
},
- "node_modules/@cypress/request": {
- "version": "2.88.11",
- "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz",
- "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==",
- "dev": true,
- "dependencies": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "http-signature": "~1.3.6",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "performance-now": "^2.1.0",
- "qs": "~6.10.3",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^8.3.2"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/@cypress/request/node_modules/qs": {
- "version": "6.10.4",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz",
- "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==",
- "dev": true,
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/@cypress/request/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/@cypress/schematic": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@cypress/schematic/-/schematic-2.5.0.tgz",
- "integrity": "sha512-Yt/fQxYIHl9lU8LSoJL92nIwTVyYG5uP4VqW4taTn3viVWvssjK7sRtTI/LRxOoeMYX2RRlXQyUbFEikByn0cQ==",
- "dev": true,
- "dependencies": {
- "jsonc-parser": "^3.0.0",
- "rxjs": "~6.6.0"
- },
- "peerDependencies": {
- "@angular/cli": ">=14",
- "@angular/core": ">=14"
- }
- },
- "node_modules/@cypress/xvfb": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz",
- "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==",
- "dev": true,
- "dependencies": {
- "debug": "^3.1.0",
- "lodash.once": "^4.1.1"
- }
- },
- "node_modules/@cypress/xvfb/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
"node_modules/@discoveryjs/json-ext": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
@@ -2515,9 +2471,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.18.tgz",
+ "integrity": "sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==",
"cpu": [
"arm"
],
@@ -2531,9 +2487,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz",
+ "integrity": "sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==",
"cpu": [
"arm64"
],
@@ -2547,9 +2503,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.18.tgz",
+ "integrity": "sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==",
"cpu": [
"x64"
],
@@ -2563,9 +2519,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz",
+ "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==",
"cpu": [
"arm64"
],
@@ -2579,9 +2535,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz",
+ "integrity": "sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==",
"cpu": [
"x64"
],
@@ -2595,9 +2551,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz",
+ "integrity": "sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==",
"cpu": [
"arm64"
],
@@ -2611,9 +2567,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz",
+ "integrity": "sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==",
"cpu": [
"x64"
],
@@ -2627,9 +2583,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz",
+ "integrity": "sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==",
"cpu": [
"arm"
],
@@ -2643,9 +2599,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz",
+ "integrity": "sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==",
"cpu": [
"arm64"
],
@@ -2659,9 +2615,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz",
+ "integrity": "sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==",
"cpu": [
"ia32"
],
@@ -2675,9 +2631,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz",
+ "integrity": "sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==",
"cpu": [
"loong64"
],
@@ -2691,9 +2647,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz",
+ "integrity": "sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==",
"cpu": [
"mips64el"
],
@@ -2707,9 +2663,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz",
+ "integrity": "sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==",
"cpu": [
"ppc64"
],
@@ -2723,9 +2679,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz",
+ "integrity": "sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==",
"cpu": [
"riscv64"
],
@@ -2739,9 +2695,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz",
+ "integrity": "sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==",
"cpu": [
"s390x"
],
@@ -2755,9 +2711,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz",
+ "integrity": "sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==",
"cpu": [
"x64"
],
@@ -2771,9 +2727,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz",
+ "integrity": "sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==",
"cpu": [
"x64"
],
@@ -2787,9 +2743,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz",
+ "integrity": "sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==",
"cpu": [
"x64"
],
@@ -2803,9 +2759,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz",
+ "integrity": "sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==",
"cpu": [
"x64"
],
@@ -2819,9 +2775,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz",
+ "integrity": "sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==",
"cpu": [
"arm64"
],
@@ -2835,9 +2791,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz",
+ "integrity": "sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==",
"cpu": [
"ia32"
],
@@ -2851,9 +2807,9 @@
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz",
+ "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==",
"cpu": [
"x64"
],
@@ -2866,15 +2822,39 @@
"node": ">=12"
}
},
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
+ "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
"node_modules/@eslint/eslintrc": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
- "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz",
+ "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==",
"dev": true,
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.4.0",
+ "espree": "^9.5.1",
"globals": "^13.19.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
@@ -2956,19 +2936,28 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@eslint/js": {
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz",
+ "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
"node_modules/@floating-ui/core": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.1.tgz",
- "integrity": "sha512-LSqwPZkK3rYfD7GKoIeExXOyYx6Q1O4iqZWwIehDNuv3Dv425FIAE8PRwtAx1imEolFTHgBEcoFHm9MDnYgPCg==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.6.tgz",
+ "integrity": "sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==",
"dev": true
},
"node_modules/@floating-ui/dom": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.1.tgz",
- "integrity": "sha512-Rt45SmRiV8eU+xXSB9t0uMYiQ/ZWGE/jumse2o3i5RGlyvcbqOF4q+1qBnzLE2kZ5JGhq0iMkcGXUKbFe7MpTA==",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.7.tgz",
+ "integrity": "sha512-DyqylONj1ZaBnzj+uBnVfzdjjCkFCL2aA9ESHLyUOGSqb03RpbLMImP1ekIQXYs4KLk9jAjJfZAU8hXfWSahEg==",
"dev": true,
"dependencies": {
- "@floating-ui/core": "^1.2.1"
+ "@floating-ui/core": "^1.2.6"
}
},
"node_modules/@gar/promisify": {
@@ -3106,80 +3095,135 @@
"dev": true
},
"node_modules/@igniteui/material-icons-extended": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/@igniteui/material-icons-extended/-/material-icons-extended-2.11.0.tgz",
- "integrity": "sha512-lhNBCsFqYWowhrfuhqFx/gfX8G6hGOLNSaDZju7OaDuGyIc9Nsu8/qmZrkoVe1IVKet3Hr09k92Vq4zo3iSxHA=="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@igniteui/material-icons-extended/-/material-icons-extended-3.0.0.tgz",
+ "integrity": "sha512-FvbNeEOYtqNKF+MecDlxKS3sSX9ab1kqE3tkUrOZxmKJ/NJ2wPpX/1B+Qdk2rcJMSNjDDfevm2hB6wmv/fMQhw=="
},
- "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==",
+ "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": {
- "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"
+ "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": ">=8"
+ "node": ">=12"
}
},
- "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==",
+ "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": ">=8"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
- "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==",
+ "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,
- "dependencies": {
- "@jridgewell/set-array": "^1.0.0",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- },
"engines": {
- "node": ">=6.0.0"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/@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==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
+ "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/@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==",
+ "node_modules/@isaacs/cliui/node_modules/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,
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
"engines": {
- "node": ">=6.0.0"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
+ "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": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "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/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "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/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/@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",
@@ -3190,22 +3234,56 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@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==",
+ "dev": true,
+ "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.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz",
+ "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
"node_modules/@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==",
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
"dev": true
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.17",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
- "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
+ "version": "0.3.18",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
+ "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
"dev": true,
"dependencies": {
"@jridgewell/resolve-uri": "3.1.0",
"@jridgewell/sourcemap-codec": "1.4.14"
}
},
+ "node_modules/@jridgewell/trace-mapping/node_modules/@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
+ },
"node_modules/@leichtgewicht/ip-codec": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
@@ -3213,9 +3291,9 @@
"dev": true
},
"node_modules/@lit-labs/ssr-dom-shim": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.0.0.tgz",
- "integrity": "sha512-ic93MBXfApIFTrup4a70M/+ddD8xdt2zxxj9sRwHQzhS9ag/syqkD8JPdTXsc1gUy2K8TTirhlCqyTEM/sifNw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz",
+ "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==",
"dev": true
},
"node_modules/@lit-labs/virtualizer": {
@@ -3239,18 +3317,18 @@
}
},
"node_modules/@ngtools/webpack": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.0.tgz",
- "integrity": "sha512-jrpIOsEQxkWf5RnKn1izAixO+/hh6GkKmMl+hCv4rnn98XlKDmNRhG2KEIHJZF/3IEcAv9HVlIETRnLoVyJeeQ==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.0.0.tgz",
+ "integrity": "sha512-I5zjGtJu2wwIdM+OFUHXezmwTJ0wpParVJgCxR0cLd0CIbpRYSjOSZQN/nR9ZnTKAI5uFZ3MM2p/VRQGUUHUcw==",
"dev": true,
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
+ "node": "^16.14.0 || >=18.10.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
},
"peerDependencies": {
- "@angular/compiler-cli": "^15.0.0",
- "typescript": ">=4.8.2 <5.0",
+ "@angular/compiler-cli": "^16.0.0",
+ "typescript": ">=4.9.3 <5.1",
"webpack": "^5.54.0"
}
},
@@ -3302,14 +3380,13 @@
}
},
"node_modules/@npmcli/git": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.3.tgz",
- "integrity": "sha512-8cXNkDIbnXPVbhXMmQ7/bklCAjtmPaXfI9aEM4iH+xSuEHINLMHhlfESvVwdqmHJRJkR48vNJTSUvoF6GRPSFA==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz",
+ "integrity": "sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==",
"dev": true,
"dependencies": {
"@npmcli/promise-spawn": "^6.0.0",
"lru-cache": "^7.4.4",
- "mkdirp": "^1.0.4",
"npm-pick-manifest": "^8.0.0",
"proc-log": "^3.0.0",
"promise-inflight": "^1.0.1",
@@ -3322,30 +3399,18 @@
}
},
"node_modules/@npmcli/git/node_modules/lru-cache": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.17.0.tgz",
- "integrity": "sha512-zSxlVVwOabhVyTi6E8gYv2cr6bXK+8ifYz5/uyJb9feXX6NACVDwY4p5Ut3WC3Ivo/QhpARHU3iujx2xGAYHbQ==",
+ "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/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true,
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@npmcli/git/node_modules/which": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz",
- "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==",
+ "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"
@@ -3358,9 +3423,9 @@
}
},
"node_modules/@npmcli/installed-package-contents": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.1.tgz",
- "integrity": "sha512-GIykAFdOVK31Q1/zAtT5MbxqQL2vyl9mvFJv+OGu01zxbhL3p0xc8gJjdNGX1mWmUT43aEKVO2L6V/2j4TOsAA==",
+ "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",
@@ -3421,9 +3486,9 @@
}
},
"node_modules/@npmcli/promise-spawn/node_modules/which": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz",
- "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==",
+ "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"
@@ -3436,9 +3501,9 @@
}
},
"node_modules/@npmcli/run-script": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.0.tgz",
- "integrity": "sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.1.tgz",
+ "integrity": "sha512-Yi04ZSold8jcbBJD/ahKMJSQCQifH8DAbMwkBvoLaTpGFxzHC3B/5ZyoVR69q/4xedz84tvi9DJOJjNe17h+LA==",
"dev": true,
"dependencies": {
"@npmcli/node-gyp": "^3.0.0",
@@ -3452,9 +3517,9 @@
}
},
"node_modules/@npmcli/run-script/node_modules/which": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz",
- "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==",
+ "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"
@@ -3466,308 +3531,607 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "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==",
+ "node_modules/@nrwl/devkit": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.0.2.tgz",
+ "integrity": "sha512-SAEcImeQHdSTauO05FUn2vVl9/y5Kx1LNCZ4YE+SdY5/QRq18fuo/DCWmjOGG9M8r06vYGsAgMzkiB4soimcyA==",
"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
- }
+ "@nx/devkit": "16.0.2"
}
},
- "node_modules/@rollup/plugin-node-resolve": {
- "version": "15.0.1",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz",
- "integrity": "sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==",
+ "node_modules/@nrwl/tao": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.0.2.tgz",
+ "integrity": "sha512-wimEe4OTpI7/nDK67RnpZpEXCU+fzA0sDgpIhMgbpPd0vPmKgaZv4nbs8zrm0goFlacmmnLaGRhhGYMOxE+1Lg==",
"dev": true,
"dependencies": {
- "@rollup/pluginutils": "^5.0.1",
- "@types/resolve": "1.20.2",
- "deepmerge": "^4.2.2",
- "is-builtin-module": "^3.2.0",
- "is-module": "^1.0.0",
- "resolve": "^1.22.1"
+ "nx": "16.0.2"
},
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "rollup": "^2.78.0||^3.0.0"
- },
- "peerDependenciesMeta": {
- "rollup": {
- "optional": true
- }
+ "bin": {
+ "tao": "index.js"
}
},
- "node_modules/@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/@nx/devkit": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.0.2.tgz",
+ "integrity": "sha512-BY1Bj0BbAl6XJL0O+QGTWPs/3WMJTEQ+Y4Lfoq4dZM7RllE6rAylr54NA2wa4lsgordZhq1+0g5PVhKKvSVRRw==",
"dev": true,
"dependencies": {
- "@types/estree": "^1.0.0",
- "estree-walker": "^2.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=14.0.0"
+ "@nrwl/devkit": "16.0.2",
+ "ejs": "^3.1.7",
+ "ignore": "^5.0.4",
+ "semver": "7.3.4",
+ "tmp": "~0.2.1",
+ "tslib": "^2.3.0"
},
"peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0"
- },
- "peerDependenciesMeta": {
- "rollup": {
- "optional": true
- }
+ "nx": ">= 15 <= 17"
}
},
- "node_modules/@schematics/angular": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.2.0.tgz",
- "integrity": "sha512-KnsG7xyEbjg+6zflANkdynXdS3wi9rSCg+8Y7erKdygD90O/JcT68PcanvTU2GfawDkBtvAR5VMURw2TIfCTnw==",
+ "node_modules/@nx/devkit/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
- "@angular-devkit/core": "15.2.0",
- "@angular-devkit/schematics": "15.2.0",
- "jsonc-parser": "3.2.0"
+ "yallist": "^4.0.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": ">=10"
}
},
- "node_modules/@sindresorhus/is": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
+ "node_modules/@nx/devkit/node_modules/semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=10"
}
},
- "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==",
+ "node_modules/@nx/devkit/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/@szmarczak/http-timer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
+ "node_modules/@nx/nx-darwin-arm64": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.0.2.tgz",
+ "integrity": "sha512-nAT8WJ/qKGEvUcoFLHHye1dbwCd7b8CTZJlDF+ZkyCD/UZRHt4eJxy8gvKmxgkZTFb2+PPMQt4UORCUGpZzuoA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "defer-to-connect": "^1.0.1"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=6"
+ "node": ">= 10"
}
},
- "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==",
+ "node_modules/@nx/nx-darwin-x64": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.0.2.tgz",
+ "integrity": "sha512-r0rfOrZaOyrwFR5a0UT05xkYRumfkP65cRSZM1TjCA027AG9llYtkLT1hlz8uMKt+P12zrWVzXSqGLDi022ZZg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
"node": ">= 10"
}
},
- "node_modules/@tsconfig/node10": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
- "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
- "dev": true
- },
- "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==",
- "dev": true
- },
- "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==",
- "dev": true
+ "node_modules/@nx/nx-linux-arm-gnueabihf": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.0.2.tgz",
+ "integrity": "sha512-TfDQaGvCIDjn9sPg5U1Fr2rsSul/4PIQB59qrLBJRPiCWgpzwO71Il1qwSX68En+JH3lwXr+g5EjcDIEQ8fGYA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
},
- "node_modules/@tsconfig/node16": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
- "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
- "dev": true
+ "node_modules/@nx/nx-linux-arm64-gnu": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.0.2.tgz",
+ "integrity": "sha512-MICaUp7uz8WVQFXWPrmQaX1o4bdL7f3C7b3MDDf6+Zau6RcyQuw97UEKaYi9OqrV3w8yuPplqoLosFblAgb8uw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
},
- "node_modules/@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/@nx/nx-linux-arm64-musl": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.0.2.tgz",
+ "integrity": "sha512-wcBURG+6A2srm+6ujj8SShjwmYWs0eHI5D8vgZr8Bni+lXbKP/IosE9JGXKtRoh27/owyR8PGHhDVzjv46tlFg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@types/bonjour": {
- "version": "3.5.10",
- "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz",
- "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==",
+ "node_modules/@nx/nx-linux-x64-gnu": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.0.2.tgz",
+ "integrity": "sha512-Xyml2gFdVDHUj2g67DKz2aD78x1BciN1ZaaBTCxXL4MHfwR78SZa7mtRtE+1kj5OgVIwupZP50jq7C8GuSn3Hw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@types/connect": {
- "version": "3.4.35",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
- "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
+ "node_modules/@nx/nx-linux-x64-musl": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.0.2.tgz",
+ "integrity": "sha512-j3xdN8I5DlTgW5N5eCquyBZswrrYf6EazUCvnEpeejygwh3N6XN7DlD68Bs0CB4Zmd0tWLfTjNVAtUJSP6g2mA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@types/connect-history-api-fallback": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz",
- "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==",
+ "node_modules/@nx/nx-win32-arm64-msvc": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.0.2.tgz",
+ "integrity": "sha512-R2pzoW3SUFBbe9C1vifJnXuysPl6kmutQHN2yQ9lwJptzPvMxfDU1FuXmKCGRUGmEwFxk/XPhwDL/ZcbABTrzw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "@types/express-serve-static-core": "*",
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "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/@nx/nx-win32-x64-msvc": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.0.2.tgz",
+ "integrity": "sha512-r4H/SsqfpIJa8QLSpnscgkMnLsnkRYXj8TcILDrf+nJazfEdJZLUvVhN9O85OB7pskv86NuGfnJmJHHXy6QVQg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
},
- "node_modules/@types/cors": {
- "version": "2.8.13",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
- "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
+ "node_modules/@parcel/watcher": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
+ "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==",
"dev": true,
+ "hasInstallScript": true,
"dependencies": {
- "@types/node": "*"
+ "node-addon-api": "^3.2.1",
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@types/css": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/@types/css/-/css-0.0.33.tgz",
- "integrity": "sha512-qjeDgh86R0LIeEM588q65yatc8Yyo/VvSIYFqq8JOIHDolhGNX0rz7k/OuxqDpnpqlefoHj8X4Ai/6hT9IWtKQ==",
- "dev": true
+ "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/@types/eslint": {
- "version": "8.21.1",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.1.tgz",
- "integrity": "sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==",
+ "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": {
- "@types/estree": "*",
- "@types/json-schema": "*"
+ "@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/@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/@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==",
"dev": true,
"dependencies": {
- "@types/eslint": "*",
- "@types/estree": "*"
+ "@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/@types/estree": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz",
- "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==",
- "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==",
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz",
+ "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==",
"dev": true,
"dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.33",
- "@types/qs": "*",
- "@types/serve-static": "*"
+ "@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/@types/express-serve-static-core": {
- "version": "4.17.33",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz",
- "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==",
+ "node_modules/@schematics/angular": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.0.0.tgz",
+ "integrity": "sha512-Ao1Y0hEDa30JjWDLnUfOsD+9nnfdBFclfKFzR+7pvvFYCpSUhH1u+8e+7noruIxlP26+SpqPn3AF5+IRTGza8w==",
"dev": true,
"dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
+ "@angular-devkit/core": "16.0.0",
+ "@angular-devkit/schematics": "16.0.0",
+ "jsonc-parser": "3.2.0"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.10.0",
+ "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+ "yarn": ">= 1.13.0"
}
},
- "node_modules/@types/hammerjs": {
- "version": "2.0.41",
- "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.41.tgz",
- "integrity": "sha512-ewXv/ceBaJprikMcxCmWU1FKyMAQ2X7a9Gtmzw8fcg2kIePI1crERDM818W+XYrxqdBBOdlf2rm137bU+BltCA=="
+ "node_modules/@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,
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
},
- "node_modules/@types/http-proxy": {
- "version": "1.17.10",
- "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.10.tgz",
- "integrity": "sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==",
+ "node_modules/@sindresorhus/is": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
+ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
"dev": true,
- "dependencies": {
- "@types/node": "*"
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/@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==",
+ "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/@types/jasminewd2": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz",
- "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==",
+ "node_modules/@szmarczak/http-timer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
+ "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
"dev": true,
"dependencies": {
- "@types/jasmine": "*"
+ "defer-to-connect": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/@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
+ "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/@types/mime": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
- "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==",
+ "node_modules/@tsconfig/node10": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
+ "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
"dev": true
},
- "node_modules/@types/minimist": {
- "version": "1.2.2",
+ "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==",
+ "dev": true
+ },
+ "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==",
+ "dev": true
+ },
+ "node_modules/@tsconfig/node16": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
+ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
+ "dev": true
+ },
+ "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.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+ "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@types/body-parser": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+ "dev": true,
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/bonjour": {
+ "version": "3.5.10",
+ "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz",
+ "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/connect": {
+ "version": "3.4.35",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
+ "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@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==",
+ "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.13",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
+ "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/css": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/@types/css/-/css-0.0.33.tgz",
+ "integrity": "sha512-qjeDgh86R0LIeEM588q65yatc8Yyo/VvSIYFqq8JOIHDolhGNX0rz7k/OuxqDpnpqlefoHj8X4Ai/6hT9IWtKQ==",
+ "dev": true
+ },
+ "node_modules/@types/eslint": {
+ "version": "8.37.0",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz",
+ "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==",
+ "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.34",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz",
+ "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
+ }
+ },
+ "node_modules/@types/hammerjs": {
+ "version": "2.0.41",
+ "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.41.tgz",
+ "integrity": "sha512-ewXv/ceBaJprikMcxCmWU1FKyMAQ2X7a9Gtmzw8fcg2kIePI1crERDM818W+XYrxqdBBOdlf2rm137bU+BltCA=="
+ },
+ "node_modules/@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==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@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
+ },
+ "node_modules/@types/jasminewd2": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz",
+ "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==",
+ "dev": true,
+ "dependencies": {
+ "@types/jasmine": "*"
+ }
+ },
+ "node_modules/@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
+ },
+ "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/minimist": {
+ "version": "1.2.2",
"resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
"integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==",
"dev": true
},
"node_modules/@types/node": {
- "version": "18.13.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz",
- "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==",
+ "version": "18.16.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz",
+ "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==",
"dev": true
},
"node_modules/@types/normalize-package-data": {
@@ -3776,12 +4140,6 @@
"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/qs": {
"version": "6.9.7",
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
@@ -3806,22 +4164,14 @@
"integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
"dev": true
},
- "node_modules/@types/sass": {
- "version": "1.43.1",
- "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz",
- "integrity": "sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@types/sass-true": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/sass-true/-/sass-true-6.0.2.tgz",
- "integrity": "sha512-4/skvbVC+OmbyJAwdNALKEdHAyU45hcDT0KnBxIZ6FFYWJYVqXzIMgtbbAZIsdAxv2yHl/yabTB1I6+KTf/BOg==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/@types/sass-true/-/sass-true-6.0.3.tgz",
+ "integrity": "sha512-zTt0uxBnu4ulwoYYfatZaWdoHWxpdqXr5bQ4wa7PNx4+cqxWn8aczK+UwEIHyhpbtvm4H4oiuIT+61EPvHKq0Q==",
"dev": true,
"dependencies": {
- "@types/sass": "*"
+ "@types/node": "*",
+ "sass": "^1.45.0"
}
},
"node_modules/@types/semver": {
@@ -3830,6 +4180,16 @@
"integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==",
"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",
@@ -3849,18 +4209,6 @@
"@types/node": "*"
}
},
- "node_modules/@types/sinonjs__fake-timers": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz",
- "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==",
- "dev": true
- },
- "node_modules/@types/sizzle": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
- "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==",
- "dev": true
- },
"node_modules/@types/sockjs": {
"version": "0.3.33",
"resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
@@ -3896,30 +4244,20 @@
"@types/node": "*"
}
},
- "node_modules/@types/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.52.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz",
- "integrity": "sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==",
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz",
+ "integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.52.0",
- "@typescript-eslint/type-utils": "5.52.0",
- "@typescript-eslint/utils": "5.52.0",
+ "@eslint-community/regexpp": "^4.4.0",
+ "@typescript-eslint/scope-manager": "5.59.2",
+ "@typescript-eslint/type-utils": "5.59.2",
+ "@typescript-eslint/utils": "5.59.2",
"debug": "^4.3.4",
"grapheme-splitter": "^1.0.4",
"ignore": "^5.2.0",
"natural-compare-lite": "^1.4.0",
- "regexpp": "^3.2.0",
"semver": "^7.3.7",
"tsutils": "^3.21.0"
},
@@ -3940,16 +4278,16 @@
}
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": {
- "version": "5.52.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz",
- "integrity": "sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==",
+ "node_modules/@typescript-eslint/parser": {
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz",
+ "integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "5.52.0",
- "@typescript-eslint/utils": "5.52.0",
- "debug": "^4.3.4",
- "tsutils": "^3.21.0"
+ "@typescript-eslint/scope-manager": "5.59.2",
+ "@typescript-eslint/types": "5.59.2",
+ "@typescript-eslint/typescript-estree": "5.59.2",
+ "debug": "^4.3.4"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3959,7 +4297,7 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "*"
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -3967,20 +4305,14 @@
}
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
- "version": "5.52.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz",
- "integrity": "sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==",
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
+ "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
"dev": true,
"dependencies": {
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.52.0",
- "@typescript-eslint/types": "5.52.0",
- "@typescript-eslint/typescript-estree": "5.52.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^3.0.0",
- "semver": "^7.3.7"
+ "@typescript-eslint/types": "5.59.2",
+ "@typescript-eslint/visitor-keys": "5.59.2"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3988,43 +4320,18 @@
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/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/@typescript-eslint/parser": {
- "version": "5.52.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.52.0.tgz",
- "integrity": "sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==",
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz",
+ "integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.52.0",
- "@typescript-eslint/types": "5.52.0",
- "@typescript-eslint/typescript-estree": "5.52.0",
- "debug": "^4.3.4"
+ "@typescript-eslint/typescript-estree": "5.59.2",
+ "@typescript-eslint/utils": "5.59.2",
+ "debug": "^4.3.4",
+ "tsutils": "^3.21.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4034,7 +4341,7 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ "eslint": "*"
},
"peerDependenciesMeta": {
"typescript": {
@@ -4042,111 +4349,10 @@
}
}
},
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "5.52.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz",
- "integrity": "sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.52.0",
- "@typescript-eslint/visitor-keys": "5.52.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils": {
- "version": "5.48.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz",
- "integrity": "sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/typescript-estree": "5.48.2",
- "@typescript-eslint/utils": "5.48.2",
- "debug": "^4.3.4",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "*"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": {
- "version": "5.48.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.2.tgz",
- "integrity": "sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.48.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz",
- "integrity": "sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.48.2",
- "@typescript-eslint/visitor-keys": "5.48.2",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.48.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz",
- "integrity": "sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.48.2",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
"node_modules/@typescript-eslint/types": {
- "version": "5.52.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz",
- "integrity": "sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==",
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
+ "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4157,13 +4363,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.52.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz",
- "integrity": "sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==",
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
+ "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.52.0",
- "@typescript-eslint/visitor-keys": "5.52.0",
+ "@typescript-eslint/types": "5.59.2",
+ "@typescript-eslint/visitor-keys": "5.59.2",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -4184,18 +4390,18 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "5.48.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.2.tgz",
- "integrity": "sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==",
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
+ "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
"dev": true,
"dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
"@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.48.2",
- "@typescript-eslint/types": "5.48.2",
- "@typescript-eslint/typescript-estree": "5.48.2",
+ "@typescript-eslint/scope-manager": "5.59.2",
+ "@typescript-eslint/types": "5.59.2",
+ "@typescript-eslint/typescript-estree": "5.59.2",
"eslint-scope": "^5.1.1",
- "eslint-utils": "^3.0.0",
"semver": "^7.3.7"
},
"engines": {
@@ -4209,80 +4415,6 @@
"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
- "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": {
- "version": "5.48.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz",
- "integrity": "sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.48.2",
- "@typescript-eslint/visitor-keys": "5.48.2"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": {
- "version": "5.48.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.2.tgz",
- "integrity": "sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.48.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz",
- "integrity": "sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.48.2",
- "@typescript-eslint/visitor-keys": "5.48.2",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.48.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz",
- "integrity": "sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.48.2",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
"node_modules/@typescript-eslint/utils/node_modules/eslint-scope": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@@ -4306,12 +4438,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.52.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz",
- "integrity": "sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==",
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
+ "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.52.0",
+ "@typescript-eslint/types": "5.59.2",
"eslint-visitor-keys": "^3.3.0"
},
"engines": {
@@ -4322,149 +4454,161 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@vitejs/plugin-basic-ssl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz",
+ "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.6.0"
+ },
+ "peerDependencies": {
+ "vite": "^3.0.0 || ^4.0.0"
+ }
+ },
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz",
+ "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==",
"dev": true,
"dependencies": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
+ "@webassemblyjs/helper-numbers": "1.11.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.5"
}
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz",
+ "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==",
"dev": true
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz",
+ "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==",
"dev": true
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz",
+ "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==",
"dev": true
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz",
+ "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==",
"dev": true,
"dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
+ "@webassemblyjs/floating-point-hex-parser": "1.11.5",
+ "@webassemblyjs/helper-api-error": "1.11.5",
"@xtuc/long": "4.2.2"
}
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz",
+ "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==",
"dev": true
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz",
+ "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==",
"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"
+ "@webassemblyjs/ast": "1.11.5",
+ "@webassemblyjs/helper-buffer": "1.11.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.5",
+ "@webassemblyjs/wasm-gen": "1.11.5"
}
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz",
+ "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==",
"dev": true,
"dependencies": {
"@xtuc/ieee754": "^1.2.0"
}
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz",
+ "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==",
"dev": true,
"dependencies": {
"@xtuc/long": "4.2.2"
}
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz",
+ "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==",
"dev": true
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz",
+ "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==",
"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"
+ "@webassemblyjs/ast": "1.11.5",
+ "@webassemblyjs/helper-buffer": "1.11.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.5",
+ "@webassemblyjs/helper-wasm-section": "1.11.5",
+ "@webassemblyjs/wasm-gen": "1.11.5",
+ "@webassemblyjs/wasm-opt": "1.11.5",
+ "@webassemblyjs/wasm-parser": "1.11.5",
+ "@webassemblyjs/wast-printer": "1.11.5"
}
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz",
+ "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==",
"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"
+ "@webassemblyjs/ast": "1.11.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.5",
+ "@webassemblyjs/ieee754": "1.11.5",
+ "@webassemblyjs/leb128": "1.11.5",
+ "@webassemblyjs/utf8": "1.11.5"
}
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz",
+ "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==",
"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"
+ "@webassemblyjs/ast": "1.11.5",
+ "@webassemblyjs/helper-buffer": "1.11.5",
+ "@webassemblyjs/wasm-gen": "1.11.5",
+ "@webassemblyjs/wasm-parser": "1.11.5"
}
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz",
+ "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==",
"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"
+ "@webassemblyjs/ast": "1.11.5",
+ "@webassemblyjs/helper-api-error": "1.11.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.5",
+ "@webassemblyjs/ieee754": "1.11.5",
+ "@webassemblyjs/leb128": "1.11.5",
+ "@webassemblyjs/utf8": "1.11.5"
}
},
"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==",
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz",
+ "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/ast": "1.11.5",
"@xtuc/long": "4.2.2"
}
},
@@ -4486,6 +4630,37 @@
"integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
"dev": true
},
+ "node_modules/@yarnpkg/parsers": {
+ "version": "3.0.0-rc.43",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.43.tgz",
+ "integrity": "sha512-AhFF3mIDfA+jEwQv2WMHmiYhOvmdbh2qhUkDVQfiqzQtUwS4BgoWwom5NpSPg4Ix5vOul+w1690Bt21CkVLpgg==",
+ "dev": true,
+ "dependencies": {
+ "js-yaml": "^3.10.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=14.15.0"
+ }
+ },
+ "node_modules/@zkochan/js-yaml": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz",
+ "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@zkochan/js-yaml/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
+ },
"node_modules/a-sync-waterfall": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz",
@@ -4596,28 +4771,19 @@
}
},
"node_modules/agentkeepalive": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
- "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz",
+ "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==",
"dev": true,
"dependencies": {
"debug": "^4.1.0",
- "depd": "^1.1.2",
+ "depd": "^2.0.0",
"humanize-ms": "^1.2.1"
},
"engines": {
"node": ">= 8.0.0"
}
},
- "node_modules/agentkeepalive/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/aggregate-error": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
@@ -4839,26 +5005,6 @@
"integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
"dev": true
},
- "node_modules/arch": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
- "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
- "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/archy": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
@@ -4879,9 +5025,9 @@
}
},
"node_modules/are-we-there-yet/node_modules/readable-stream": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz",
- "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -4967,6 +5113,19 @@
"node": ">=0.10.0"
}
},
+ "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-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
@@ -5081,24 +5240,6 @@
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
"dev": true
},
- "node_modules/asn1": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
- "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
- "dev": true,
- "dependencies": {
- "safer-buffer": "~2.1.0"
- }
- },
- "node_modules/assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
- "dev": true,
- "engines": {
- "node": ">=0.8"
- }
- },
"node_modules/assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
@@ -5118,10 +5259,13 @@
}
},
"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
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+ "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
+ "dev": true,
+ "dependencies": {
+ "lodash": "^4.17.14"
+ }
},
"node_modules/async-done": {
"version": "1.3.2",
@@ -5177,15 +5321,6 @@
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"dev": true
},
- "node_modules/at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
"node_modules/atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
@@ -5199,9 +5334,9 @@
}
},
"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==",
+ "version": "10.4.14",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
+ "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
"dev": true,
"funding": [
{
@@ -5214,8 +5349,8 @@
}
],
"dependencies": {
- "browserslist": "^4.21.4",
- "caniuse-lite": "^1.0.30001426",
+ "browserslist": "^4.21.5",
+ "caniuse-lite": "^1.0.30001464",
"fraction.js": "^4.2.0",
"normalize-range": "^0.1.2",
"picocolors": "^1.0.0",
@@ -5243,21 +5378,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/aws4": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
- "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==",
- "dev": true
- },
"node_modules/axios": {
"version": "0.21.4",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
@@ -5464,15 +5584,6 @@
"integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
"dev": true
},
- "node_modules/bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
- "dev": true,
- "dependencies": {
- "tweetnacl": "^0.14.3"
- }
- },
"node_modules/big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
@@ -5512,9 +5623,9 @@
}
},
"node_modules/bl/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -5525,26 +5636,20 @@
"node": ">= 6"
}
},
- "node_modules/blob-util": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz",
- "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==",
- "dev": true
- },
"node_modules/bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
+ "integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==",
"dev": true
},
"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==",
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
+ "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
"dev": true,
"dependencies": {
"bytes": "3.1.2",
- "content-type": "~1.0.4",
+ "content-type": "~1.0.5",
"debug": "2.6.9",
"depd": "2.0.0",
"destroy": "1.2.0",
@@ -5552,7 +5657,7 @@
"iconv-lite": "0.4.24",
"on-finished": "2.4.1",
"qs": "6.11.0",
- "raw-body": "2.5.1",
+ "raw-body": "2.5.2",
"type-is": "~1.6.18",
"unpipe": "1.0.0"
},
@@ -5588,19 +5693,34 @@
"node": ">= 0.8"
}
},
- "node_modules/bonjour-service": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.0.tgz",
- "integrity": "sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==",
+ "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": {
- "array-flatten": "^2.1.2",
- "dns-equal": "^1.0.0",
- "fast-deep-equal": "^3.1.3",
- "multicast-dns": "^7.2.5"
- }
- },
- "node_modules/boolbase": {
+ "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/boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
@@ -5726,21 +5846,22 @@
}
},
"node_modules/browser-sync": {
- "version": "2.27.11",
- "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.11.tgz",
- "integrity": "sha512-U5f9u97OYJH66T0MGWWzG9rOQTW6ZmDMj97vsmtqwNS03JAwdLVES8eel2lD3rvAqQCNAFqaJ74NMacBI57vJg==",
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.29.1.tgz",
+ "integrity": "sha512-WXy9HMJVQaNUTPjmai330E2fnDA6W84l/vBILGkYu9yHXIpWw1gJYjdQWDfEhLFljYUHNTN9jM3GCej2T55m+g==",
"dev": true,
"dependencies": {
- "browser-sync-client": "^2.27.11",
- "browser-sync-ui": "^2.27.11",
+ "browser-sync-client": "^2.29.1",
+ "browser-sync-ui": "^2.29.1",
"bs-recipes": "1.3.4",
"bs-snippet-injector": "^2.0.1",
+ "chalk": "4.1.2",
"chokidar": "^3.5.1",
"connect": "3.6.6",
"connect-history-api-fallback": "^1",
"dev-ip": "^1.0.1",
"easy-extender": "^2.3.4",
- "eazy-logger": "3.1.0",
+ "eazy-logger": "^4.0.1",
"etag": "^1.8.1",
"fresh": "^0.5.2",
"fs-extra": "3.0.1",
@@ -5759,7 +5880,7 @@
"serve-static": "1.13.2",
"server-destroy": "1.0.1",
"socket.io": "^4.4.1",
- "ua-parser-js": "1.0.2",
+ "ua-parser-js": "^1.0.33",
"yargs": "^17.3.1"
},
"bin": {
@@ -5770,54 +5891,172 @@
}
},
"node_modules/browser-sync-client": {
- "version": "2.27.11",
- "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.11.tgz",
- "integrity": "sha512-okMNfD2NasL/XD1/BclP3onXjhahisk3e/kTQ5HPDT/lLqdBqNDd6QFcjI5I1ak7na2hxKQSLjryql+7fp5gKQ==",
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.29.1.tgz",
+ "integrity": "sha512-aESnjt3rU7CZpzjyqzhIC2UJ3MVhzRis7cPKkGbyYWDf/wnbxyRa3fFenF3Qx9061/guY3HHhD67uiTVV26DVg==",
"dev": true,
"dependencies": {
"etag": "1.8.1",
"fresh": "0.5.2",
- "mitt": "^1.1.3",
- "rxjs": "^5.5.6",
- "typescript": "^4.6.2"
+ "mitt": "^1.1.3"
},
"engines": {
"node": ">=8.0.0"
}
},
- "node_modules/browser-sync-client/node_modules/rxjs": {
- "version": "5.5.12",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz",
- "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==",
+ "node_modules/browser-sync-ui": {
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.29.1.tgz",
+ "integrity": "sha512-MB7SAiUgVUrhipO2xyO1sheC9H0+LKXPQ3L1tQWcZ3AgizBnUNKAqDZPSwe4grNSa8o8ImSAwJp7lMS6XYy1Dw==",
+ "dev": true,
+ "dependencies": {
+ "async-each-series": "0.1.1",
+ "chalk": "4.1.2",
+ "connect-history-api-fallback": "^1",
+ "immutable": "^3",
+ "server-destroy": "1.0.1",
+ "socket.io-client": "^4.4.1",
+ "stream-throttle": "^0.1.3"
+ }
+ },
+ "node_modules/browser-sync-ui/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": {
- "symbol-observable": "1.0.1"
+ "color-convert": "^2.0.1"
},
"engines": {
- "npm": ">=2.0.0"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/browser-sync-client/node_modules/symbol-observable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
- "integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==",
+ "node_modules/browser-sync-ui/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": ">=0.10.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/browser-sync-ui": {
- "version": "2.27.11",
- "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.11.tgz",
- "integrity": "sha512-1T/Y8Pp1R68aUL7zVSFq0nxtr258xWd/nTasCAHX2M6EsGaswVOFtXsw3bKqsr35z+J+LfVfOdz1HFLYKxdgrA==",
+ "node_modules/browser-sync-ui/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": {
- "async-each-series": "0.1.1",
- "connect-history-api-fallback": "^1",
- "immutable": "^3",
- "server-destroy": "1.0.1",
- "socket.io-client": "^4.4.1",
- "stream-throttle": "^0.1.3"
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/browser-sync-ui/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/browser-sync-ui/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/browser-sync-ui/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/browser-sync/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/browser-sync/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/browser-sync/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/browser-sync/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/browser-sync/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/browser-sync/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/browserslist": {
@@ -5884,15 +6123,6 @@
"ieee754": "^1.1.13"
}
},
- "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": "*"
- }
- },
"node_modules/buffer-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz",
@@ -5942,16 +6172,16 @@
}
},
"node_modules/cacache": {
- "version": "17.0.4",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz",
- "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==",
+ "version": "17.0.6",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.6.tgz",
+ "integrity": "sha512-ixcYmEBExFa/+ajIPjcwypxL97CjJyOsH9A/W+4qgEPIpJvKlC+HmVY8nkIck6n3PwUTdgq9c489niJGwl+5Cw==",
"dev": true,
"dependencies": {
"@npmcli/fs": "^3.1.0",
"fs-minipass": "^3.0.0",
- "glob": "^8.0.1",
+ "glob": "^10.2.2",
"lru-cache": "^7.7.1",
- "minipass": "^4.0.0",
+ "minipass": "^5.0.0",
"minipass-collect": "^1.0.2",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
@@ -5965,15 +6195,61 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/cacache/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/cacache/node_modules/glob": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.2.tgz",
+ "integrity": "sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==",
+ "dev": true,
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.0.3",
+ "minimatch": "^9.0.0",
+ "minipass": "^5.0.0",
+ "path-scurry": "^1.7.0"
+ },
+ "bin": {
+ "glob": "dist/cjs/src/bin.js"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/cacache/node_modules/lru-cache": {
- "version": "7.14.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz",
- "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==",
+ "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/cacache/node_modules/minimatch": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+ "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
@@ -6012,22 +6288,28 @@
"node": ">=8"
}
},
- "node_modules/cacheable-request/node_modules/lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "node_modules/cacheable-request/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/cachedir": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz",
- "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==",
+ "node_modules/cacheable-request/node_modules/lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
"dev": true,
"engines": {
- "node": ">=6"
+ "node": ">=8"
}
},
"node_modules/call-bind": {
@@ -6089,9 +6371,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001452",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001452.tgz",
- "integrity": "sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==",
+ "version": "1.0.30001482",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001482.tgz",
+ "integrity": "sha512-F1ZInsg53cegyjroxLNW9DmrEQ1SuGRTO1QlpA0o2/6OpQ0gFeDRoq1yFmnr8Sakn9qwwt9DmbxHB6w167OSuQ==",
"dev": true,
"funding": [
{
@@ -6101,15 +6383,13 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
]
},
- "node_modules/caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
- "dev": true
- },
"node_modules/cdocparser": {
"version": "0.13.0",
"resolved": "https://registry.npmjs.org/cdocparser/-/cdocparser-0.13.0.tgz",
@@ -6156,15 +6436,6 @@
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
- "node_modules/check-more-types": {
- "version": "2.24.0",
- "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz",
- "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -6216,19 +6487,10 @@
}
},
"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"
- }
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
},
"node_modules/class-utils": {
"version": "0.3.6",
@@ -6374,9 +6636,9 @@
}
},
"node_modules/cli-spinners": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz",
- "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
+ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
"dev": true,
"engines": {
"node": ">=6"
@@ -6385,37 +6647,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "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"
- }
- },
- "node_modules/cli-truncate": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
- "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
- "dev": true,
- "dependencies": {
- "slice-ansi": "^3.0.0",
- "string-width": "^4.2.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/cli-width": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
@@ -6426,17 +6657,14 @@
}
},
"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==",
+ "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.1",
+ "strip-ansi": "^6.0.0",
"wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
}
},
"node_modules/clone": {
@@ -6588,9 +6816,9 @@
"dev": true
},
"node_modules/colorette": {
- "version": "2.0.19",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
- "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
"dev": true
},
"node_modules/colors": {
@@ -6615,21 +6843,12 @@
}
},
"node_modules/commander": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
- "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/common-tags": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
- "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"dev": true,
"engines": {
- "node": ">=4.0.0"
+ "node": ">=14"
}
},
"node_modules/commondir": {
@@ -6826,12 +7045,6 @@
"bluebird": "^2.9.26"
}
},
- "node_modules/consolidate/node_modules/bluebird": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
- "integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==",
- "dev": true
- },
"node_modules/content-disposition": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -6942,9 +7155,9 @@
}
},
"node_modules/copy-webpack-plugin/node_modules/globby": {
- "version": "13.1.3",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz",
- "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==",
+ "version": "13.1.4",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz",
+ "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==",
"dev": true,
"dependencies": {
"dir-glob": "^3.0.1",
@@ -6981,9 +7194,9 @@
"hasInstallScript": true
},
"node_modules/core-js-compat": {
- "version": "3.28.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.28.0.tgz",
- "integrity": "sha512-myzPgE7QodMg4nnd3K1TDoES/nADRStM8Gpz0D6nhkwbmwEnE0ZGJgoWsvQ722FR8D7xS0n0LV556RcEicjTyg==",
+ "version": "3.30.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.1.tgz",
+ "integrity": "sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==",
"dev": true,
"dependencies": {
"browserslist": "^4.21.5"
@@ -7013,19 +7226,55 @@
}
},
"node_modules/cosmiconfig": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
- "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "version": "8.1.3",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz",
+ "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==",
"dev": true,
"dependencies": {
- "@types/parse-json": "^4.0.0",
"import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
"parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.10.0"
+ "path-type": "^4.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ }
+ },
+ "node_modules/cosmiconfig-typescript-loader": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz",
+ "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=12",
+ "npm": ">=6"
+ },
+ "peerDependencies": {
+ "@types/node": "*",
+ "cosmiconfig": ">=7",
+ "ts-node": ">=10",
+ "typescript": ">=3"
+ }
+ },
+ "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
+ },
+ "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"
}
},
"node_modules/create-require": {
@@ -7261,190 +7510,6 @@
"integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==",
"dev": true
},
- "node_modules/cypress": {
- "version": "12.6.0",
- "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.6.0.tgz",
- "integrity": "sha512-WdHSVaS1lumSd5XpVTslZd8ui9GIGphrzvXq9+3DtVhqjRZC5M70gu5SW/Y/SLPq3D1wiXGZoHC6HJ7ESVE2lw==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "@cypress/request": "^2.88.10",
- "@cypress/xvfb": "^1.2.4",
- "@types/node": "^14.14.31",
- "@types/sinonjs__fake-timers": "8.1.1",
- "@types/sizzle": "^2.3.2",
- "arch": "^2.2.0",
- "blob-util": "^2.0.2",
- "bluebird": "^3.7.2",
- "buffer": "^5.6.0",
- "cachedir": "^2.3.0",
- "chalk": "^4.1.0",
- "check-more-types": "^2.24.0",
- "cli-cursor": "^3.1.0",
- "cli-table3": "~0.6.1",
- "commander": "^5.1.0",
- "common-tags": "^1.8.0",
- "dayjs": "^1.10.4",
- "debug": "^4.3.4",
- "enquirer": "^2.3.6",
- "eventemitter2": "6.4.7",
- "execa": "4.1.0",
- "executable": "^4.1.1",
- "extract-zip": "2.0.1",
- "figures": "^3.2.0",
- "fs-extra": "^9.1.0",
- "getos": "^3.2.1",
- "is-ci": "^3.0.0",
- "is-installed-globally": "~0.4.0",
- "lazy-ass": "^1.6.0",
- "listr2": "^3.8.3",
- "lodash": "^4.17.21",
- "log-symbols": "^4.0.0",
- "minimist": "^1.2.6",
- "ospath": "^1.2.2",
- "pretty-bytes": "^5.6.0",
- "proxy-from-env": "1.0.0",
- "request-progress": "^3.0.0",
- "semver": "^7.3.2",
- "supports-color": "^8.1.1",
- "tmp": "~0.2.1",
- "untildify": "^4.0.0",
- "yauzl": "^2.10.0"
- },
- "bin": {
- "cypress": "bin/cypress"
- },
- "engines": {
- "node": "^14.0.0 || ^16.0.0 || >=18.0.0"
- }
- },
- "node_modules/cypress/node_modules/@types/node": {
- "version": "14.18.36",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz",
- "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==",
- "dev": true
- },
- "node_modules/cypress/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/cypress/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/cypress/node_modules/chalk/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/cypress/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/cypress/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/cypress/node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/cypress/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/cypress/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,
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/cypress/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/cypress/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/d": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
@@ -7467,18 +7532,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/date-format": {
"version": "4.0.14",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz",
@@ -7488,12 +7541,6 @@
"node": ">=4.0"
}
},
- "node_modules/dayjs": {
- "version": "1.11.7",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
- "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==",
- "dev": true
- },
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -7587,16 +7634,17 @@
}
},
"node_modules/deep-equal": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz",
- "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz",
+ "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==",
"dev": true,
"dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
"call-bind": "^1.0.2",
- "es-get-iterator": "^1.1.2",
- "get-intrinsic": "^1.1.3",
+ "es-get-iterator": "^1.1.3",
+ "get-intrinsic": "^1.2.0",
"is-arguments": "^1.1.1",
- "is-array-buffer": "^3.0.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",
@@ -7604,7 +7652,7 @@
"object-is": "^1.1.5",
"object-keys": "^1.1.1",
"object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
+ "regexp.prototype.flags": "^1.5.0",
"side-channel": "^1.0.4",
"which-boxed-primitive": "^1.0.2",
"which-collection": "^1.0.1",
@@ -7630,9 +7678,9 @@
"dev": true
},
"node_modules/deepmerge": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz",
- "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==",
+ "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,
"engines": {
"node": ">=0.10.0"
@@ -7662,50 +7710,6 @@
"node": ">= 10"
}
},
- "node_modules/default-gateway/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": {
- "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"
- }
- },
- "node_modules/default-gateway/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/default-gateway/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,
- "engines": {
- "node": ">=10.17.0"
- }
- },
"node_modules/default-resolution": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz",
@@ -7917,12 +7921,6 @@
"node": ">=8"
}
},
- "node_modules/dlv": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
- "dev": true
- },
"node_modules/dns-equal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
@@ -7930,9 +7928,9 @@
"dev": true
},
"node_modules/dns-packet": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz",
- "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==",
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz",
+ "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==",
"dev": true,
"dependencies": {
"@leichtgewicht/ip-codec": "^2.0.1"
@@ -8041,6 +8039,21 @@
"node": ">=8"
}
},
+ "node_modules/dotenv": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+ "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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
+ },
"node_modules/duplexer2": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
@@ -8090,6 +8103,12 @@
"node": ">=0.10.0"
}
},
+ "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
+ },
"node_modules/easy-extender": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz",
@@ -8103,25 +8122,85 @@
}
},
"node_modules/eazy-logger": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.1.0.tgz",
- "integrity": "sha512-/snsn2JqBtUSSstEl4R0RKjkisGHAhvYj89i7r3ytNUKW12y178KDZwXLXIgwDqLW6E/VRMT9qfld7wvFae8bQ==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-4.0.1.tgz",
+ "integrity": "sha512-2GSFtnnC6U4IEKhEI7+PvdxrmjJ04mdsj3wHZTFiw0tUtG4HCWzTr13ZYTk8XOGnA1xQMaDljoBOYlk3D/MMSw==",
"dev": true,
"dependencies": {
- "tfunk": "^4.0.0"
+ "chalk": "4.1.2"
},
"engines": {
"node": ">= 0.8.0"
}
},
- "node_modules/ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+ "node_modules/eazy-logger/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/eazy-logger/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/eazy-logger/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/eazy-logger/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/eazy-logger/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/eazy-logger/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": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/ee-first": {
@@ -8130,10 +8209,25 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
"dev": true
},
+ "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,
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/electron-to-chromium": {
- "version": "1.4.296",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.296.tgz",
- "integrity": "sha512-i/6Q+Y9bluDa2a0NbMvdtG5TuS/1Fr3TKK8L+7UUL9QjRS5iFJzCC3r70xjyOnLiYG8qGV4/mMpe6HuAbdJW4w==",
+ "version": "1.4.380",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.380.tgz",
+ "integrity": "sha512-XKGdI4pWM78eLH2cbXJHiBnWUwFSzZM7XujsB6stDiGu9AeSqziedP6amNLpJzE3i0rLTcfAwdCTs5ecP5yeSg==",
"dev": true
},
"node_modules/emoji-regex": {
@@ -8202,9 +8296,9 @@
}
},
"node_modules/engine.io": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.0.tgz",
- "integrity": "sha512-OgxY1c/RuCSeO/rTr8DIFXx76IzUUft86R7/P7MMbbkuzeqJoTNw2lmeD91IyGz41QYleIIjWeMJGgug043sfQ==",
+ "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==",
"dev": true,
"dependencies": {
"@types/cookie": "^0.4.1",
@@ -8245,9 +8339,9 @@
}
},
"node_modules/enhanced-resolve": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
- "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
+ "version": "5.13.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz",
+ "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.4",
@@ -8342,9 +8436,9 @@
}
},
"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==",
+ "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/es5-ext": {
@@ -8408,12 +8502,11 @@
}
},
"node_modules/esbuild": {
- "version": "0.17.8",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.8.tgz",
- "integrity": "sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz",
+ "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==",
"dev": true,
"hasInstallScript": true,
- "optional": true,
"bin": {
"esbuild": "bin/esbuild"
},
@@ -8421,34 +8514,34 @@
"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"
+ "@esbuild/android-arm": "0.17.18",
+ "@esbuild/android-arm64": "0.17.18",
+ "@esbuild/android-x64": "0.17.18",
+ "@esbuild/darwin-arm64": "0.17.18",
+ "@esbuild/darwin-x64": "0.17.18",
+ "@esbuild/freebsd-arm64": "0.17.18",
+ "@esbuild/freebsd-x64": "0.17.18",
+ "@esbuild/linux-arm": "0.17.18",
+ "@esbuild/linux-arm64": "0.17.18",
+ "@esbuild/linux-ia32": "0.17.18",
+ "@esbuild/linux-loong64": "0.17.18",
+ "@esbuild/linux-mips64el": "0.17.18",
+ "@esbuild/linux-ppc64": "0.17.18",
+ "@esbuild/linux-riscv64": "0.17.18",
+ "@esbuild/linux-s390x": "0.17.18",
+ "@esbuild/linux-x64": "0.17.18",
+ "@esbuild/netbsd-x64": "0.17.18",
+ "@esbuild/openbsd-x64": "0.17.18",
+ "@esbuild/sunos-x64": "0.17.18",
+ "@esbuild/win32-arm64": "0.17.18",
+ "@esbuild/win32-ia32": "0.17.18",
+ "@esbuild/win32-x64": "0.17.18"
}
},
"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==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.18.tgz",
+ "integrity": "sha512-h4m5zVa+KaDuRFIbH9dokMwovvkIjTQJS7/Ry+0Z1paVuS9aIkso2vdA2GmwH9GSvGX6w71WveJ3PfkoLuWaRw==",
"dev": true,
"bin": {
"esbuild": "bin/esbuild"
@@ -8599,12 +8692,15 @@
}
},
"node_modules/eslint": {
- "version": "8.34.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz",
- "integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz",
+ "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==",
"dev": true,
"dependencies": {
- "@eslint/eslintrc": "^1.4.1",
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.4.0",
+ "@eslint/eslintrc": "^2.0.2",
+ "@eslint/js": "8.39.0",
"@humanwhocodes/config-array": "^0.11.8",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
@@ -8614,11 +8710,10 @@
"debug": "^4.3.2",
"doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.1",
- "eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.3.0",
- "espree": "^9.4.0",
- "esquery": "^1.4.0",
+ "eslint-scope": "^7.2.0",
+ "eslint-visitor-keys": "^3.4.0",
+ "espree": "^9.5.1",
+ "esquery": "^1.4.2",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^6.0.1",
@@ -8639,7 +8734,6 @@
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
- "regexpp": "^3.2.0",
"strip-ansi": "^6.0.1",
"strip-json-comments": "^3.1.0",
"text-table": "^0.2.0"
@@ -8655,9 +8749,9 @@
}
},
"node_modules/eslint-scope": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
- "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
+ "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
"dev": true,
"dependencies": {
"esrecurse": "^4.3.0",
@@ -8665,42 +8759,21 @@
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/eslint-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
- "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "dev": true,
- "dependencies": {
- "eslint-visitor-keys": "^2.0.0"
- },
- "engines": {
- "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/mysticatea"
- },
- "peerDependencies": {
- "eslint": ">=5"
- }
- },
- "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true,
- "engines": {
- "node": ">=10"
+ "url": "https://opencollective.com/eslint"
}
},
"node_modules/eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz",
+ "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
"node_modules/eslint/node_modules/ajv": {
@@ -8926,14 +8999,14 @@
}
},
"node_modules/espree": {
- "version": "9.4.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
- "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
+ "version": "9.5.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz",
+ "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==",
"dev": true,
"dependencies": {
"acorn": "^8.8.0",
"acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.3.0"
+ "eslint-visitor-keys": "^3.4.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -8956,9 +9029,9 @@
}
},
"node_modules/esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
"dev": true,
"dependencies": {
"estraverse": "^5.1.0"
@@ -9040,12 +9113,6 @@
"integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==",
"dev": true
},
- "node_modules/eventemitter2": {
- "version": "6.4.7",
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
- "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==",
- "dev": true
- },
"node_modules/eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
@@ -9062,19 +9129,19 @@
}
},
"node_modules/execa": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
- "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
"dependencies": {
- "cross-spawn": "^7.0.0",
- "get-stream": "^5.0.0",
- "human-signals": "^1.1.1",
+ "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.0",
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
"strip-final-newline": "^2.0.0"
},
"engines": {
@@ -9084,16 +9151,16 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
- "node_modules/executable": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz",
- "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
+ "node_modules/execa/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,
- "dependencies": {
- "pify": "^2.2.0"
- },
"engines": {
- "node": ">=4"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/expand-brackets": {
@@ -9284,6 +9351,30 @@
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
"dev": true
},
+ "node_modules/express/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/express/node_modules/cookie": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
@@ -9350,6 +9441,36 @@
"node": ">= 0.8"
}
},
+ "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"
+ }
+ },
+ "node_modules/express/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,
+ "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/express/node_modules/send": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
@@ -9516,35 +9637,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "dev": true,
- "dependencies": {
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- },
- "bin": {
- "extract-zip": "cli.js"
- },
- "engines": {
- "node": ">= 10.17.0"
- },
- "optionalDependencies": {
- "@types/yauzl": "^2.9.1"
- }
- },
- "node_modules/extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ]
- },
"node_modules/fancy-log": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
@@ -9624,15 +9716,6 @@
"node": ">=0.8.0"
}
},
- "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,
- "dependencies": {
- "pend": "~1.2.0"
- }
- },
"node_modules/fflate": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz",
@@ -9672,6 +9755,36 @@
"dev": true,
"optional": true
},
+ "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,
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "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,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "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"
+ }
+ },
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -9943,6 +10056,15 @@
"node": ">= 0.10"
}
},
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true,
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
"node_modules/flat-cache": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
@@ -10022,27 +10144,46 @@
"node": ">=0.10.0"
}
},
- "node_modules/forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
+ "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,
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
"engines": {
- "node": "*"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/foreground-child/node_modules/signal-exit": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz",
+ "integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dev": true,
"dependencies": {
"asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
+ "combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
- "node": ">= 0.12"
+ "node": ">= 6"
}
},
"node_modules/forwarded": {
@@ -10088,6 +10229,12 @@
"node": ">= 0.6"
}
},
+ "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": "3.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
@@ -10100,12 +10247,12 @@
}
},
"node_modules/fs-minipass": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.1.tgz",
- "integrity": "sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz",
+ "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==",
"dev": true,
"dependencies": {
- "minipass": "^4.0.0"
+ "minipass": "^5.0.0"
},
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -10234,18 +10381,15 @@
}
},
"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==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
"dev": true,
"dependencies": {
"pump": "^3.0.0"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=6"
}
},
"node_modules/get-value": {
@@ -10257,24 +10401,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/getos": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz",
- "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==",
- "dev": true,
- "dependencies": {
- "async": "^3.2.0"
- }
- },
- "node_modules/getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- }
- },
"node_modules/glob": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
@@ -10510,7 +10636,7 @@
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
- "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
+ "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2",
"dev": true,
"hasInstallScript": true,
"optional": true,
@@ -10686,28 +10812,25 @@
}
},
"node_modules/global-dirs": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz",
- "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz",
+ "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==",
"dev": true,
"dependencies": {
- "ini": "2.0.0"
+ "ini": "1.3.7"
},
"engines": {
- "node": ">=10"
+ "node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/global-dirs/node_modules/ini": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
- "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
+ "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==",
+ "dev": true
},
"node_modules/global-modules": {
"version": "1.0.0",
@@ -10838,22 +10961,10 @@
"node": ">=8.6"
}
},
- "node_modules/got/node_modules/get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ "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
},
"node_modules/grapheme-splitter": {
@@ -11251,15 +11362,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/gulp-shell/node_modules/async": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.17.14"
- }
- },
"node_modules/gulp-shell/node_modules/extend-shallow": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
@@ -11480,27 +11582,6 @@
"node": ">= 0.4.0"
}
},
- "node_modules/has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-ansi/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/has-bigints": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
@@ -11699,9 +11780,9 @@
}
},
"node_modules/hosted-git-info/node_modules/lru-cache": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.17.0.tgz",
- "integrity": "sha512-zSxlVVwOabhVyTi6E8gYv2cr6bXK+8ifYz5/uyJb9feXX6NACVDwY4p5Ut3WC3Ivo/QhpARHU3iujx2xGAYHbQ==",
+ "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"
@@ -11790,9 +11871,9 @@
"dev": true
},
"node_modules/html-tags": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz",
- "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz",
+ "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
"dev": true,
"engines": {
"node": ">=8"
@@ -11908,20 +11989,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/http-signature": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz",
- "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0",
- "jsprim": "^2.0.2",
- "sshpk": "^1.14.1"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/https-proxy-agent": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
@@ -11936,12 +12003,12 @@
}
},
"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==",
+ "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,
"engines": {
- "node": ">=8.12.0"
+ "node": ">=10.17.0"
}
},
"node_modules/humanize-ms": {
@@ -12032,12 +12099,12 @@
"integrity": "sha512-q6thtu+7R6MOB+i9GorFPCcWeOImW43BzCAtKnDAYWwaoueb8Lg1EhBkIhAyfEIH+yZ/9c5lnZdU61/GRPoP+g=="
},
"node_modules/igniteui-webcomponents": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/igniteui-webcomponents/-/igniteui-webcomponents-4.2.1.tgz",
- "integrity": "sha512-B0E2/cdyDWEKNwj47Jz+Tl64BiHUMg/3x+8wm5F7aJA2PsgpTnDj+cxE3AGmn1Or7zMJaguPnbnQP6JH9LMAyQ==",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/igniteui-webcomponents/-/igniteui-webcomponents-4.2.3.tgz",
+ "integrity": "sha512-2SDxdmfTa1a9i8HaO7sXY6KvIwWH/aJyp4cUItpRn3X/7CfhcQjEZfrsPT8i3+Vy2iadwj2sI9THNdpxQeGduw==",
"dev": true,
"dependencies": {
- "@floating-ui/dom": "^1.1.0",
+ "@floating-ui/dom": "^1.2.0",
"@lit-labs/virtualizer": "^1.0.1",
"lit": "^2.6.1"
}
@@ -12052,12 +12119,12 @@
}
},
"node_modules/ignore-walk": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.1.tgz",
- "integrity": "sha512-/c8MxUAqpRccq+LyDOecwF+9KqajueJHh8fz7g3YqjMZt+NSfJzx05zrKiXwa2sKwFCzaiZ5qUVfRj0pmxixEA==",
+ "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,
"dependencies": {
- "minimatch": "^6.1.6"
+ "minimatch": "^9.0.0"
},
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -12073,15 +12140,15 @@
}
},
"node_modules/ignore-walk/node_modules/minimatch": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz",
- "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+ "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=16 || 14 >=14.17"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -12184,12 +12251,12 @@
"dev": true
},
"node_modules/ini": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz",
- "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-4.0.0.tgz",
+ "integrity": "sha512-t0ikzf5qkSFqRl1e6ejKBe+Tk2bsQd8ivEkcisyGXsku2t8NvXZ1Y3RRz5vxrDgOrTBOi13CvGsVoI5wVpd7xg==",
"dev": true,
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
"node_modules/injection-js": {
@@ -12286,9 +12353,9 @@
}
},
"node_modules/inquirer/node_modules/rxjs": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz",
- "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==",
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
"dev": true,
"dependencies": {
"tslib": "^2.1.0"
@@ -12404,13 +12471,13 @@
}
},
"node_modules/is-array-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz",
- "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==",
+ "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.1.3",
+ "get-intrinsic": "^1.2.0",
"is-typed-array": "^1.1.10"
},
"funding": {
@@ -12496,21 +12563,21 @@
}
},
"node_modules/is-ci": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
- "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
"dev": true,
"dependencies": {
- "ci-info": "^3.2.0"
+ "ci-info": "^2.0.0"
},
"bin": {
"is-ci": "bin.js"
}
},
"node_modules/is-core-module": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
- "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
+ "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==",
"dev": true,
"dependencies": {
"has": "^1.0.3"
@@ -12646,16 +12713,16 @@
}
},
"node_modules/is-installed-globally": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
- "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
+ "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==",
"dev": true,
"dependencies": {
- "global-dirs": "^3.0.0",
- "is-path-inside": "^3.0.2"
+ "global-dirs": "^2.0.1",
+ "is-path-inside": "^3.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -13035,12 +13102,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
- "dev": true
- },
"node_modules/istanbul": {
"version": "0.4.5",
"resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
@@ -13246,23 +13307,135 @@
"which": "bin/which"
}
},
+ "node_modules/jackspeak": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.0.tgz",
+ "integrity": "sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ==",
+ "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.5",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
+ "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+ "dev": true,
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ },
+ "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/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/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/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jake/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/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": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.5.0.tgz",
- "integrity": "sha512-9olGRvNZyADIwYL9XBNBst5BTU/YaePzuddK+YRslc7rI9MdTIE4r3xaBKbv2GEmzYYUfMOdTR8/i6JfLZaxSQ==",
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.6.0.tgz",
+ "integrity": "sha512-iq7HQ5M8ydNUspjd9vbFW9Lu+6lQ1QLDIqjl0WysEllF5EJZy8XaUyNlhCJVwOx2YFzqTtARWbS56F/f0PzRFw==",
"dev": true,
"dependencies": {
"glob": "^7.1.6",
- "jasmine-core": "^4.5.0"
+ "jasmine-core": "^4.6.0"
},
"bin": {
"jasmine": "bin/jasmine.js"
}
},
"node_modules/jasmine-core": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.5.0.tgz",
- "integrity": "sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==",
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz",
+ "integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==",
"dev": true
},
"node_modules/jasmine/node_modules/glob": {
@@ -13418,9 +13591,9 @@
}
},
"node_modules/js-sdsl": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz",
- "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
+ "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -13446,12 +13619,6 @@
"js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
- "dev": true
- },
"node_modules/jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -13476,12 +13643,6 @@
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
- "node_modules/json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "dev": true
- },
"node_modules/json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
@@ -13494,12 +13655,6 @@
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
"dev": true
},
- "node_modules/json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
- "dev": true
- },
"node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
@@ -13536,21 +13691,6 @@
"node >= 0.2.0"
]
},
- "node_modules/jsprim": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz",
- "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ],
- "dependencies": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
- }
- },
"node_modules/just-debounce": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz",
@@ -13558,9 +13698,9 @@
"dev": true
},
"node_modules/karma": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz",
- "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==",
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz",
+ "integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==",
"dev": true,
"dependencies": {
"@colors/colors": "1.5.0",
@@ -13596,9 +13736,9 @@
}
},
"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==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
+ "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
"dev": true,
"dependencies": {
"which": "^1.2.1"
@@ -13701,17 +13841,6 @@
"karma": ">=0.9"
}
},
- "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/connect": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
@@ -13799,9 +13928,9 @@
}
},
"node_modules/karma/node_modules/ua-parser-js": {
- "version": "0.7.33",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz",
- "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==",
+ "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,
"funding": [
{
@@ -13835,6 +13964,15 @@
"node": ">=10"
}
},
+ "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,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/keyv": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
@@ -13863,9 +14001,9 @@
}
},
"node_modules/known-css-properties": {
- "version": "0.26.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
- "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz",
+ "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==",
"dev": true
},
"node_modules/last-run": {
@@ -13893,13 +14031,14 @@
"node": ">=8"
}
},
- "node_modules/lazy-ass": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz",
- "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==",
+ "node_modules/launch-editor": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz",
+ "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==",
"dev": true,
- "engines": {
- "node": "> 0.8"
+ "dependencies": {
+ "picocolors": "^1.0.0",
+ "shell-quote": "^1.7.3"
}
},
"node_modules/lazystream": {
@@ -14103,9 +14242,9 @@
}
},
"node_modules/lilconfig": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
- "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
"dev": true,
"engines": {
"node": ">=10"
@@ -14118,72 +14257,40 @@
"dev": true
},
"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
- },
- "node_modules/listr2": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz",
- "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz",
+ "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==",
"dev": true,
- "dependencies": {
- "cli-truncate": "^2.1.0",
- "colorette": "^2.0.16",
- "log-update": "^4.0.0",
- "p-map": "^4.0.0",
- "rfdc": "^1.3.0",
- "rxjs": "^7.5.1",
- "through": "^2.3.8",
- "wrap-ansi": "^7.0.0"
- },
"engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "enquirer": ">= 2.3.0 < 3"
- },
- "peerDependenciesMeta": {
- "enquirer": {
- "optional": true
- }
- }
- },
- "node_modules/listr2/node_modules/rxjs": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz",
- "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==",
- "dev": true,
- "dependencies": {
- "tslib": "^2.1.0"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
"node_modules/lit": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/lit/-/lit-2.6.1.tgz",
- "integrity": "sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw==",
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.3.tgz",
+ "integrity": "sha512-0a+u+vVbmgSfPu+fyvqjMPBX0Kwbyj9QOv9MbQFZhWGlV2cyk3lEwgfUQgYN+i/lx++1Z3wZknSIp3QCKxHLyg==",
"dev": true,
"dependencies": {
"@lit/reactive-element": "^1.6.0",
- "lit-element": "^3.2.0",
- "lit-html": "^2.6.0"
+ "lit-element": "^3.3.0",
+ "lit-html": "^2.7.0"
}
},
"node_modules/lit-element": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.2.2.tgz",
- "integrity": "sha512-6ZgxBR9KNroqKb6+htkyBwD90XGRiqKDHVrW/Eh0EZ+l+iC+u+v+w3/BA5NGi4nizAVHGYvQBHUDuSmLjPp7NQ==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.2.tgz",
+ "integrity": "sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ==",
"dev": true,
"dependencies": {
+ "@lit-labs/ssr-dom-shim": "^1.1.0",
"@lit/reactive-element": "^1.3.0",
- "lit-html": "^2.2.0"
+ "lit-html": "^2.7.0"
}
},
"node_modules/lit-html": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.6.1.tgz",
- "integrity": "sha512-Z3iw+E+3KKFn9t2YKNjsXNEu/LRLI98mtH/C6lnFg7kvaqPIzPn124Yd4eT/43lyqrejpc5Wb6BHq3fdv4S8Rw==",
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.7.3.tgz",
+ "integrity": "sha512-9DyLzcn/kbRGowz2vFmSANFbRZTxYUgYYFqzie89w6GLpPUiBCDHfcdeRUV/k3Q2ueYxNjfv46yPCtKAEAPOVw==",
"dev": true,
"dependencies": {
"@types/trusted-types": "^2.0.2"
@@ -14217,6 +14324,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/load-json-file/node_modules/strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
+ "dev": true,
+ "dependencies": {
+ "is-utf8": "^0.2.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/loader-runner": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
@@ -14253,17 +14372,6 @@
"node": ">=8.3.0"
}
},
- "node_modules/localtunnel/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/localtunnel/node_modules/debug": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
@@ -14299,6 +14407,15 @@
"node": ">=12"
}
},
+ "node_modules/localtunnel/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,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -14519,12 +14636,6 @@
"integrity": "sha512-uNcV98/blRhInPUGQEnj9ekXXfG+q+rfoNSFZgl/eBfog9yBDW9gfUv2AHX/rAF7zZRlzWhbslGhbGQFZlCkZA==",
"dev": true
},
- "node_modules/lodash.once": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
- "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
- "dev": true
- },
"node_modules/lodash.support": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz",
@@ -14651,99 +14762,17 @@
"node": ">=8"
}
},
- "node_modules/log-update": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
- "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==",
- "dev": true,
- "dependencies": {
- "ansi-escapes": "^4.3.0",
- "cli-cursor": "^3.1.0",
- "slice-ansi": "^4.0.0",
- "wrap-ansi": "^6.2.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/log-update/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-update/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/log-update/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/log-update/node_modules/slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/log-update/node_modules/wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/log4js": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.1.tgz",
- "integrity": "sha512-lzbd0Eq1HRdWM2abSD7mk6YIVY0AogGJzb/z+lqzRk+8+XJP+M6L1MS5FUSc3jjGru4dbKjEMJmqlsoYYpuivQ==",
+ "version": "6.9.1",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz",
+ "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==",
"dev": true,
"dependencies": {
"date-format": "^4.0.14",
"debug": "^4.3.4",
"flatted": "^3.2.7",
"rfdc": "^1.3.0",
- "streamroller": "^3.1.3"
+ "streamroller": "^3.1.5"
},
"engines": {
"node": ">=8.0"
@@ -14789,9 +14818,9 @@
"dev": true
},
"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==",
+ "version": "0.30.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
+ "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
"dev": true,
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.13"
@@ -14921,9 +14950,9 @@
}
},
"node_modules/make-fetch-happen/node_modules/lru-cache": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.17.0.tgz",
- "integrity": "sha512-zSxlVVwOabhVyTi6E8gYv2cr6bXK+8ifYz5/uyJb9feXX6NACVDwY4p5Ut3WC3Ivo/QhpARHU3iujx2xGAYHbQ==",
+ "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"
@@ -15268,9 +15297,9 @@
}
},
"node_modules/memfs": {
- "version": "3.4.13",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz",
- "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==",
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz",
+ "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==",
"dev": true,
"dependencies": {
"fs-monkey": "^1.0.3"
@@ -15384,6 +15413,15 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
+ "node_modules/meow/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,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/merge": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz",
@@ -15494,9 +15532,9 @@
}
},
"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==",
+ "version": "2.7.5",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz",
+ "integrity": "sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ==",
"dev": true,
"dependencies": {
"schema-utils": "^4.0.0"
@@ -15563,9 +15601,9 @@
}
},
"node_modules/minipass": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.3.tgz",
- "integrity": "sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"dev": true,
"engines": {
"node": ">=8"
@@ -15816,6 +15854,15 @@
"mkdirp": "bin/cmd.js"
}
},
+ "node_modules/mrmime": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
+ "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -15868,10 +15915,16 @@
"optional": true
},
"node_modules/nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+ "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -15994,9 +16047,9 @@
"dev": true
},
"node_modules/ng-packagr": {
- "version": "15.1.2",
- "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-15.1.2.tgz",
- "integrity": "sha512-GpVySff7Wwx+eAW+HXkFD8et05UK0/usHnFEKznXhxmhML7XOGYaK74tAsgUwA06GUQofQH/VjdsBGi6XlVNjA==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-16.0.0.tgz",
+ "integrity": "sha512-PSgzS9WMypXyZbI5G54mNiarT54a3j5vf5pj84BOWJaSh6MbX3q49fR1ql41A+qtkPkG+e7xQ3IhMOnOMilobg==",
"dev": true,
"dependencies": {
"@rollup/plugin-json": "^6.0.0",
@@ -16011,8 +16064,8 @@
"convert-source-map": "^2.0.0",
"dependency-graph": "^0.11.0",
"esbuild-wasm": "^0.17.0",
+ "fast-glob": "^3.2.12",
"find-cache-dir": "^3.3.2",
- "glob": "^8.0.3",
"injection-js": "^2.4.0",
"jsonc-parser": "^3.2.0",
"less": "^4.1.3",
@@ -16028,16 +16081,16 @@
"ng-packagr": "cli/main.js"
},
"engines": {
- "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+ "node": "^16.14.0 || >=18.10.0"
},
"optionalDependencies": {
"esbuild": "^0.17.0"
},
"peerDependencies": {
- "@angular/compiler-cli": "^15.0.0 || ^15.1.0-next.0 || ^15.2.0-next.0",
+ "@angular/compiler-cli": "^16.0.0-next.0",
"tailwindcss": "^2.0.0 || ^3.0.0",
"tslib": "^2.3.0",
- "typescript": ">=4.8.2 <5.0"
+ "typescript": ">=4.9.3 <5.1"
},
"peerDependenciesMeta": {
"tailwindcss": {
@@ -16045,15 +16098,6 @@
}
}
},
- "node_modules/ng-packagr/node_modules/commander": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz",
- "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==",
- "dev": true,
- "engines": {
- "node": ">=14"
- }
- },
"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",
@@ -16061,9 +16105,9 @@
"dev": true
},
"node_modules/ng-packagr/node_modules/rxjs": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz",
- "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==",
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
"dev": true,
"dependencies": {
"tslib": "^2.1.0"
@@ -16097,8 +16141,7 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
- "dev": true,
- "optional": true
+ "dev": true
},
"node_modules/node-forge": {
"version": "1.3.1",
@@ -16138,7 +16181,6 @@
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz",
"integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==",
"dev": true,
- "optional": true,
"bin": {
"node-gyp-build": "bin.js",
"node-gyp-build-optional": "optional.js",
@@ -16264,9 +16306,9 @@
}
},
"node_modules/npm-install-checks": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.0.0.tgz",
- "integrity": "sha512-SBU9oFglRVZnfElwAtF14NivyulDqF1VKqqwNsFW9HDcbHMAPHpRSsVFgKuwFGq/hVvWZExz62Th0kvxn/XE7Q==",
+ "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==",
"dev": true,
"dependencies": {
"semver": "^7.1.1"
@@ -16276,9 +16318,9 @@
}
},
"node_modules/npm-normalize-package-bin": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz",
- "integrity": "sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==",
+ "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,
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -16327,13 +16369,13 @@
}
},
"node_modules/npm-registry-fetch": {
- "version": "14.0.3",
- "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz",
- "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==",
+ "version": "14.0.5",
+ "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz",
+ "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==",
"dev": true,
"dependencies": {
"make-fetch-happen": "^11.0.0",
- "minipass": "^4.0.0",
+ "minipass": "^5.0.0",
"minipass-fetch": "^3.0.0",
"minipass-json-stream": "^1.0.1",
"minizlib": "^2.1.2",
@@ -16345,18 +16387,18 @@
}
},
"node_modules/npm-registry-fetch/node_modules/lru-cache": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.17.0.tgz",
- "integrity": "sha512-zSxlVVwOabhVyTi6E8gYv2cr6bXK+8ifYz5/uyJb9feXX6NACVDwY4p5Ut3WC3Ivo/QhpARHU3iujx2xGAYHbQ==",
+ "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/npm-registry-fetch/node_modules/make-fetch-happen": {
- "version": "11.0.3",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz",
- "integrity": "sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==",
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+ "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
"dev": true,
"dependencies": {
"agentkeepalive": "^4.2.1",
@@ -16366,7 +16408,7 @@
"https-proxy-agent": "^5.0.0",
"is-lambda": "^1.0.1",
"lru-cache": "^7.7.1",
- "minipass": "^4.0.0",
+ "minipass": "^5.0.0",
"minipass-fetch": "^3.0.0",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
@@ -16380,12 +16422,12 @@
}
},
"node_modules/npm-registry-fetch/node_modules/minipass-fetch": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz",
- "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
+ "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
"dev": true,
"dependencies": {
- "minipass": "^4.0.0",
+ "minipass": "^5.0.0",
"minipass-sized": "^1.0.3",
"minizlib": "^2.1.2"
},
@@ -16469,66 +16511,356 @@
}
}
},
- "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==",
+ "node_modules/nunjucks/node_modules/commander": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 6"
}
},
- "node_modules/object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==",
+ "node_modules/nx": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/nx/-/nx-16.0.2.tgz",
+ "integrity": "sha512-8Z9Bo1D2VbYjyC/F2ONensKjm10snz1UfkzURZiFA+oXikBPldiH1u67TOTpoCYZfyYQg4l6h6EpOaAvHF6Abg==",
"dev": true,
+ "hasInstallScript": true,
"dependencies": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
+ "@nrwl/tao": "16.0.2",
+ "@parcel/watcher": "2.0.4",
+ "@yarnpkg/lockfile": "^1.1.0",
+ "@yarnpkg/parsers": "^3.0.0-rc.18",
+ "@zkochan/js-yaml": "0.0.6",
+ "axios": "^1.0.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "3.1.0",
+ "cli-spinners": "2.6.1",
+ "cliui": "^7.0.2",
+ "dotenv": "~10.0.0",
+ "enquirer": "~2.3.6",
+ "fast-glob": "3.2.7",
+ "figures": "3.2.0",
+ "flat": "^5.0.2",
+ "fs-extra": "^11.1.0",
+ "glob": "7.1.4",
+ "ignore": "^5.0.4",
+ "js-yaml": "4.1.0",
+ "jsonc-parser": "3.2.0",
+ "lines-and-columns": "~2.0.3",
+ "minimatch": "3.0.5",
+ "npm-run-path": "^4.0.1",
+ "open": "^8.4.0",
+ "semver": "7.3.4",
+ "string-width": "^4.2.3",
+ "strong-log-transformer": "^2.1.0",
+ "tar-stream": "~2.2.0",
+ "tmp": "~0.2.1",
+ "tsconfig-paths": "^4.1.2",
+ "tslib": "^2.3.0",
+ "v8-compile-cache": "2.3.0",
+ "yargs": "^17.6.2",
+ "yargs-parser": "21.1.1"
},
- "engines": {
- "node": ">=0.10.0"
+ "bin": {
+ "nx": "bin/nx.js"
+ },
+ "optionalDependencies": {
+ "@nx/nx-darwin-arm64": "16.0.2",
+ "@nx/nx-darwin-x64": "16.0.2",
+ "@nx/nx-linux-arm-gnueabihf": "16.0.2",
+ "@nx/nx-linux-arm64-gnu": "16.0.2",
+ "@nx/nx-linux-arm64-musl": "16.0.2",
+ "@nx/nx-linux-x64-gnu": "16.0.2",
+ "@nx/nx-linux-x64-musl": "16.0.2",
+ "@nx/nx-win32-arm64-msvc": "16.0.2",
+ "@nx/nx-win32-x64-msvc": "16.0.2"
+ },
+ "peerDependencies": {
+ "@swc-node/register": "^1.4.2",
+ "@swc/core": "^1.2.173"
+ },
+ "peerDependenciesMeta": {
+ "@swc-node/register": {
+ "optional": true
+ },
+ "@swc/core": {
+ "optional": true
+ }
}
},
- "node_modules/object-copy/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "node_modules/nx/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": {
- "is-descriptor": "^0.1.0"
+ "color-convert": "^2.0.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/object-copy/node_modules/is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "node_modules/nx/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
+ },
+ "node_modules/nx/node_modules/axios": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
+ "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
"dev": true,
"dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
}
},
- "node_modules/object-copy/node_modules/is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "node_modules/nx/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": {
- "kind-of": "^3.0.2"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-copy/node_modules/is-descriptor": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/nx/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/nx/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/nx/node_modules/fast-glob": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
+ "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nx/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,
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/nx/node_modules/glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/nx/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/nx/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"
+ }
+ },
+ "node_modules/nx/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,
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/nx/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/nx/node_modules/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/nx/node_modules/semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/nx/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/nx/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/nx/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/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,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==",
+ "dev": true,
+ "dependencies": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/is-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
@@ -16732,9 +17064,9 @@
}
},
"node_modules/open": {
- "version": "8.4.1",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz",
- "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==",
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
"dev": true,
"dependencies": {
"define-lazy-prop": "^2.0.0",
@@ -16915,12 +17247,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/ospath": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz",
- "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==",
- "dev": true
- },
"node_modules/p-cancelable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
@@ -17028,9 +17354,9 @@
}
},
"node_modules/pacote": {
- "version": "15.1.0",
- "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.0.tgz",
- "integrity": "sha512-FFcjtIl+BQNfeliSm7MZz5cpdohvUV1yjGnqgVM4UnVF7JslRY0ImXAygdaCDV0jjUADEWu4y5xsDV8brtrTLg==",
+ "version": "15.1.3",
+ "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.3.tgz",
+ "integrity": "sha512-aRts8cZqxiJVDitmAh+3z+FxuO3tLNWEmwDRPEpDDiZJaRz06clP4XX112ynMT5uF0QNoMPajBBHnaStUEPJXA==",
"dev": true,
"dependencies": {
"@npmcli/git": "^4.0.0",
@@ -17039,7 +17365,7 @@
"@npmcli/run-script": "^6.0.0",
"cacache": "^17.0.0",
"fs-minipass": "^3.0.0",
- "minipass": "^4.0.0",
+ "minipass": "^5.0.0",
"npm-package-arg": "^10.0.0",
"npm-packlist": "^7.0.0",
"npm-pick-manifest": "^8.0.0",
@@ -17048,7 +17374,7 @@
"promise-retry": "^2.0.1",
"read-package-json": "^6.0.0",
"read-package-json-fast": "^3.0.0",
- "sigstore": "^1.0.0",
+ "sigstore": "^1.3.0",
"ssri": "^10.0.0",
"tar": "^6.1.11"
},
@@ -17118,6 +17444,12 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/parse-json/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
+ },
"node_modules/parse-node-version": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
@@ -17157,9 +17489,9 @@
}
},
"node_modules/parse5-html-rewriting-stream/node_modules/entities": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz",
- "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==",
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"dev": true,
"engines": {
"node": ">=0.12"
@@ -17202,9 +17534,9 @@
}
},
"node_modules/parse5-sax-parser/node_modules/entities": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz",
- "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==",
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"dev": true,
"engines": {
"node": ">=0.12"
@@ -17303,6 +17635,31 @@
"node": ">=0.10.0"
}
},
+ "node_modules/path-scurry": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.7.0.tgz",
+ "integrity": "sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^9.0.0",
+ "minipass": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-scurry/node_modules/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,
+ "engines": {
+ "node": "14 || >=16.14"
+ }
+ },
"node_modules/path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
@@ -17318,18 +17675,6 @@
"node": ">=8"
}
},
- "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
- },
- "node_modules/performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
- "dev": true
- },
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -17444,15 +17789,6 @@
"npm": ">=1.0.0"
}
},
- "node_modules/portscanner/node_modules/async": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.17.14"
- }
- },
"node_modules/posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -17463,9 +17799,9 @@
}
},
"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==",
+ "version": "8.4.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz",
+ "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==",
"dev": true,
"funding": [
{
@@ -17475,10 +17811,14 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
- "nanoid": "^3.3.4",
+ "nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
@@ -17516,13 +17856,14 @@
}
},
"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==",
+ "version": "7.2.4",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.2.4.tgz",
+ "integrity": "sha512-F88rpxxNspo5hatIc+orYwZDtHFaVFOSIVAx+fBfJC1GmhWbVmPWtmg2gXKE1OxJbneOSGn8PWdIwsZFcruS+w==",
"dev": true,
"dependencies": {
- "cosmiconfig": "^7.0.0",
- "klona": "^2.0.5",
+ "cosmiconfig": "^8.1.3",
+ "cosmiconfig-typescript-loader": "^4.3.0",
+ "klona": "^2.0.6",
"semver": "^7.3.8"
},
"engines": {
@@ -17534,7 +17875,17 @@
},
"peerDependencies": {
"postcss": "^7.0.0 || ^8.0.1",
+ "ts-node": ">=10",
+ "typescript": ">=4",
"webpack": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ts-node": {
+ "optional": true
+ },
+ "typescript": {
+ "optional": true
+ }
}
},
"node_modules/postcss-media-query-parser": {
@@ -17647,9 +17998,9 @@
}
},
"node_modules/postcss-selector-parser": {
- "version": "6.0.11",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
- "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
+ "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==",
"dev": true,
"dependencies": {
"cssesc": "^3.0.0",
@@ -17829,9 +18180,9 @@
}
},
"node_modules/proxy-from-env": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
- "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==",
+ "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/prr": {
@@ -17841,12 +18192,6 @@
"dev": true,
"optional": true
},
- "node_modules/psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
- "dev": true
- },
"node_modules/pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
@@ -17919,9 +18264,9 @@
}
},
"node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "version": "6.11.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz",
+ "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==",
"dev": true,
"dependencies": {
"side-channel": "^1.0.4"
@@ -17981,9 +18326,9 @@
}
},
"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==",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
"dev": true,
"dependencies": {
"bytes": "3.1.2",
@@ -18032,12 +18377,12 @@
"dev": true
},
"node_modules/read-package-json": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.0.tgz",
- "integrity": "sha512-b/9jxWJ8EwogJPpv99ma+QwtqB7FSl3+V6UXS7Aaay8/5VwMY50oIFooY1UKXMWpfNCM6T/PoGqa5GD1g9xf9w==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.3.tgz",
+ "integrity": "sha512-4QbpReW4kxFgeBQ0vPAqh2y8sXEB3D4t3jsXbJKIhBiF80KT6XRo45reqwtftju5J6ru1ax06A2Gb/wM1qCOEQ==",
"dev": true,
"dependencies": {
- "glob": "^8.0.1",
+ "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"
@@ -18068,6 +18413,37 @@
"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.2.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.2.tgz",
+ "integrity": "sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==",
+ "dev": true,
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.0.3",
+ "minimatch": "^9.0.0",
+ "minipass": "^5.0.0",
+ "path-scurry": "^1.7.0"
+ },
+ "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",
@@ -18077,6 +18453,21 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/read-package-json/node_modules/minimatch": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+ "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
@@ -18155,9 +18546,9 @@
}
},
"node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "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",
@@ -18276,14 +18667,14 @@
"dev": true
},
"node_modules/regexp.prototype.flags": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
- "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz",
+ "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
+ "define-properties": "^1.2.0",
+ "functions-have-names": "^1.2.3"
},
"engines": {
"node": ">= 0.4"
@@ -18292,22 +18683,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- }
- },
"node_modules/regexpu-core": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.0.tgz",
- "integrity": "sha512-ZdhUQlng0RoscyW7jADnUZ25F5eVtHdMyXSb2PiwafvteRAOJUjFoUPEYZSIfP99fBIs3maLIRfpEddT78wAAQ==",
+ "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,
"dependencies": {
"@babel/regjsgen": "^0.8.0",
@@ -18449,15 +18828,6 @@
"node": ">= 0.10"
}
},
- "node_modules/request-progress": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz",
- "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==",
- "dev": true,
- "dependencies": {
- "throttleit": "^1.0.0"
- }
- },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -18489,12 +18859,12 @@
"dev": true
},
"node_modules/resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "version": "1.22.2",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
+ "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
"dev": true,
"dependencies": {
- "is-core-module": "^2.9.0",
+ "is-core-module": "^2.11.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -18705,9 +19075,9 @@
}
},
"node_modules/rollup": {
- "version": "3.15.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.15.0.tgz",
- "integrity": "sha512-F9hrCAhnp5/zx/7HYmftvsNBkMfLfk/dXUh73hPSM2E3CRgap65orDNJbLetoiUFwSAk6iHPLvBrZ5iHYvzqsg==",
+ "version": "3.21.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.3.tgz",
+ "integrity": "sha512-VnPfEG51nIv2xPLnZaekkuN06q9ZbnyDcLkaBdJa/W7UddyhOfMP2yOPziYQfeY7k++fZM8FdQIummFN5y14kA==",
"dev": true,
"bin": {
"rollup": "dist/bin/rollup"
@@ -18853,9 +19223,9 @@
"dev": true
},
"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==",
+ "version": "1.62.1",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz",
+ "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==",
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
@@ -18865,7 +19235,7 @@
"sass": "sass.js"
},
"engines": {
- "node": ">=12.0.0"
+ "node": ">=14.0.0"
}
},
"node_modules/sass-convert": {
@@ -18922,12 +19292,12 @@
}
},
"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==",
+ "version": "13.2.2",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.2.tgz",
+ "integrity": "sha512-nrIdVAAte3B9icfBiGWvmMhT/D+eCDwnk+yA7VE/76dp/WkHX+i44Q/pfo71NYbwj0Ap+PGsn0ekOuU1WFJ2AA==",
"dev": true,
"dependencies": {
- "klona": "^2.0.4",
+ "klona": "^2.0.6",
"neo-async": "^2.6.2"
},
"engines": {
@@ -18975,9 +19345,9 @@
}
},
"node_modules/sass/node_modules/immutable": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz",
- "integrity": "sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w=="
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
+ "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg=="
},
"node_modules/sassdoc": {
"version": "2.7.4",
@@ -19207,9 +19577,9 @@
}
},
"node_modules/sassdoc/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -19256,15 +19626,15 @@
"optional": true
},
"node_modules/schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz",
+ "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
+ "ajv": "^8.9.0",
"ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
+ "ajv-keywords": "^5.1.0"
},
"engines": {
"node": ">= 12.13.0"
@@ -19302,9 +19672,9 @@
}
},
"node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz",
+ "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -19685,10 +20055,19 @@
"node": ">=8"
}
},
+ "node_modules/shell-quote": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
+ "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/shiki": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.1.tgz",
- "integrity": "sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==",
+ "version": "0.14.2",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz",
+ "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==",
"dev": true,
"dependencies": {
"ansi-sequence-parser": "^1.1.0",
@@ -19718,13 +20097,14 @@
"dev": true
},
"node_modules/sigstore": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.0.0.tgz",
- "integrity": "sha512-e+qfbn/zf1+rCza/BhIA//Awmf0v1pa5HQS8Xk8iXrn9bgytytVLqYD0P7NSqZ6IELTgq+tcDvLPkQjNHyWLNg==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.4.0.tgz",
+ "integrity": "sha512-N7TRpSbFjY/TrFDg6yGAQSYBrQ5s6qmPiq4pD6fkv1LoyfMsLG0NwZWG2s5q+uttLHgyVyTa0Rogx2P78rN8kQ==",
"dev": true,
"dependencies": {
+ "@sigstore/protobuf-specs": "^0.1.0",
"make-fetch-happen": "^11.0.1",
- "tuf-js": "^1.0.0"
+ "tuf-js": "^1.1.3"
},
"bin": {
"sigstore": "bin/sigstore.js"
@@ -19734,18 +20114,18 @@
}
},
"node_modules/sigstore/node_modules/lru-cache": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.17.0.tgz",
- "integrity": "sha512-zSxlVVwOabhVyTi6E8gYv2cr6bXK+8ifYz5/uyJb9feXX6NACVDwY4p5Ut3WC3Ivo/QhpARHU3iujx2xGAYHbQ==",
+ "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/sigstore/node_modules/make-fetch-happen": {
- "version": "11.0.3",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz",
- "integrity": "sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==",
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+ "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
"dev": true,
"dependencies": {
"agentkeepalive": "^4.2.1",
@@ -19755,7 +20135,7 @@
"https-proxy-agent": "^5.0.0",
"is-lambda": "^1.0.1",
"lru-cache": "^7.7.1",
- "minipass": "^4.0.0",
+ "minipass": "^5.0.0",
"minipass-fetch": "^3.0.0",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
@@ -19769,12 +20149,12 @@
}
},
"node_modules/sigstore/node_modules/minipass-fetch": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz",
- "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
+ "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
"dev": true,
"dependencies": {
- "minipass": "^4.0.0",
+ "minipass": "^5.0.0",
"minipass-sized": "^1.0.3",
"minizlib": "^2.1.2"
},
@@ -19795,9 +20175,9 @@
}
},
"node_modules/slice-ansi": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
- "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.0.0",
@@ -19805,7 +20185,10 @@
"is-fullwidth-code-point": "^3.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
}
},
"node_modules/slice-ansi/node_modules/ansi-styles": {
@@ -20054,15 +20437,15 @@
}
},
"node_modules/socket.io": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.0.tgz",
- "integrity": "sha512-b65bp6INPk/BMMrIgVvX12x3Q+NqlGqSlTuvKQWt0BUJ3Hyy3JangBl7fEoWZTXbOKlCqNPbQ6MbWgok/km28w==",
+ "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==",
"dev": true,
"dependencies": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"debug": "~4.3.2",
- "engine.io": "~6.4.0",
+ "engine.io": "~6.4.1",
"socket.io-adapter": "~2.5.2",
"socket.io-parser": "~4.2.1"
},
@@ -20080,9 +20463,9 @@
}
},
"node_modules/socket.io-client": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.0.tgz",
- "integrity": "sha512-2XOp18xnGghUICSd5ziUIS4rB0dhr6S8OvAps8y+HhOjFQlqGcf+FIh6fCIsKKZyWFxJeFPrZRNPGsHDTsz1Ug==",
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz",
+ "integrity": "sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==",
"dev": true,
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
@@ -20252,9 +20635,9 @@
}
},
"node_modules/spdx-correct": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
- "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+ "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
"dev": true,
"dependencies": {
"spdx-expression-parse": "^3.0.0",
@@ -20278,9 +20661,9 @@
}
},
"node_modules/spdx-license-ids": {
- "version": "3.0.12",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
- "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==",
+ "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==",
"dev": true
},
"node_modules/spdy": {
@@ -20314,9 +20697,9 @@
}
},
"node_modules/spdy-transport/node_modules/readable-stream": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz",
- "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -20345,38 +20728,13 @@
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
"dev": true
},
- "node_modules/sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
- "dev": true,
- "dependencies": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- },
- "bin": {
- "sshpk-conv": "bin/sshpk-conv",
- "sshpk-sign": "bin/sshpk-sign",
- "sshpk-verify": "bin/sshpk-verify"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/ssri": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz",
- "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==",
+ "version": "10.0.4",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz",
+ "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==",
"dev": true,
"dependencies": {
- "minipass": "^4.0.0"
+ "minipass": "^5.0.0"
},
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -20534,9 +20892,9 @@
"dev": true
},
"node_modules/streamroller": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.4.tgz",
- "integrity": "sha512-Ha1Ccw2/N5C/IF8Do6zgNe8F3jQo8MPBnMBGvX0QjNv/I97BcNRzK6/mzOpZHHK7DjMLTI3c7Xw7Y1KvdChkvw==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz",
+ "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==",
"dev": true,
"dependencies": {
"date-format": "^4.0.14",
@@ -20599,6 +20957,21 @@
"node": ">=8"
}
},
+ "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,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -20611,16 +20984,26 @@
"node": ">=8"
}
},
- "node_modules/strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
+ "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,
"dependencies": {
- "is-utf8": "^0.2.0"
+ "ansi-regex": "^5.0.1"
},
"engines": {
- "node": ">=0.10.0"
+ "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"
}
},
"node_modules/strip-bom-string": {
@@ -20665,6 +21048,23 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/strong-log-transformer": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz",
+ "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==",
+ "dev": true,
+ "dependencies": {
+ "duplexer": "^0.1.1",
+ "minimist": "^1.2.0",
+ "through": "^2.3.4"
+ },
+ "bin": {
+ "sl-log-transformer": "bin/sl-log-transformer.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/style-search": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
@@ -20672,18 +21072,18 @@
"dev": true
},
"node_modules/stylelint": {
- "version": "15.1.0",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.1.0.tgz",
- "integrity": "sha512-Tw8OyIiYhxnIHUzgoLlCyWgCUKsPYiP3TDgs7M1VbayS+q5qZly2yxABg+YPe/hFRWiu0cOtptCtpyrn1CrnYw==",
+ "version": "15.6.1",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.6.1.tgz",
+ "integrity": "sha512-d8icFBlVl93Elf3Z5ABQNOCe4nx69is3D/NZhDLAie1eyYnpxfeKe7pCfqzT5W4F8vxHCLSDfV8nKNJzogvV2Q==",
"dev": true,
"dependencies": {
- "@csstools/css-parser-algorithms": "^2.0.1",
- "@csstools/css-tokenizer": "^2.0.1",
- "@csstools/media-query-list-parser": "^2.0.1",
- "@csstools/selector-specificity": "^2.1.1",
+ "@csstools/css-parser-algorithms": "^2.1.1",
+ "@csstools/css-tokenizer": "^2.1.1",
+ "@csstools/media-query-list-parser": "^2.0.4",
+ "@csstools/selector-specificity": "^2.2.0",
"balanced-match": "^2.0.0",
"colord": "^2.9.3",
- "cosmiconfig": "^8.0.0",
+ "cosmiconfig": "^8.1.3",
"css-functions-list": "^3.1.0",
"css-tree": "^2.3.1",
"debug": "^4.3.4",
@@ -20693,32 +21093,32 @@
"global-modules": "^2.0.0",
"globby": "^11.1.0",
"globjoin": "^0.1.4",
- "html-tags": "^3.2.0",
+ "html-tags": "^3.3.1",
"ignore": "^5.2.4",
"import-lazy": "^4.0.0",
"imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0",
- "known-css-properties": "^0.26.0",
+ "known-css-properties": "^0.27.0",
"mathml-tag-names": "^2.1.3",
"meow": "^9.0.0",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
"picocolors": "^1.0.0",
- "postcss": "^8.4.21",
+ "postcss": "^8.4.23",
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-safe-parser": "^6.0.0",
- "postcss-selector-parser": "^6.0.11",
+ "postcss-selector-parser": "^6.0.12",
"postcss-value-parser": "^4.2.0",
"resolve-from": "^5.0.0",
"string-width": "^4.2.3",
"strip-ansi": "^6.0.1",
"style-search": "^0.1.0",
- "supports-hyperlinks": "^2.3.0",
+ "supports-hyperlinks": "^3.0.0",
"svg-tags": "^1.0.0",
"table": "^6.8.1",
"v8-compile-cache": "^2.3.0",
- "write-file-atomic": "^5.0.0"
+ "write-file-atomic": "^5.0.1"
},
"bin": {
"stylelint": "bin/stylelint.js"
@@ -20732,48 +21132,26 @@
}
},
"node_modules/stylelint-scss": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.4.0.tgz",
- "integrity": "sha512-Qy66a+/30aylFhPmUArHhVsHOun1qrO93LGT15uzLuLjWS7hKDfpFm34mYo1ndR4MCo8W4bEZM1+AlJRJORaaw==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.7.0.tgz",
+ "integrity": "sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg==",
"dev": true,
"dependencies": {
- "lodash": "^4.17.21",
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1",
- "postcss-selector-parser": "^6.0.6",
- "postcss-value-parser": "^4.1.0"
+ "postcss-selector-parser": "^6.0.11",
+ "postcss-value-parser": "^4.2.0"
},
"peerDependencies": {
"stylelint": "^14.5.1 || ^15.0.0"
}
},
- "node_modules/stylelint/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
- },
"node_modules/stylelint/node_modules/balanced-match": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
"integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
"dev": true
},
- "node_modules/stylelint/node_modules/cosmiconfig": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.0.0.tgz",
- "integrity": "sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==",
- "dev": true,
- "dependencies": {
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=14"
- }
- },
"node_modules/stylelint/node_modules/global-modules": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
@@ -20806,18 +21184,6 @@
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true
},
- "node_modules/stylelint/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"
- }
- },
"node_modules/stylelint/node_modules/kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -20852,16 +21218,16 @@
}
},
"node_modules/supports-hyperlinks": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
- "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz",
+ "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==",
"dev": true,
"dependencies": {
"has-flag": "^4.0.0",
"supports-color": "^7.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14.18"
}
},
"node_modules/supports-hyperlinks/node_modules/has-flag": {
@@ -20938,80 +21304,60 @@
"node": ">=10.0.0"
}
},
- "node_modules/table/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==",
+ "node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
"dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "node": ">=6"
}
},
- "node_modules/table/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==",
+ "node_modules/tar": {
+ "version": "6.1.14",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.14.tgz",
+ "integrity": "sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==",
"dev": true,
"dependencies": {
- "color-name": "~1.1.4"
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
},
"engines": {
- "node": ">=7.0.0"
+ "node": ">=10"
}
},
- "node_modules/table/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/table/node_modules/slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "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": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
},
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "dev": true,
"engines": {
"node": ">=6"
}
},
- "node_modules/tar": {
- "version": "6.1.13",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz",
- "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==",
+ "node_modules/tar-stream/node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^4.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">= 6"
}
},
"node_modules/tar/node_modules/fs-minipass": {
@@ -21069,9 +21415,9 @@
}
},
"node_modules/terser": {
- "version": "5.16.3",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz",
- "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz",
+ "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==",
"dev": true,
"dependencies": {
"@jridgewell/source-map": "^0.3.2",
@@ -21087,16 +21433,16 @@
}
},
"node_modules/terser-webpack-plugin": {
- "version": "5.3.6",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz",
- "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==",
+ "version": "5.3.7",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz",
+ "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==",
"dev": true,
"dependencies": {
- "@jridgewell/trace-mapping": "^0.3.14",
+ "@jridgewell/trace-mapping": "^0.3.17",
"jest-worker": "^27.4.5",
"schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "terser": "^5.14.1"
+ "serialize-javascript": "^6.0.1",
+ "terser": "^5.16.5"
},
"engines": {
"node": ">= 10.13.0"
@@ -21152,9 +21498,9 @@
"dev": true
},
"node_modules/terser-webpack-plugin/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz",
+ "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.8",
@@ -21215,75 +21561,10 @@
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
- "node_modules/tfunk": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-4.0.0.tgz",
- "integrity": "sha512-eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ==",
- "dev": true,
- "dependencies": {
- "chalk": "^1.1.3",
- "dlv": "^1.1.3"
- }
- },
- "node_modules/tfunk/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/tfunk/node_modules/ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/tfunk/node_modules/chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/tfunk/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/tfunk/node_modules/supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/themeleon": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/themeleon/-/themeleon-3.0.2.tgz",
- "integrity": "sha512-QRN/beYfINibeg9U20vETTmXDq56AXyNJCbLp7uvqX5m/uoVvMwc/aUzxU4mlMyzN3Dl2inH8o4fMjEl2qEzJw==",
+ "node_modules/themeleon": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/themeleon/-/themeleon-3.0.2.tgz",
+ "integrity": "sha512-QRN/beYfINibeg9U20vETTmXDq56AXyNJCbLp7uvqX5m/uoVvMwc/aUzxU4mlMyzN3Dl2inH8o4fMjEl2qEzJw==",
"dev": true,
"dependencies": {
"ap": "^0.2.0",
@@ -21386,12 +21667,6 @@
"node": "*"
}
},
- "node_modules/throttleit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
- "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==",
- "dev": true
- },
"node_modules/through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
@@ -21557,19 +21832,6 @@
"node": ">=0.6"
}
},
- "node_modules/tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dev": true,
- "dependencies": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
"node_modules/tree-kill": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
@@ -21631,6 +21893,20 @@
}
}
},
+ "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/tslib": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
@@ -21658,40 +21934,31 @@
"dev": true
},
"node_modules/tuf-js": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.0.0.tgz",
- "integrity": "sha512-1dxsQwESDzACJjTdYHQ4wJ1f/of7jALWKfJEHSBWUQB/5UTJUx9SW6GHXp4mZ1KvdBRJCpGjssoPFGi4hvw8/A==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.5.tgz",
+ "integrity": "sha512-inqodgxdsmuxrtQVbu6tPNgRKWD1Boy3VB6GO7KczJZpAHiTukwhSzXUSzvDcw5pE2Jo8ua+e1ykpHv7VdPVlQ==",
"dev": true,
"dependencies": {
- "make-fetch-happen": "^11.0.1",
- "minimatch": "^6.1.0"
+ "@tufjs/models": "1.0.4",
+ "make-fetch-happen": "^11.1.0"
},
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/tuf-js/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
"node_modules/tuf-js/node_modules/lru-cache": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.17.0.tgz",
- "integrity": "sha512-zSxlVVwOabhVyTi6E8gYv2cr6bXK+8ifYz5/uyJb9feXX6NACVDwY4p5Ut3WC3Ivo/QhpARHU3iujx2xGAYHbQ==",
+ "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/tuf-js/node_modules/make-fetch-happen": {
- "version": "11.0.3",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz",
- "integrity": "sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==",
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+ "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
"dev": true,
"dependencies": {
"agentkeepalive": "^4.2.1",
@@ -21701,7 +21968,7 @@
"https-proxy-agent": "^5.0.0",
"is-lambda": "^1.0.1",
"lru-cache": "^7.7.1",
- "minipass": "^4.0.0",
+ "minipass": "^5.0.0",
"minipass-fetch": "^3.0.0",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
@@ -21714,28 +21981,13 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/tuf-js/node_modules/minimatch": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz",
- "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/tuf-js/node_modules/minipass-fetch": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz",
- "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
+ "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
"dev": true,
"dependencies": {
- "minipass": "^4.0.0",
+ "minipass": "^5.0.0",
"minipass-sized": "^1.0.3",
"minizlib": "^2.1.2"
},
@@ -21746,24 +21998,6 @@
"encoding": "^0.1.13"
}
},
- "node_modules/tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
- "dev": true
- },
"node_modules/type": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
@@ -21829,14 +22063,14 @@
}
},
"node_modules/typedoc": {
- "version": "0.23.25",
- "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.25.tgz",
- "integrity": "sha512-O1he153qVyoCgJYSvIyY3bPP1wAJTegZfa6tL3APinSZhJOf8CSd8F/21M6ex8pUY/fuY6n0jAsT4fIuMGA6sA==",
+ "version": "0.23.28",
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.28.tgz",
+ "integrity": "sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w==",
"dev": true,
"dependencies": {
"lunr": "^2.3.9",
"marked": "^4.2.12",
- "minimatch": "^6.1.6",
+ "minimatch": "^7.1.3",
"shiki": "^0.14.1"
},
"bin": {
@@ -21846,7 +22080,7 @@
"node": ">= 14.14"
},
"peerDependencies": {
- "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x"
+ "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x"
}
},
"node_modules/typedoc-plugin-localization": {
@@ -21903,9 +22137,9 @@
}
},
"node_modules/typedoc/node_modules/marked": {
- "version": "4.2.12",
- "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.12.tgz",
- "integrity": "sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==",
+ "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"
@@ -21915,9 +22149,9 @@
}
},
"node_modules/typedoc/node_modules/minimatch": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz",
- "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==",
+ "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"
@@ -21943,9 +22177,9 @@
}
},
"node_modules/ua-parser-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz",
- "integrity": "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==",
+ "version": "1.0.35",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz",
+ "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==",
"dev": true,
"funding": [
{
@@ -22200,15 +22434,6 @@
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
"dev": true
},
- "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"
- }
- },
"node_modules/upath": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
@@ -22220,9 +22445,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
- "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+ "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,
"funding": [
{
@@ -22232,6 +22457,10 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
@@ -22239,7 +22468,7 @@
"picocolors": "^1.0.0"
},
"bin": {
- "browserslist-lint": "cli.js"
+ "update-browserslist-db": "cli.js"
},
"peerDependencies": {
"browserslist": ">= 4.21.0"
@@ -22300,12 +22529,6 @@
"node": ">=8"
}
},
- "node_modules/update-notifier/node_modules/ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- },
"node_modules/update-notifier/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -22324,241 +22547,18387 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "node_modules/update-notifier/node_modules/global-dirs": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz",
- "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==",
+ "node_modules/update-notifier/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/update-notifier/node_modules/import-lazy": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
+ "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/update-notifier/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/upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==",
+ "dev": true
+ },
+ "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,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
+ "deprecated": "Please see https://github.com/lydell/urix#deprecated",
+ "dev": true
+ },
+ "node_modules/url-parse-lax": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
+ "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
+ "dev": true,
+ "dependencies": {
+ "prepend-http": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "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
+ },
+ "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,
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
+ "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "dev": true
+ },
+ "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==",
+ "dev": true
+ },
+ "node_modules/v8flags": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz",
+ "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
+ "dev": true,
+ "dependencies": {
+ "homedir-polyfill": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "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,
+ "dependencies": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "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,
+ "dependencies": {
+ "builtins": "^5.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/value-or-function": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
+ "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "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,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/vinyl": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz",
+ "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==",
+ "dev": true,
+ "dependencies": {
+ "clone": "^2.1.1",
+ "clone-buffer": "^1.0.0",
+ "clone-stats": "^1.0.0",
+ "cloneable-readable": "^1.0.0",
+ "remove-trailing-separator": "^1.0.1",
+ "replace-ext": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/vinyl-fs": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz",
+ "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==",
+ "dev": true,
+ "dependencies": {
+ "fs-mkdirp-stream": "^1.0.0",
+ "glob-stream": "^6.1.0",
+ "graceful-fs": "^4.0.0",
+ "is-valid-glob": "^1.0.0",
+ "lazystream": "^1.0.0",
+ "lead": "^1.0.0",
+ "object.assign": "^4.0.4",
+ "pumpify": "^1.3.5",
+ "readable-stream": "^2.3.3",
+ "remove-bom-buffer": "^3.0.0",
+ "remove-bom-stream": "^1.2.0",
+ "resolve-options": "^1.1.0",
+ "through2": "^2.0.0",
+ "to-through": "^2.0.0",
+ "value-or-function": "^3.0.0",
+ "vinyl": "^2.0.0",
+ "vinyl-sourcemap": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/vinyl-source-stream": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vinyl-source-stream/-/vinyl-source-stream-1.1.2.tgz",
+ "integrity": "sha512-X+1Jq+M6ufv/ky480hndPBsNb0ieqTQkvpakxMTxb7oUlyuNaJKL2HddYUrbTec0Lb0J53JlDiCetcgJ3b3Wmg==",
+ "dev": true,
+ "dependencies": {
+ "through2": "^2.0.3",
+ "vinyl": "^0.4.3"
+ }
+ },
+ "node_modules/vinyl-source-stream/node_modules/clone": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha512-g62n3Kb9cszeZvmvBUqP/dsEJD/+80pDA8u8KqHnAPrVnQ2Je9rVV6opxkhuWCd1kCn2gOibzDKxCtBvD3q5kA==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/vinyl-source-stream/node_modules/clone-stats": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
+ "dev": true
+ },
+ "node_modules/vinyl-source-stream/node_modules/vinyl": {
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha512-pmza4M5VA15HOImIQYWhoXGlGNafCm0QK5BpBUXkzzEwrRxKqBsbAhTfkT2zMcJhUX1G1Gkid0xaV8WjOl7DsA==",
+ "dev": true,
+ "dependencies": {
+ "clone": "^0.2.0",
+ "clone-stats": "^0.0.1"
+ },
+ "engines": {
+ "node": ">= 0.9"
+ }
+ },
+ "node_modules/vinyl-sourcemap": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
+ "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==",
+ "dev": true,
+ "dependencies": {
+ "append-buffer": "^1.0.2",
+ "convert-source-map": "^1.5.0",
+ "graceful-fs": "^4.1.6",
+ "normalize-path": "^2.1.1",
+ "now-and-later": "^2.0.0",
+ "remove-bom-buffer": "^3.0.0",
+ "vinyl": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/vinyl-sourcemap/node_modules/normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
+ "dev": true,
+ "dependencies": {
+ "remove-trailing-separator": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/vinyl-sourcemaps-apply": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
+ "integrity": "sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==",
+ "dev": true,
+ "dependencies": {
+ "source-map": "^0.5.1"
+ }
+ },
+ "node_modules/vinyl-sourcemaps-apply/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/vinyl-string": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/vinyl-string/-/vinyl-string-1.0.2.tgz",
+ "integrity": "sha512-mDkPUvCM7K9r0WYZKIWc/dfPH8wkJBbe/3wZUU9EJyw3g6VSACg6FLlcZ/QbP1lTSdtBsVjQoYG1a9K0cfoKeQ==",
+ "dev": true,
+ "dependencies": {
+ "vinyl": "^1.1.1"
+ }
+ },
+ "node_modules/vinyl-string/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"
+ }
+ },
+ "node_modules/vinyl-string/node_modules/clone-stats": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
+ "dev": true
+ },
+ "node_modules/vinyl-string/node_modules/replace-ext": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "integrity": "sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/vinyl-string/node_modules/vinyl": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha512-Ci3wnR2uuSAWFMSglZuB8Z2apBdtOyz8CV7dC6/U1XbltXBC+IuutUkXQISz01P+US2ouBuesSbV6zILZ6BuzQ==",
+ "dev": true,
+ "dependencies": {
+ "clone": "^1.0.0",
+ "clone-stats": "^0.0.1",
+ "replace-ext": "0.0.1"
+ },
+ "engines": {
+ "node": ">= 0.9"
+ }
+ },
+ "node_modules/vinyl/node_modules/replace-ext": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
+ "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/vite": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.1.tgz",
+ "integrity": "sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==",
+ "dev": true,
+ "dependencies": {
+ "esbuild": "^0.17.5",
+ "postcss": "^8.4.21",
+ "rollup": "^3.20.2"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "@types/node": ">= 14",
+ "less": "*",
+ "sass": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "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,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/vscode-oniguruma": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
+ "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
+ "dev": true
+ },
+ "node_modules/vscode-textmate": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
+ "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==",
+ "dev": true
+ },
+ "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,
+ "dependencies": {
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "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,
+ "dependencies": {
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "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,
+ "dependencies": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "node_modules/webpack": {
+ "version": "5.80.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.80.0.tgz",
+ "integrity": "sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==",
+ "dev": true,
+ "dependencies": {
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^1.0.0",
+ "@webassemblyjs/ast": "^1.11.5",
+ "@webassemblyjs/wasm-edit": "^1.11.5",
+ "@webassemblyjs/wasm-parser": "^1.11.5",
+ "acorn": "^8.7.1",
+ "acorn-import-assertions": "^1.7.6",
+ "browserslist": "^4.14.5",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.13.0",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.9",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.1.2",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.7",
+ "watchpack": "^2.4.0",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-dev-middleware": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.2.tgz",
+ "integrity": "sha512-iOddiJzPcQC6lwOIu60vscbGWth8PCRcWRCwoQcTQf9RMoOWBHg5EyzpGdtSmGMrSPd5vHEfFXmVErQEmkRngQ==",
+ "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/webpack-dev-server": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.2.tgz",
+ "integrity": "sha512-5i6TrGBRxG4vnfDpB6qSQGfnB6skGBXNL5/542w2uRGLimX6qeE5BQMLrzIC3JYV/xlGOv+s+hTleI9AZKUQNw==",
+ "dev": true,
+ "dependencies": {
+ "@types/bonjour": "^3.5.9",
+ "@types/connect-history-api-fallback": "^1.3.5",
+ "@types/express": "^4.17.13",
+ "@types/serve-index": "^1.9.1",
+ "@types/serve-static": "^1.13.10",
+ "@types/sockjs": "^0.3.33",
+ "@types/ws": "^8.5.1",
+ "ansi-html-community": "^0.0.8",
+ "bonjour-service": "^1.0.11",
+ "chokidar": "^3.5.3",
+ "colorette": "^2.0.10",
+ "compression": "^1.7.4",
+ "connect-history-api-fallback": "^2.0.0",
+ "default-gateway": "^6.0.3",
+ "express": "^4.17.3",
+ "graceful-fs": "^4.2.6",
+ "html-entities": "^2.3.2",
+ "http-proxy-middleware": "^2.0.3",
+ "ipaddr.js": "^2.0.1",
+ "launch-editor": "^2.6.0",
+ "open": "^8.0.9",
+ "p-retry": "^4.5.0",
+ "rimraf": "^3.0.2",
+ "schema-utils": "^4.0.0",
+ "selfsigned": "^2.1.1",
+ "serve-index": "^1.9.1",
+ "sockjs": "^0.3.24",
+ "spdy": "^4.0.2",
+ "webpack-dev-middleware": "^5.3.1",
+ "ws": "^8.13.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": {
+ "optional": true
+ },
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-dev-server/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,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "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-dev-server/node_modules/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,
+ "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/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,
+ "dependencies": {
+ "clone-deep": "^4.0.1",
+ "wildcard": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "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,
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "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,
+ "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/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/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/webpack/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/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.1.2",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz",
+ "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==",
+ "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/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,
+ "dependencies": {
+ "http-parser-js": ">=0.5.1",
+ "safe-buffer": ">=5.1.0",
+ "websocket-extensions": ">=0.1.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "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,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "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-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==",
+ "dev": true
+ },
+ "node_modules/which-typed-array": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
+ "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
+ "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",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "node_modules/widest-line": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
+ "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "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,
+ "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": {
+ "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,
+ "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": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/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"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/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
+ },
+ "node_modules/write-file-atomic": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
+ "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/write-file-atomic/node_modules/signal-exit": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz",
+ "integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "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/xdg-basedir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
+ "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/xmlbuilder": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-12.0.0.tgz",
+ "integrity": "sha512-lMo8DJ8u6JRWp0/Y4XLa/atVDr75H9litKlb2E5j3V3MesoL50EBgZDWoLT3F/LztVnG67GjPXLZpqcky/UMnQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "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"
+ }
+ },
+ "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,
+ "dependencies": {
+ "cuint": "^0.2.2"
+ }
+ },
+ "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,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "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,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "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,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs/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"
+ }
+ },
+ "node_modules/yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "dev": true,
+ "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"
+ }
+ },
+ "node_modules/zone.js": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.0.tgz",
+ "integrity": "sha512-7m3hNNyswsdoDobCkYNAy5WiUulkMd3+fWaGT9ij6iq3Zr/IwJo4RMCYPSDjT+r7tnPErmY9sZpKhWQ8S5k6XQ==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ }
+ }
+ },
+ "dependencies": {
+ "@ampproject/remapping": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
+ "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "@angular-devkit/architect": {
+ "version": "0.1600.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.0.tgz",
+ "integrity": "sha512-nYRcqAxZnndhAEpSpJ1U2TScs2huu674OKrsEyJTqLEANEyCPBnusAmS9HcGzMBgePAwNElqOKrr5/f1DbYq1A==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "16.0.0",
+ "rxjs": "7.8.1"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ }
+ }
+ },
+ "@angular-devkit/build-angular": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.0.0.tgz",
+ "integrity": "sha512-OvDQAbrV3cUMfHws30MnDURsXselZ0GWhSxZjOdcD3cF64Nsq5ywftHOT+QC3YdDghwI8gMADN9et+aVDscBzQ==",
+ "dev": true,
+ "requires": {
+ "@ampproject/remapping": "2.2.1",
+ "@angular-devkit/architect": "0.1600.0",
+ "@angular-devkit/build-webpack": "0.1600.0",
+ "@angular-devkit/core": "16.0.0",
+ "@babel/core": "7.21.4",
+ "@babel/generator": "7.21.4",
+ "@babel/helper-annotate-as-pure": "7.18.6",
+ "@babel/helper-split-export-declaration": "7.18.6",
+ "@babel/plugin-proposal-async-generator-functions": "7.20.7",
+ "@babel/plugin-transform-async-to-generator": "7.20.7",
+ "@babel/plugin-transform-runtime": "7.21.4",
+ "@babel/preset-env": "7.21.4",
+ "@babel/runtime": "7.21.0",
+ "@babel/template": "7.20.7",
+ "@discoveryjs/json-ext": "0.5.7",
+ "@ngtools/webpack": "16.0.0",
+ "@vitejs/plugin-basic-ssl": "1.0.1",
+ "ansi-colors": "4.1.3",
+ "autoprefixer": "10.4.14",
+ "babel-loader": "9.1.2",
+ "babel-plugin-istanbul": "6.1.1",
+ "browserslist": "4.21.5",
+ "cacache": "17.0.6",
+ "chokidar": "3.5.3",
+ "copy-webpack-plugin": "11.0.0",
+ "critters": "0.0.16",
+ "css-loader": "6.7.3",
+ "esbuild": "0.17.18",
+ "esbuild-wasm": "0.17.18",
+ "glob": "8.1.0",
+ "https-proxy-agent": "5.0.1",
+ "inquirer": "8.2.4",
+ "jsonc-parser": "3.2.0",
+ "karma-source-map-support": "1.4.0",
+ "less": "4.1.3",
+ "less-loader": "11.1.0",
+ "license-webpack-plugin": "4.0.2",
+ "loader-utils": "3.2.1",
+ "magic-string": "0.30.0",
+ "mini-css-extract-plugin": "2.7.5",
+ "mrmime": "1.0.1",
+ "open": "8.4.2",
+ "ora": "5.4.1",
+ "parse5-html-rewriting-stream": "7.0.0",
+ "piscina": "3.2.0",
+ "postcss": "8.4.23",
+ "postcss-loader": "7.2.4",
+ "resolve-url-loader": "5.0.0",
+ "rxjs": "7.8.1",
+ "sass": "1.62.1",
+ "sass-loader": "13.2.2",
+ "semver": "7.4.0",
+ "source-map-loader": "4.0.1",
+ "source-map-support": "0.5.21",
+ "terser": "5.17.1",
+ "text-table": "0.2.0",
+ "tree-kill": "1.2.2",
+ "tslib": "2.5.0",
+ "vite": "4.3.1",
+ "webpack": "5.80.0",
+ "webpack-dev-middleware": "6.0.2",
+ "webpack-dev-server": "4.13.2",
+ "webpack-merge": "5.8.0",
+ "webpack-subresource-integrity": "5.1.0"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ }
+ }
+ },
+ "@angular-devkit/build-webpack": {
+ "version": "0.1600.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1600.0.tgz",
+ "integrity": "sha512-ZlNNMtAzgMCsaN5crkqtgeYxWEyZ78/ePfrJTB3+Hb6LS+hsRf4WAYubHWRWReSx87ppluRrgNZLy0K9ooWy1w==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/architect": "0.1600.0",
+ "rxjs": "7.8.1"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ }
+ }
+ },
+ "@angular-devkit/core": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.0.tgz",
+ "integrity": "sha512-YJKvAJlg4/lfP93pQNawlOTQalynWGpoatZU+1aXBgRh5YCTKu2S/A3gtQ71DBuhac76gJe1RpxDoq41kB2KlQ==",
+ "dev": true,
+ "requires": {
+ "ajv": "8.12.0",
+ "ajv-formats": "2.1.1",
+ "jsonc-parser": "3.2.0",
+ "rxjs": "7.8.1",
+ "source-map": "0.7.4"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ }
+ }
+ },
+ "@angular-devkit/schematics": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.0.0.tgz",
+ "integrity": "sha512-9uFOqjOQdhnpxU5mku2LvBkV5Ave2ihHBFaQCH7vQ7DD+p4NpLHu93bMSh+f7k9W7F0lY18g9qrihRgK/7wfuA==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "16.0.0",
+ "jsonc-parser": "3.2.0",
+ "magic-string": "0.30.0",
+ "ora": "5.4.1",
+ "rxjs": "7.8.1"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ }
+ }
+ },
+ "@angular-eslint/builder": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.0.1.tgz",
+ "integrity": "sha512-yjFltV+r3YjisVjASMPmWB/ASz39wdh0q5g0l6/4G+8yaxl6hEYs5o0ZOGeGdTFstCql8FGY+QKwKgsq9Ec4QQ==",
+ "dev": true,
+ "requires": {
+ "@nx/devkit": "16.0.2",
+ "nx": "16.0.2"
+ }
+ },
+ "@angular-eslint/bundled-angular-compiler": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.0.1.tgz",
+ "integrity": "sha512-amvTgKHtZoygivW3LAYZ9qjLWsXM7/7eaRvaHdmAEdjyFnYQZ7UbWMPSQNz1mlW/AzTFvk9lGGQORglNOSDnww==",
+ "dev": true
+ },
+ "@angular-eslint/eslint-plugin": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.0.1.tgz",
+ "integrity": "sha512-CM9keS9cH1QAfSVfsvhw/oGCZcP/D8gfekWwVNjN/uEMEAak0czn1KOG7JQkE36NXOGtwCpTspMi1aa9CVKo9g==",
+ "dev": true,
+ "requires": {
+ "@angular-eslint/utils": "16.0.1",
+ "@typescript-eslint/utils": "5.59.2"
+ }
+ },
+ "@angular-eslint/eslint-plugin-template": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.0.1.tgz",
+ "integrity": "sha512-1hyfs+Iq7K2x3mDDE4985d8vDcMyknbE9HKHKUtRLfLKC9gnV3N5d4+UeySQ7Rrjvgzkc1g9qHADyuhwRWpDSA==",
+ "dev": true,
+ "requires": {
+ "@angular-eslint/bundled-angular-compiler": "16.0.1",
+ "@angular-eslint/utils": "16.0.1",
+ "@typescript-eslint/type-utils": "5.59.2",
+ "@typescript-eslint/utils": "5.59.2",
+ "aria-query": "5.1.3",
+ "axobject-query": "3.1.1"
+ }
+ },
+ "@angular-eslint/schematics": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.0.1.tgz",
+ "integrity": "sha512-1oJJEWVbgPkNK1E8rAJfrgxzNWWzJKv3frTHeAm8gvZ7GftYhHjDcrcnxLWrYNxb9+q8Awi0hvGta/4HROmmnA==",
+ "dev": true,
+ "requires": {
+ "@angular-eslint/eslint-plugin": "16.0.1",
+ "@angular-eslint/eslint-plugin-template": "16.0.1",
+ "@nx/devkit": "16.0.2",
+ "ignore": "5.2.4",
+ "nx": "16.0.2",
+ "strip-json-comments": "3.1.1",
+ "tmp": "0.2.1"
+ }
+ },
+ "@angular-eslint/template-parser": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.0.1.tgz",
+ "integrity": "sha512-x0+SwSeqa3TiVZan6fE5grHsCkjGqU+zAS2DB6wAw5pyvgNAIjrI4cZEQ8pkgHfXe5tuumTKztlkpisah5s/hg==",
+ "dev": true,
+ "requires": {
+ "@angular-eslint/bundled-angular-compiler": "16.0.1",
+ "eslint-scope": "^7.0.0"
+ }
+ },
+ "@angular-eslint/utils": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.0.1.tgz",
+ "integrity": "sha512-2xnJuhIrMZEYK6UyBym6FaFXZgopIIbqfQ4sAtMWY6zYkCEsVUvx5qKIrsnXAwvpDQrv0WiMXteqi/5ICpVMZQ==",
+ "dev": true,
+ "requires": {
+ "@angular-eslint/bundled-angular-compiler": "16.0.1",
+ "@typescript-eslint/utils": "5.59.2"
+ }
+ },
+ "@angular/animations": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.0.0.tgz",
+ "integrity": "sha512-Xx4Ffdo3sweg24MDVAXbDfxqkNPEuRgqOC1+f9171kf+w7cBEr4Bmy37DP7YkJceaU0xJH9imcx4708KeIjqkQ==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ },
+ "@angular/cli": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.0.0.tgz",
+ "integrity": "sha512-vsveaSJ5kj0MeJCg1nir5iJJEsdrRRnyNeL1awMcyrEjAhBPX3d0gfOP2fe0HR5KJtntX8zvihGus3i48Quo7A==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/architect": "0.1600.0",
+ "@angular-devkit/core": "16.0.0",
+ "@angular-devkit/schematics": "16.0.0",
+ "@schematics/angular": "16.0.0",
+ "@yarnpkg/lockfile": "1.1.0",
+ "ansi-colors": "4.1.3",
+ "ini": "4.0.0",
+ "inquirer": "8.2.4",
+ "jsonc-parser": "3.2.0",
+ "npm-package-arg": "10.1.0",
+ "npm-pick-manifest": "8.0.1",
+ "open": "8.4.2",
+ "ora": "5.4.1",
+ "pacote": "15.1.3",
+ "resolve": "1.22.2",
+ "semver": "7.4.0",
+ "symbol-observable": "4.0.0",
+ "yargs": "17.7.2"
+ }
+ },
+ "@angular/common": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.0.0.tgz",
+ "integrity": "sha512-at3/xCevf2t9swX2P7K7gaSBuQPy7ZJsf37qQkYIuczzfij69r7s9NjYeA74/q3EWG9Yl2DCrhYoCW7ViXQINQ==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ },
+ "@angular/compiler": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.0.0.tgz",
+ "integrity": "sha512-xtg+KRvSeB9DUzMDtvlaRGKv+Y0MERsz+JOoqV9H4606ThNz5h8ih6fEhVKYqG100o7GhdJaVFO+vlr2/edUHA==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ },
+ "@angular/compiler-cli": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.0.0.tgz",
+ "integrity": "sha512-oyJzxiTHxziv7mD0QuA7K6tpDoL6YNGPkquKjeJjNVZvUrodGsvJ8xHO4ydmjK3nMu2ET1YarsdI8bRp4vp/7w==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "7.19.3",
+ "@jridgewell/sourcemap-codec": "^1.4.14",
+ "chokidar": "^3.0.0",
+ "convert-source-map": "^1.5.1",
+ "reflect-metadata": "^0.1.2",
+ "semver": "^7.0.0",
+ "tslib": "^2.3.0",
+ "yargs": "^17.2.1"
+ },
+ "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
+ }
+ }
+ }
+ }
+ },
+ "@angular/core": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.0.0.tgz",
+ "integrity": "sha512-scppDxtXubum6ZiGu3ogmReBtMuA5XXk5FL3YKLb3c9O7q9Z5PC8KNQ6SsaOwEb6oW+0BWXMV698p/zmd0J4tA==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ },
+ "@angular/forms": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.0.0.tgz",
+ "integrity": "sha512-avpreXyDYWf44RNM5hfi5cTXXiNwcajBURP5rLap8RPMSUi2ePlJsmi0O+3+GduNZFbtnRXIpKTj3W+GeNa0PA==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ },
+ "@angular/language-service": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-16.0.0.tgz",
+ "integrity": "sha512-jySin8NdZIfcvwyemh2kRVveOvL1SPvywmIrv/6+MbKebG9Oc+casxruoRai8gh8bhahdpUAOG0t8wbedUWcxw==",
+ "dev": true
+ },
+ "@angular/platform-browser": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.0.0.tgz",
+ "integrity": "sha512-6LpgLfEnumKMKM/S9joWrVSm4MdFuIjddFmlSG7zGcRqwM0N8doH/YkuwTK8/t9q8wI/yztp6qM2pg25Pgv1XA==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ },
+ "@angular/platform-browser-dynamic": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.0.0.tgz",
+ "integrity": "sha512-xUR36r+7hFQjAb0RA0VFfWrCLj2VnWg0xJgPe4FQmwaEWjKMc011tkJXs0PApaiTxvE0W08nadSDTu5jfsBrFw==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ },
+ "@angular/router": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.0.0.tgz",
+ "integrity": "sha512-+5gjJwFx3AFGv7OnY53pfUzaPbWe5gOVQWXAnlUuk6tsQmWJBMehuCQ5ZO5cxViQDZkyvNALzoUeU6aKWmNqmg==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ },
+ "@angularclass/hmr": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@angularclass/hmr/-/hmr-3.0.0.tgz",
+ "integrity": "sha512-4A/DKmSafWUcffv7f536oY6RbpXEAD7f0NCGVLlRj9Gna8dkGc9JOHSr3NCWHd/NRc4ey8x+V0itsBqlPxEJ/A==",
+ "dev": true
+ },
+ "@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
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.18.6"
+ }
+ },
+ "@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==",
+ "dev": true
+ },
+ "@babel/core": {
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz",
+ "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==",
+ "dev": true,
+ "requires": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.21.4",
+ "@babel/generator": "^7.21.4",
+ "@babel/helper-compilation-targets": "^7.21.4",
+ "@babel/helper-module-transforms": "^7.21.2",
+ "@babel/helpers": "^7.21.0",
+ "@babel/parser": "^7.21.4",
+ "@babel/template": "^7.20.7",
+ "@babel/traverse": "^7.21.4",
+ "@babel/types": "^7.21.4",
+ "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
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz",
+ "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.21.4",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.18.6"
+ }
+ },
+ "@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"
+ }
+ },
+ "@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==",
+ "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
+ }
+ }
+ },
+ "@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==",
+ "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
+ }
+ }
+ },
+ "@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==",
+ "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
+ }
+ }
+ },
+ "@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-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
+ }
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.20.7",
+ "@babel/types": "^7.21.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"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.21.5"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.21.4"
+ }
+ },
+ "@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==",
+ "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"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.18.6"
+ }
+ },
+ "@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==",
+ "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"
+ }
+ },
+ "@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==",
+ "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"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.21.5"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.20.0"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.18.6"
+ }
+ },
+ "@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==",
+ "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
+ },
+ "@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
+ },
+ "@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==",
+ "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"
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz",
+ "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.20.7",
+ "@babel/traverse": "^7.21.5",
+ "@babel/types": "^7.21.5"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@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"
+ }
+ },
+ "@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"
+ }
+ },
+ "@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"
+ }
+ },
+ "@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"
+ }
+ },
+ "@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"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ }
+ },
+ "@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==",
+ "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"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ }
+ },
+ "@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==",
+ "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"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@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==",
+ "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"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.19.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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.21.5"
+ }
+ },
+ "@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": {
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-remap-async-to-generator": "^7.18.9"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.20.2"
+ }
+ },
+ "@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==",
+ "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"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/template": "^7.20.7"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.20.2"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.21.5"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-compilation-targets": "^7.18.9",
+ "@babel/helper-function-name": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.18.9"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9"
+ }
+ },
+ "@babel/plugin-transform-member-expression-literals": {
+ "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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.20.11",
+ "@babel/helper-plugin-utils": "^7.20.2"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.21.5",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/helper-simple-access": "^7.21.5"
+ }
+ },
+ "@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==",
+ "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"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.20.5",
+ "@babel/helper-plugin-utils": "^7.20.2"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.18.6"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.20.2"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "regenerator-transform": "^0.15.1"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@babel/plugin-transform-runtime": {
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz",
+ "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.21.4",
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "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/plugin-transform-shorthand-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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0"
+ }
+ },
+ "@babel/plugin-transform-sticky-regex": {
+ "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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@babel/plugin-transform-template-literals": {
+ "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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.21.5"
+ }
+ },
+ "@babel/plugin-transform-unicode-regex": {
+ "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==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz",
+ "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.21.4",
+ "@babel/helper-compilation-targets": "^7.21.4",
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-validator-option": "^7.21.0",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7",
+ "@babel/plugin-proposal-async-generator-functions": "^7.20.7",
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
+ "@babel/plugin-proposal-class-static-block": "^7.21.0",
+ "@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.20.7",
+ "@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.7",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
+ "@babel/plugin-proposal-optional-chaining": "^7.21.0",
+ "@babel/plugin-proposal-private-methods": "^7.18.6",
+ "@babel/plugin-proposal-private-property-in-object": "^7.21.0",
+ "@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.20.7",
+ "@babel/plugin-transform-async-to-generator": "^7.20.7",
+ "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
+ "@babel/plugin-transform-block-scoping": "^7.21.0",
+ "@babel/plugin-transform-classes": "^7.21.0",
+ "@babel/plugin-transform-computed-properties": "^7.20.7",
+ "@babel/plugin-transform-destructuring": "^7.21.3",
+ "@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.21.0",
+ "@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.20.11",
+ "@babel/plugin-transform-modules-commonjs": "^7.21.2",
+ "@babel/plugin-transform-modules-systemjs": "^7.20.11",
+ "@babel/plugin-transform-modules-umd": "^7.18.6",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5",
+ "@babel/plugin-transform-new-target": "^7.18.6",
+ "@babel/plugin-transform-object-super": "^7.18.6",
+ "@babel/plugin-transform-parameters": "^7.21.3",
+ "@babel/plugin-transform-property-literals": "^7.18.6",
+ "@babel/plugin-transform-regenerator": "^7.20.5",
+ "@babel/plugin-transform-reserved-words": "^7.18.6",
+ "@babel/plugin-transform-shorthand-properties": "^7.18.6",
+ "@babel/plugin-transform-spread": "^7.20.7",
+ "@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.21.4",
+ "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"
+ },
+ "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/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==",
+ "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"
+ }
+ },
+ "@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.21.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
+ "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+ "dev": true,
+ "requires": {
+ "regenerator-runtime": "^0.13.11"
+ }
+ },
+ "@babel/template": {
+ "version": "7.20.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
+ "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7"
+ }
+ },
+ "@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"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "@babel/types": {
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+ "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-string-parser": "^7.21.5",
+ "@babel/helper-validator-identifier": "^7.19.1",
+ "to-fast-properties": "^2.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==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/trace-mapping": "0.3.9"
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ }
+ }
+ },
+ "@csstools/css-parser-algorithms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.1.1.tgz",
+ "integrity": "sha512-viRnRh02AgO4mwIQb2xQNJju0i+Fh9roNgmbR5xEuG7J3TGgxjnE95HnBLgsFJOJOksvcfxOUCgODcft6Y07cA==",
+ "dev": true,
+ "requires": {}
+ },
+ "@csstools/css-tokenizer": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz",
+ "integrity": "sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==",
+ "dev": true
+ },
+ "@csstools/media-query-list-parser": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.0.4.tgz",
+ "integrity": "sha512-GyYot6jHgcSDZZ+tLSnrzkR7aJhF2ZW6d+CXH66mjy5WpAQhZD4HDke2OQ36SivGRWlZJpAz7TzbW6OKlEpxAA==",
+ "dev": true,
+ "requires": {}
+ },
+ "@csstools/selector-specificity": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+ "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+ "dev": true,
+ "requires": {}
+ },
+ "@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.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.18.tgz",
+ "integrity": "sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-arm64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz",
+ "integrity": "sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.18.tgz",
+ "integrity": "sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/darwin-arm64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz",
+ "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/darwin-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz",
+ "integrity": "sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/freebsd-arm64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz",
+ "integrity": "sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/freebsd-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz",
+ "integrity": "sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-arm": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz",
+ "integrity": "sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-arm64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz",
+ "integrity": "sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-ia32": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz",
+ "integrity": "sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-loong64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz",
+ "integrity": "sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-mips64el": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz",
+ "integrity": "sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-ppc64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz",
+ "integrity": "sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-riscv64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz",
+ "integrity": "sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-s390x": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz",
+ "integrity": "sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz",
+ "integrity": "sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/netbsd-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz",
+ "integrity": "sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/openbsd-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz",
+ "integrity": "sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/sunos-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz",
+ "integrity": "sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/win32-arm64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz",
+ "integrity": "sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/win32-ia32": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz",
+ "integrity": "sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/win32-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz",
+ "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==",
+ "dev": true,
+ "optional": true
+ },
+ "@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^3.3.0"
+ }
+ },
+ "@eslint-community/regexpp": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
+ "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
+ "dev": true
+ },
+ "@eslint/eslintrc": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz",
+ "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.5.1",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "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"
+ }
+ },
+ "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
+ },
+ "globals": {
+ "version": "13.20.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
+ "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ },
+ "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,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "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
+ },
+ "type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true
+ }
+ }
+ },
+ "@eslint/js": {
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz",
+ "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==",
+ "dev": true
+ },
+ "@floating-ui/core": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.6.tgz",
+ "integrity": "sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==",
+ "dev": true
+ },
+ "@floating-ui/dom": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.7.tgz",
+ "integrity": "sha512-DyqylONj1ZaBnzj+uBnVfzdjjCkFCL2aA9ESHLyUOGSqb03RpbLMImP1ekIQXYs4KLk9jAjJfZAU8hXfWSahEg==",
+ "dev": true,
+ "requires": {
+ "@floating-ui/core": "^1.2.6"
+ }
+ },
+ "@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
+ },
+ "@gulp-sourcemaps/identity-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz",
+ "integrity": "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==",
+ "dev": true,
+ "requires": {
+ "acorn": "^6.4.1",
+ "normalize-path": "^3.0.0",
+ "postcss": "^7.0.16",
+ "source-map": "^0.6.0",
+ "through2": "^3.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
+ "dev": true
+ },
+ "picocolors": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+ "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
+ "dev": true
+ },
+ "postcss": {
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "dev": true,
+ "requires": {
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
+ }
+ },
+ "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
+ },
+ "through2": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
+ "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.4",
+ "readable-stream": "2 || 3"
+ }
+ }
+ }
+ },
+ "@gulp-sourcemaps/map-sources": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
+ "integrity": "sha512-o/EatdaGt8+x2qpb0vFLC/2Gug/xYPRXb6a+ET1wGYKozKN3krDWC/zZFZAtrzxJHuDL12mwdfEFKcKMNvc55A==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^2.0.1",
+ "through2": "^2.0.3"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ }
+ }
+ },
+ "@humanwhocodes/config-array": {
+ "version": "0.11.8",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
+ "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
+ "dev": true,
+ "requires": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.5"
+ }
+ },
+ "@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true
+ },
+ "@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "dev": true
+ },
+ "@igniteui/material-icons-extended": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@igniteui/material-icons-extended/-/material-icons-extended-3.0.0.tgz",
+ "integrity": "sha512-FvbNeEOYtqNKF+MecDlxKS3sSX9ab1kqE3tkUrOZxmKJ/NJ2wPpX/1B+Qdk2rcJMSNjDDfevm2hB6wmv/fMQhw=="
+ },
+ "@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,
+ "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": {
+ "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"
+ }
+ }
+ }
+ },
+ "@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,
+ "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"
+ }
+ },
+ "@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
+ },
+ "@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"
+ }
+ },
+ "@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==",
+ "dev": true
+ },
+ "@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
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "@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==",
+ "dev": true
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/resolve-uri": "3.1.0",
+ "@jridgewell/sourcemap-codec": "1.4.14"
+ },
+ "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
+ }
+ }
+ },
+ "@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
+ },
+ "@lit-labs/ssr-dom-shim": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz",
+ "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==",
+ "dev": true
+ },
+ "@lit-labs/virtualizer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@lit-labs/virtualizer/-/virtualizer-1.0.1.tgz",
+ "integrity": "sha512-olFX5cVVj0HeVpiEMjylX+sOXFsDpE/SCDrgw63/lBMrrnyP9PIFH0zcZrG0DvuAmCCPaanPybK59Iu7cOe/VA==",
+ "dev": true,
+ "requires": {
+ "event-target-shim": "^6.0.2",
+ "lit": "^2.5.0",
+ "tslib": "^2.0.3"
+ }
+ },
+ "@lit/reactive-element": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.1.tgz",
+ "integrity": "sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==",
+ "dev": true,
+ "requires": {
+ "@lit-labs/ssr-dom-shim": "^1.0.0"
+ }
+ },
+ "@ngtools/webpack": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.0.0.tgz",
+ "integrity": "sha512-I5zjGtJu2wwIdM+OFUHXezmwTJ0wpParVJgCxR0cLd0CIbpRYSjOSZQN/nR9ZnTKAI5uFZ3MM2p/VRQGUUHUcw==",
+ "dev": true,
+ "requires": {}
+ },
+ "@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,
+ "requires": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "semver": "^7.3.5"
+ }
+ },
+ "@npmcli/git": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz",
+ "integrity": "sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==",
+ "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"
+ }
+ }
+ }
+ },
+ "@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,
+ "requires": {
+ "npm-bundled": "^3.0.0",
+ "npm-normalize-package-bin": "^3.0.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==",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ }
+ }
+ },
+ "@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
+ },
+ "@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,
+ "requires": {
+ "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"
+ }
+ }
+ }
+ },
+ "@npmcli/run-script": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.1.tgz",
+ "integrity": "sha512-Yi04ZSold8jcbBJD/ahKMJSQCQifH8DAbMwkBvoLaTpGFxzHC3B/5ZyoVR69q/4xedz84tvi9DJOJjNe17h+LA==",
+ "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"
+ }
+ }
+ }
+ },
+ "@nrwl/devkit": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.0.2.tgz",
+ "integrity": "sha512-SAEcImeQHdSTauO05FUn2vVl9/y5Kx1LNCZ4YE+SdY5/QRq18fuo/DCWmjOGG9M8r06vYGsAgMzkiB4soimcyA==",
+ "dev": true,
+ "requires": {
+ "@nx/devkit": "16.0.2"
+ }
+ },
+ "@nrwl/tao": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.0.2.tgz",
+ "integrity": "sha512-wimEe4OTpI7/nDK67RnpZpEXCU+fzA0sDgpIhMgbpPd0vPmKgaZv4nbs8zrm0goFlacmmnLaGRhhGYMOxE+1Lg==",
+ "dev": true,
+ "requires": {
+ "nx": "16.0.2"
+ }
+ },
+ "@nx/devkit": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.0.2.tgz",
+ "integrity": "sha512-BY1Bj0BbAl6XJL0O+QGTWPs/3WMJTEQ+Y4Lfoq4dZM7RllE6rAylr54NA2wa4lsgordZhq1+0g5PVhKKvSVRRw==",
+ "dev": true,
+ "requires": {
+ "@nrwl/devkit": "16.0.2",
+ "ejs": "^3.1.7",
+ "ignore": "^5.0.4",
+ "semver": "7.3.4",
+ "tmp": "~0.2.1",
+ "tslib": "^2.3.0"
+ },
+ "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"
+ }
+ },
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.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
+ }
+ }
+ },
+ "@nx/nx-darwin-arm64": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.0.2.tgz",
+ "integrity": "sha512-nAT8WJ/qKGEvUcoFLHHye1dbwCd7b8CTZJlDF+ZkyCD/UZRHt4eJxy8gvKmxgkZTFb2+PPMQt4UORCUGpZzuoA==",
+ "dev": true,
+ "optional": true
+ },
+ "@nx/nx-darwin-x64": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.0.2.tgz",
+ "integrity": "sha512-r0rfOrZaOyrwFR5a0UT05xkYRumfkP65cRSZM1TjCA027AG9llYtkLT1hlz8uMKt+P12zrWVzXSqGLDi022ZZg==",
+ "dev": true,
+ "optional": true
+ },
+ "@nx/nx-linux-arm-gnueabihf": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.0.2.tgz",
+ "integrity": "sha512-TfDQaGvCIDjn9sPg5U1Fr2rsSul/4PIQB59qrLBJRPiCWgpzwO71Il1qwSX68En+JH3lwXr+g5EjcDIEQ8fGYA==",
+ "dev": true,
+ "optional": true
+ },
+ "@nx/nx-linux-arm64-gnu": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.0.2.tgz",
+ "integrity": "sha512-MICaUp7uz8WVQFXWPrmQaX1o4bdL7f3C7b3MDDf6+Zau6RcyQuw97UEKaYi9OqrV3w8yuPplqoLosFblAgb8uw==",
+ "dev": true,
+ "optional": true
+ },
+ "@nx/nx-linux-arm64-musl": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.0.2.tgz",
+ "integrity": "sha512-wcBURG+6A2srm+6ujj8SShjwmYWs0eHI5D8vgZr8Bni+lXbKP/IosE9JGXKtRoh27/owyR8PGHhDVzjv46tlFg==",
+ "dev": true,
+ "optional": true
+ },
+ "@nx/nx-linux-x64-gnu": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.0.2.tgz",
+ "integrity": "sha512-Xyml2gFdVDHUj2g67DKz2aD78x1BciN1ZaaBTCxXL4MHfwR78SZa7mtRtE+1kj5OgVIwupZP50jq7C8GuSn3Hw==",
+ "dev": true,
+ "optional": true
+ },
+ "@nx/nx-linux-x64-musl": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.0.2.tgz",
+ "integrity": "sha512-j3xdN8I5DlTgW5N5eCquyBZswrrYf6EazUCvnEpeejygwh3N6XN7DlD68Bs0CB4Zmd0tWLfTjNVAtUJSP6g2mA==",
+ "dev": true,
+ "optional": true
+ },
+ "@nx/nx-win32-arm64-msvc": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.0.2.tgz",
+ "integrity": "sha512-R2pzoW3SUFBbe9C1vifJnXuysPl6kmutQHN2yQ9lwJptzPvMxfDU1FuXmKCGRUGmEwFxk/XPhwDL/ZcbABTrzw==",
+ "dev": true,
+ "optional": true
+ },
+ "@nx/nx-win32-x64-msvc": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.0.2.tgz",
+ "integrity": "sha512-r4H/SsqfpIJa8QLSpnscgkMnLsnkRYXj8TcILDrf+nJazfEdJZLUvVhN9O85OB7pskv86NuGfnJmJHHXy6QVQg==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
+ "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==",
+ "dev": true,
+ "requires": {
+ "node-addon-api": "^3.2.1",
+ "node-gyp-build": "^4.3.0"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^5.0.1"
+ }
+ },
+ "@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==",
+ "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"
+ }
+ },
+ "@rollup/pluginutils": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz",
+ "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^2.3.1"
+ }
+ },
+ "@schematics/angular": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.0.0.tgz",
+ "integrity": "sha512-Ao1Y0hEDa30JjWDLnUfOsD+9nnfdBFclfKFzR+7pvvFYCpSUhH1u+8e+7noruIxlP26+SpqPn3AF5+IRTGza8w==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "16.0.0",
+ "@angular-devkit/schematics": "16.0.0",
+ "jsonc-parser": "3.2.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
+ },
+ "@sindresorhus/is": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
+ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
+ "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
+ },
+ "@szmarczak/http-timer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
+ "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
+ "dev": true,
+ "requires": {
+ "defer-to-connect": "^1.0.1"
+ }
+ },
+ "@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
+ },
+ "@tsconfig/node10": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
+ "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
+ "dev": true
+ },
+ "@tsconfig/node12": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
+ "dev": true
+ },
+ "@tsconfig/node14": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
+ "dev": true
+ },
+ "@tsconfig/node16": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
+ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
+ "dev": true
+ },
+ "@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
+ },
+ "@tufjs/models": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz",
+ "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==",
+ "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"
+ }
+ }
+ }
+ },
+ "@types/body-parser": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+ "dev": true,
+ "requires": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/bonjour": {
+ "version": "3.5.10",
+ "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz",
+ "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@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": "*"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@types/express-serve-static-core": "*",
+ "@types/node": "*"
+ }
+ },
+ "@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
+ },
+ "@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/css": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/@types/css/-/css-0.0.33.tgz",
+ "integrity": "sha512-qjeDgh86R0LIeEM588q65yatc8Yyo/VvSIYFqq8JOIHDolhGNX0rz7k/OuxqDpnpqlefoHj8X4Ai/6hT9IWtKQ==",
+ "dev": true
+ },
+ "@types/eslint": {
+ "version": "8.37.0",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz",
+ "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "@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,
+ "requires": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.33",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
+ }
+ },
+ "@types/express-serve-static-core": {
+ "version": "4.17.34",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz",
+ "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
+ }
+ },
+ "@types/hammerjs": {
+ "version": "2.0.41",
+ "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.41.tgz",
+ "integrity": "sha512-ewXv/ceBaJprikMcxCmWU1FKyMAQ2X7a9Gtmzw8fcg2kIePI1crERDM818W+XYrxqdBBOdlf2rm137bU+BltCA=="
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@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/jasminewd2": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz",
+ "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==",
+ "dev": true,
+ "requires": {
+ "@types/jasmine": "*"
+ }
+ },
+ "@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/mime": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
+ "dev": true
+ },
+ "@types/minimist": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
+ "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "18.16.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz",
+ "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==",
+ "dev": true
+ },
+ "@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
+ },
+ "@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
+ },
+ "@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
+ },
+ "@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
+ },
+ "@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
+ },
+ "@types/sass-true": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/@types/sass-true/-/sass-true-6.0.3.tgz",
+ "integrity": "sha512-zTt0uxBnu4ulwoYYfatZaWdoHWxpdqXr5bQ4wa7PNx4+cqxWn8aczK+UwEIHyhpbtvm4H4oiuIT+61EPvHKq0Q==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*",
+ "sass": "^1.45.0"
+ }
+ },
+ "@types/semver": {
+ "version": "7.3.13",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz",
+ "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==",
+ "dev": true
+ },
+ "@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,
+ "requires": {
+ "@types/mime": "^1",
+ "@types/node": "*"
+ }
+ },
+ "@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,
+ "requires": {
+ "@types/express": "*"
+ }
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@types/mime": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/sockjs": {
+ "version": "0.3.33",
+ "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
+ "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/source-map": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/@types/source-map/-/source-map-0.5.2.tgz",
+ "integrity": "sha512-++w4WmMbk3dS3UeHGzAG+xJOSz5Xqtjys/TBkqG3qp3SeWE7Wwezqe5eB7B51cxUyh4PW7bwVotpsLdBK0D8cw=="
+ },
+ "@types/trusted-types": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz",
+ "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==",
+ "dev": true
+ },
+ "@types/webpack-env": {
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.0.tgz",
+ "integrity": "sha512-56/MAlX5WMsPVbOg7tAxnYvNYMMWr/QJiIp6BxVSW3JJXUVzzOn64qW8TzQyMSqSUFM2+PVI4aUHcHOzIz/1tg==",
+ "dev": true
+ },
+ "@types/ws": {
+ "version": "8.5.4",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz",
+ "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@typescript-eslint/eslint-plugin": {
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz",
+ "integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==",
+ "dev": true,
+ "requires": {
+ "@eslint-community/regexpp": "^4.4.0",
+ "@typescript-eslint/scope-manager": "5.59.2",
+ "@typescript-eslint/type-utils": "5.59.2",
+ "@typescript-eslint/utils": "5.59.2",
+ "debug": "^4.3.4",
+ "grapheme-splitter": "^1.0.4",
+ "ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz",
+ "integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/scope-manager": "5.59.2",
+ "@typescript-eslint/types": "5.59.2",
+ "@typescript-eslint/typescript-estree": "5.59.2",
+ "debug": "^4.3.4"
+ }
+ },
+ "@typescript-eslint/scope-manager": {
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
+ "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "5.59.2",
+ "@typescript-eslint/visitor-keys": "5.59.2"
+ }
+ },
+ "@typescript-eslint/type-utils": {
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz",
+ "integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/typescript-estree": "5.59.2",
+ "@typescript-eslint/utils": "5.59.2",
+ "debug": "^4.3.4",
+ "tsutils": "^3.21.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
+ "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
+ "dev": true
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
+ "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "5.59.2",
+ "@typescript-eslint/visitor-keys": "5.59.2",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ }
+ },
+ "@typescript-eslint/utils": {
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
+ "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
+ "dev": true,
+ "requires": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.59.2",
+ "@typescript-eslint/types": "5.59.2",
+ "@typescript-eslint/typescript-estree": "5.59.2",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ }
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "5.59.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
+ "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "5.59.2",
+ "eslint-visitor-keys": "^3.3.0"
+ }
+ },
+ "@vitejs/plugin-basic-ssl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz",
+ "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==",
+ "dev": true,
+ "requires": {}
+ },
+ "@webassemblyjs/ast": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz",
+ "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/helper-numbers": "1.11.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.5"
+ }
+ },
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz",
+ "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz",
+ "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz",
+ "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-numbers": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz",
+ "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/floating-point-hex-parser": "1.11.5",
+ "@webassemblyjs/helper-api-error": "1.11.5",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz",
+ "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz",
+ "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.5",
+ "@webassemblyjs/helper-buffer": "1.11.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.5",
+ "@webassemblyjs/wasm-gen": "1.11.5"
+ }
+ },
+ "@webassemblyjs/ieee754": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz",
+ "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==",
+ "dev": true,
+ "requires": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "@webassemblyjs/leb128": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz",
+ "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==",
+ "dev": true,
+ "requires": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/utf8": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz",
+ "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==",
+ "dev": true
+ },
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz",
+ "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.5",
+ "@webassemblyjs/helper-buffer": "1.11.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.5",
+ "@webassemblyjs/helper-wasm-section": "1.11.5",
+ "@webassemblyjs/wasm-gen": "1.11.5",
+ "@webassemblyjs/wasm-opt": "1.11.5",
+ "@webassemblyjs/wasm-parser": "1.11.5",
+ "@webassemblyjs/wast-printer": "1.11.5"
+ }
+ },
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz",
+ "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.5",
+ "@webassemblyjs/ieee754": "1.11.5",
+ "@webassemblyjs/leb128": "1.11.5",
+ "@webassemblyjs/utf8": "1.11.5"
+ }
+ },
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz",
+ "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.5",
+ "@webassemblyjs/helper-buffer": "1.11.5",
+ "@webassemblyjs/wasm-gen": "1.11.5",
+ "@webassemblyjs/wasm-parser": "1.11.5"
+ }
+ },
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz",
+ "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.5",
+ "@webassemblyjs/helper-api-error": "1.11.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.5",
+ "@webassemblyjs/ieee754": "1.11.5",
+ "@webassemblyjs/leb128": "1.11.5",
+ "@webassemblyjs/utf8": "1.11.5"
+ }
+ },
+ "@webassemblyjs/wast-printer": {
+ "version": "1.11.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz",
+ "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.5",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@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
+ },
+ "@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
+ },
+ "@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
+ },
+ "@yarnpkg/parsers": {
+ "version": "3.0.0-rc.43",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.43.tgz",
+ "integrity": "sha512-AhFF3mIDfA+jEwQv2WMHmiYhOvmdbh2qhUkDVQfiqzQtUwS4BgoWwom5NpSPg4Ix5vOul+w1690Bt21CkVLpgg==",
+ "dev": true,
+ "requires": {
+ "js-yaml": "^3.10.0",
+ "tslib": "^2.4.0"
+ }
+ },
+ "@zkochan/js-yaml": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz",
+ "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "a-sync-waterfall": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz",
+ "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==",
+ "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
+ },
+ "abbrev": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+ "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==",
+ "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"
+ }
+ },
+ "acorn": {
+ "version": "8.8.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+ "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+ "dev": true
+ },
+ "acorn-import-assertions": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
+ "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
+ "dev": true,
+ "requires": {}
+ },
+ "acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "requires": {}
+ },
+ "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==",
+ "dev": true
+ },
+ "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,
+ "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"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "debug": "4"
+ }
+ },
+ "agentkeepalive": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz",
+ "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.0",
+ "depd": "^2.0.0",
+ "humanize-ms": "^1.2.1"
+ }
+ },
+ "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,
+ "requires": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ }
+ },
+ "ajv": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "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"
+ }
+ },
+ "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,
+ "requires": {
+ "ajv": "^8.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "fast-deep-equal": "^3.1.3"
+ }
+ },
+ "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
+ },
+ "ansi-align": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
+ "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.1.0"
+ }
+ },
+ "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-cyan": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
+ "integrity": "sha512-eCjan3AVo/SxZ0/MyIYRtkpxIu/H3xZN7URr1vXVrISxeyz8fUFz0FJziamK4sS8I+t35y4rHg1b2PklyBe/7A==",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
+ "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,
+ "requires": {
+ "type-fest": "^0.21.3"
+ }
+ },
+ "ansi-gray": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
+ "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
+ "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-red": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
+ "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
+ "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-sequence-parser": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz",
+ "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==",
+ "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==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "ansi-wrap": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==",
+ "dev": true
+ },
+ "anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "ap": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz",
+ "integrity": "sha512-ImdvquIuBSVpWRWhB441UjvTcZqic1RL+lTQaUKGdGEp1aiTvt/phAvY8Vvs32qya5FJBI8U+tzNBYzFDQY/lQ==",
+ "dev": true
+ },
+ "append-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
+ "integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==",
+ "dev": true,
+ "requires": {
+ "buffer-equal": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "archy": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
+ "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==",
+ "dev": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "dependencies": {
+ "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": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "arg": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+ "dev": true
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "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,
+ "requires": {
+ "deep-equal": "^2.0.5"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
+ "dev": true
+ },
+ "arr-filter": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz",
+ "integrity": "sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==",
+ "dev": true,
+ "requires": {
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-map": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz",
+ "integrity": "sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==",
+ "dev": true,
+ "requires": {
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "is-array-buffer": "^3.0.1"
+ }
+ },
+ "array-each": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
+ "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==",
+ "dev": true
+ },
+ "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
+ },
+ "array-initial": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz",
+ "integrity": "sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==",
+ "dev": true,
+ "requires": {
+ "array-slice": "^1.0.0",
+ "is-number": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
+ }
+ }
+ },
+ "array-last": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz",
+ "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==",
+ "dev": true,
+ "requires": {
+ "is-number": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
+ }
+ }
+ },
+ "array-slice": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
+ "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
+ "dev": true
+ },
+ "array-sort": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz",
+ "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==",
+ "dev": true,
+ "requires": {
+ "default-compare": "^1.0.0",
+ "get-value": "^2.0.6",
+ "kind-of": "^5.0.2"
+ }
+ },
+ "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
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
+ "dev": true
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
+ "dev": true
+ },
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true
+ },
+ "async": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+ "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.14"
+ }
+ },
+ "async-done": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz",
+ "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.2",
+ "process-nextick-args": "^2.0.0",
+ "stream-exhaust": "^1.0.1"
+ }
+ },
+ "async-each": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz",
+ "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==",
+ "dev": true
+ },
+ "async-each-series": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz",
+ "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==",
+ "dev": true
+ },
+ "async-settle": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz",
+ "integrity": "sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==",
+ "dev": true,
+ "requires": {
+ "async-done": "^1.2.2"
+ }
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "10.4.14",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
+ "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.21.5",
+ "caniuse-lite": "^1.0.30001464",
+ "fraction.js": "^4.2.0",
+ "normalize-range": "^0.1.2",
+ "picocolors": "^1.0.0",
+ "postcss-value-parser": "^4.2.0"
+ }
+ },
+ "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
+ },
+ "axios": {
+ "version": "0.21.4",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
+ "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
+ "dev": true,
+ "requires": {
+ "follow-redirects": "^1.14.0"
+ }
+ },
+ "axobject-query": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz",
+ "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==",
+ "dev": true,
+ "requires": {
+ "deep-equal": "^2.0.5"
+ }
+ },
+ "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,
+ "requires": {
+ "find-cache-dir": "^3.3.2",
+ "schema-utils": "^4.0.0"
+ }
+ },
+ "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,
+ "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"
+ }
+ },
+ "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,
+ "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
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "@babel/helper-define-polyfill-provider": "^0.3.3",
+ "core-js-compat": "^3.25.1"
+ }
+ },
+ "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,
+ "requires": {
+ "@babel/helper-define-polyfill-provider": "^0.3.3"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
+ }
+ }
+ },
+ "bach": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz",
+ "integrity": "sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==",
+ "dev": true,
+ "requires": {
+ "arr-filter": "^1.1.1",
+ "arr-flatten": "^1.0.1",
+ "arr-map": "^2.0.0",
+ "array-each": "^1.0.0",
+ "array-initial": "^1.0.0",
+ "array-last": "^1.1.1",
+ "async-done": "^1.2.2",
+ "async-settle": "^1.0.0",
+ "now-and-later": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
+ },
+ "bindings": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
+ "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"
+ },
+ "dependencies": {
+ "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": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "bluebird": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
+ "integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
+ "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
+ "dev": true,
+ "requires": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.5",
+ "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.2",
+ "type-is": "~1.6.18",
+ "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
+ },
+ "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": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "qs": {
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "dev": true,
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "array-flatten": "^2.1.2",
+ "dns-equal": "^1.0.0",
+ "fast-deep-equal": "^3.1.3",
+ "multicast-dns": "^7.2.5"
+ }
+ },
+ "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
+ },
+ "boxen": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
+ "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
+ "dev": true,
+ "requires": {
+ "ansi-align": "^3.0.0",
+ "camelcase": "^5.3.1",
+ "chalk": "^3.0.0",
+ "cli-boxes": "^2.2.0",
+ "string-width": "^4.1.0",
+ "term-size": "^2.1.0",
+ "type-fest": "^0.8.1",
+ "widest-line": "^3.1.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"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "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"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browser-sync": {
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.29.1.tgz",
+ "integrity": "sha512-WXy9HMJVQaNUTPjmai330E2fnDA6W84l/vBILGkYu9yHXIpWw1gJYjdQWDfEhLFljYUHNTN9jM3GCej2T55m+g==",
+ "dev": true,
+ "requires": {
+ "browser-sync-client": "^2.29.1",
+ "browser-sync-ui": "^2.29.1",
+ "bs-recipes": "1.3.4",
+ "bs-snippet-injector": "^2.0.1",
+ "chalk": "4.1.2",
+ "chokidar": "^3.5.1",
+ "connect": "3.6.6",
+ "connect-history-api-fallback": "^1",
+ "dev-ip": "^1.0.1",
+ "easy-extender": "^2.3.4",
+ "eazy-logger": "^4.0.1",
+ "etag": "^1.8.1",
+ "fresh": "^0.5.2",
+ "fs-extra": "3.0.1",
+ "http-proxy": "^1.18.1",
+ "immutable": "^3",
+ "localtunnel": "^2.0.1",
+ "micromatch": "^4.0.2",
+ "opn": "5.3.0",
+ "portscanner": "2.2.0",
+ "qs": "^6.11.0",
+ "raw-body": "^2.3.2",
+ "resp-modifier": "6.0.2",
+ "rx": "4.1.0",
+ "send": "0.16.2",
+ "serve-index": "1.9.1",
+ "serve-static": "1.13.2",
+ "server-destroy": "1.0.1",
+ "socket.io": "^4.4.1",
+ "ua-parser-js": "^1.0.33",
+ "yargs": "^17.3.1"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "browser-sync-client": {
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.29.1.tgz",
+ "integrity": "sha512-aESnjt3rU7CZpzjyqzhIC2UJ3MVhzRis7cPKkGbyYWDf/wnbxyRa3fFenF3Qx9061/guY3HHhD67uiTVV26DVg==",
+ "dev": true,
+ "requires": {
+ "etag": "1.8.1",
+ "fresh": "0.5.2",
+ "mitt": "^1.1.3"
+ }
+ },
+ "browser-sync-ui": {
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.29.1.tgz",
+ "integrity": "sha512-MB7SAiUgVUrhipO2xyO1sheC9H0+LKXPQ3L1tQWcZ3AgizBnUNKAqDZPSwe4grNSa8o8ImSAwJp7lMS6XYy1Dw==",
+ "dev": true,
+ "requires": {
+ "async-each-series": "0.1.1",
+ "chalk": "4.1.2",
+ "connect-history-api-fallback": "^1",
+ "immutable": "^3",
+ "server-destroy": "1.0.1",
+ "socket.io-client": "^4.4.1",
+ "stream-throttle": "^0.1.3"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "caniuse-lite": "^1.0.30001449",
+ "electron-to-chromium": "^1.4.284",
+ "node-releases": "^2.0.8",
+ "update-browserslist-db": "^1.0.10"
+ }
+ },
+ "bs-recipes": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz",
+ "integrity": "sha512-BXvDkqhDNxXEjeGM8LFkSbR+jzmP/CYpCiVKYn+soB1dDldeU15EBNDkwVXndKuX35wnNUaPd0qSoQEAkmQtMw==",
+ "dev": true
+ },
+ "bs-snippet-injector": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz",
+ "integrity": "sha512-4u8IgB+L9L+S5hknOj3ddNSb42436gsnGm1AuM15B7CdbkpQTyVWgIM5/JUBiKiRwGOR86uo0Lu/OsX+SAlJmw==",
+ "dev": true
+ },
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "buffer-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz",
+ "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "builtins": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
+ "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
+ "dev": true,
+ "requires": {
+ "semver": "^7.0.0"
+ }
+ },
+ "bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "dev": true
+ },
+ "cacache": {
+ "version": "17.0.6",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.6.tgz",
+ "integrity": "sha512-ixcYmEBExFa/+ajIPjcwypxL97CjJyOsH9A/W+4qgEPIpJvKlC+HmVY8nkIck6n3PwUTdgq9c489niJGwl+5Cw==",
+ "dev": true,
+ "requires": {
+ "@npmcli/fs": "^3.1.0",
+ "fs-minipass": "^3.0.0",
+ "glob": "^10.2.2",
+ "lru-cache": "^7.7.1",
+ "minipass": "^5.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": {
+ "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.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.2.tgz",
+ "integrity": "sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==",
+ "dev": true,
+ "requires": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.0.3",
+ "minimatch": "^9.0.0",
+ "minipass": "^5.0.0",
+ "path-scurry": "^1.7.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
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "cacheable-request": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
+ "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
+ "dev": true,
+ "requires": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^3.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^4.1.0",
+ "responselike": "^1.0.2"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "camel-case": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0",
+ "upper-case": "^1.1.1"
+ }
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
+ }
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001482",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001482.tgz",
+ "integrity": "sha512-F1ZInsg53cegyjroxLNW9DmrEQ1SuGRTO1QlpA0o2/6OpQ0gFeDRoq1yFmnr8Sakn9qwwt9DmbxHB6w167OSuQ==",
+ "dev": true
+ },
+ "cdocparser": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/cdocparser/-/cdocparser-0.13.0.tgz",
+ "integrity": "sha512-bMi4t0qjeT0xQ8ECBmWcilMYcUNYsERQoatXveMIbItgqliZDCNyv2xfkBoKrs5H08ApeRMoysJLwgPiHtv7HQ==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.2",
+ "lodash.assign": "^2.4.1",
+ "strip-indent": "^1.0.0"
+ },
+ "dependencies": {
+ "strip-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true
+ },
+ "chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "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"
+ }
+ },
+ "chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "dev": true
+ },
+ "chroma-js": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-1.4.1.tgz",
+ "integrity": "sha512-jTwQiT859RTFN/vIf7s+Vl/Z2LcMrvMv3WUFmd/4u76AdlFC0NTNgqEEFPcRiHmAswPsMiQEDZLM8vX8qXpZNQ==",
+ "dev": true
+ },
+ "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
+ },
+ "ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ }
+ }
+ },
+ "clean-css": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz",
+ "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==",
+ "dev": true,
+ "requires": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "cli-boxes": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
+ "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==",
+ "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==",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^3.1.0"
+ }
+ },
+ "cli-spinners": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
+ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
+ "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==",
+ "dev": true
+ },
+ "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"
+ }
+ },
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+ "dev": true
+ },
+ "clone-buffer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
+ "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
+ },
+ "dependencies": {
+ "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": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "clone-response": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
+ "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "clone-stats": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==",
+ "dev": true
+ },
+ "cloneable-readable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz",
+ "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "process-nextick-args": "^2.0.0",
+ "readable-stream": "^2.3.5"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==",
+ "dev": true
+ },
+ "collection-map": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz",
+ "integrity": "sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==",
+ "dev": true,
+ "requires": {
+ "arr-map": "^2.0.2",
+ "for-own": "^1.0.0",
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "dev": true
+ },
+ "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
+ },
+ "colord": {
+ "version": "2.9.3",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
+ "dev": true
+ },
+ "colorette": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+ "dev": true
+ },
+ "colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "dev": true
+ },
+ "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": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "commander": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "dev": true
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
+ "dev": true
+ },
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "dev": true
+ },
+ "compressible": {
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+ "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+ "dev": true,
+ "requires": {
+ "mime-db": ">= 1.43.0 < 2"
+ }
+ },
+ "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": {
+ "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"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
+ "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
+ },
+ "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
+ }
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "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": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "concat-with-sourcemaps": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
+ "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.6.1"
+ },
+ "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
+ }
+ }
+ },
+ "configstore": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
+ "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^5.2.0",
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^3.0.0",
+ "unique-string": "^2.0.0",
+ "write-file-atomic": "^3.0.0",
+ "xdg-basedir": "^4.0.0"
+ },
+ "dependencies": {
+ "write-file-atomic": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ }
+ }
+ },
+ "connect": {
+ "version": "3.6.6",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
+ "integrity": "sha512-OO7axMmPpu/2XuX1+2Yrg0ddju31B6xLZMWkJ5rYBu4YRmRVlOjvlY6kw2FJKiAzyxGwnrDUAG4s1Pf0sbBMCQ==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "finalhandler": "1.1.0",
+ "parseurl": "~1.3.2",
+ "utils-merge": "1.0.1"
+ },
+ "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
+ }
+ }
+ },
+ "connect-history-api-fallback": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
+ "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
+ "dev": true
+ },
+ "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
+ },
+ "consolidate": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.13.1.tgz",
+ "integrity": "sha512-027d1hT0huixz578MzXlB30ipJaF0131zmQJhiL49fwjDj+I45MwgL3/TQHEgeuZfcJus69vBlHcIPd+h2UNCw==",
+ "dev": true,
+ "requires": {
+ "bluebird": "^2.9.26"
+ }
+ },
+ "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": {
+ "safe-buffer": "5.2.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
+ "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==",
+ "dev": true,
+ "requires": {
+ "is-what": "^3.14.1"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==",
+ "dev": true
+ },
+ "copy-props": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz",
+ "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==",
+ "dev": true,
+ "requires": {
+ "each-props": "^1.3.2",
+ "is-plain-object": "^5.0.0"
+ }
+ },
+ "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": {
+ "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"
+ },
+ "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"
+ }
+ },
+ "globby": {
+ "version": "13.1.4",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz",
+ "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==",
+ "dev": true,
+ "requires": {
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.11",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^4.0.0"
+ }
+ },
+ "slash": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+ "dev": true
+ }
+ }
+ },
+ "core-js": {
+ "version": "2.6.12",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
+ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
+ "dev": true
+ },
+ "core-js-compat": {
+ "version": "3.30.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.1.tgz",
+ "integrity": "sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.21.5"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "object-assign": "^4",
+ "vary": "^1"
+ }
+ },
+ "cosmiconfig": {
+ "version": "8.1.3",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz",
+ "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==",
+ "dev": true,
+ "requires": {
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0"
+ },
+ "dependencies": {
+ "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
+ },
+ "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,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ }
+ }
+ },
+ "cosmiconfig-typescript-loader": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz",
+ "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==",
+ "dev": true,
+ "requires": {}
+ },
+ "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==",
+ "dev": true
+ },
+ "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": {
+ "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"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "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
+ },
+ "css": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz",
+ "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.4",
+ "source-map": "^0.6.1",
+ "source-map-resolve": "^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
+ }
+ }
+ },
+ "css-functions-list": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz",
+ "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",
+ "dev": true
+ },
+ "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": {
+ "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"
+ }
+ },
+ "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": {
+ "boolbase": "^1.0.0",
+ "css-what": "^6.0.1",
+ "domhandler": "^4.3.1",
+ "domutils": "^2.8.0",
+ "nth-check": "^2.0.1"
+ }
+ },
+ "css-tree": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
+ "dev": true,
+ "requires": {
+ "mdn-data": "2.0.30",
+ "source-map-js": "^1.0.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "cuint": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz",
+ "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==",
+ "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==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
+ "dargs": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
+ "integrity": "sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw==",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "debug-fabulous": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz",
+ "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==",
+ "dev": true,
+ "requires": {
+ "debug": "3.X",
+ "memoizee": "0.4.X",
+ "object-assign": "4.X"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
+ "dev": true
+ },
+ "decamelize-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
+ "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
+ "dev": true,
+ "requires": {
+ "decamelize": "^1.1.0",
+ "map-obj": "^1.0.0"
+ },
+ "dependencies": {
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
+ "dev": true
+ }
+ }
+ },
+ "decode-uri-component": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
+ "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
+ "dev": true
+ },
+ "decompress-response": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
+ "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "deep-equal": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz",
+ "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==",
+ "dev": true,
+ "requires": {
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.2",
+ "es-get-iterator": "^1.1.3",
+ "get-intrinsic": "^1.2.0",
+ "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"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "dev": true
+ },
+ "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
+ },
+ "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-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz",
+ "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^5.0.2"
+ }
+ },
+ "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": {
+ "execa": "^5.0.0"
+ }
+ },
+ "default-resolution": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz",
+ "integrity": "sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==",
+ "dev": true
+ },
+ "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": {
+ "clone": "^1.0.2"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "dev": true
+ }
+ }
+ },
+ "defer-to-connect": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
+ "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
+ "dev": true
+ },
+ "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
+ },
+ "define-properties": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
+ "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
+ "dev": true,
+ "requires": {
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ }
+ },
+ "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": {
+ "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"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "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": {
+ "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-file": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+ "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==",
+ "dev": true
+ },
+ "detect-newline": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
+ "integrity": "sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==",
+ "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
+ },
+ "dev-ip": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz",
+ "integrity": "sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==",
+ "dev": true
+ },
+ "di": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==",
+ "dev": true
+ },
+ "diff": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "dev": true
+ },
+ "diff-sequences": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+ "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
+ "dev": true
+ },
+ "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": {
+ "path-type": "^4.0.0"
+ }
+ },
+ "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
+ },
+ "dns-packet": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz",
+ "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==",
+ "dev": true,
+ "requires": {
+ "@leichtgewicht/ip-codec": "^2.0.1"
+ }
+ },
+ "docopt": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/docopt/-/docopt-0.6.2.tgz",
+ "integrity": "sha512-NqTbaYeE4gA/wU1hdKFdU+AFahpDOpgGLzHP42k6H6DKExJd0A55KEVWYhL9FEmHmgeLvEU2vuKXDuU+4yToOw==",
+ "dev": true
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "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": {
+ "custom-event": "~1.0.0",
+ "ent": "~2.2.0",
+ "extend": "^3.0.0",
+ "void-elements": "^2.0.0"
+ }
+ },
+ "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": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ }
+ },
+ "domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+ "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==",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ }
+ },
+ "dot-prop": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
+ "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
+ "dev": true,
+ "requires": {
+ "is-obj": "^2.0.0"
+ }
+ },
+ "dotenv": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+ "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
+ "dev": true
+ },
+ "duplexer": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+ "dev": true
+ },
+ "duplexer2": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "duplexer3": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz",
+ "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
+ "dev": true
+ },
+ "duplexify": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
+ "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "each-props": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz",
+ "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.1",
+ "object.defaults": "^1.1.0"
+ },
+ "dependencies": {
+ "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": {
+ "isobject": "^3.0.1"
+ }
+ }
+ }
+ },
+ "eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true
+ },
+ "easy-extender": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz",
+ "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.10"
+ }
+ },
+ "eazy-logger": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-4.0.1.tgz",
+ "integrity": "sha512-2GSFtnnC6U4IEKhEI7+PvdxrmjJ04mdsj3wHZTFiw0tUtG4HCWzTr13ZYTk8XOGnA1xQMaDljoBOYlk3D/MMSw==",
+ "dev": true,
+ "requires": {
+ "chalk": "4.1.2"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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": {
+ "jake": "^10.8.5"
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.4.380",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.380.tgz",
+ "integrity": "sha512-XKGdI4pWM78eLH2cbXJHiBnWUwFSzZM7XujsB6stDiGu9AeSqziedP6amNLpJzE3i0rLTcfAwdCTs5ecP5yeSg==",
+ "dev": true
+ },
+ "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
+ },
+ "emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "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
+ },
+ "encoding": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "iconv-lite": "^0.6.2"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "ends-with": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/ends-with/-/ends-with-0.2.0.tgz",
+ "integrity": "sha512-lRppY4dK3VkqBdR242sKcAJeYc8Gf/DhoX9AWvWI2RzccmLnqBQfwm2k4oSDv5MPDjUqawCauXhZkyWxkVhRsg==",
+ "dev": true
+ },
+ "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==",
+ "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"
+ }
+ },
+ "engine.io-client": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz",
+ "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==",
+ "dev": true,
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.11.0",
+ "xmlhttprequest-ssl": "~2.0.0"
+ }
+ },
+ "engine.io-parser": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
+ "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==",
+ "dev": true
+ },
+ "enhanced-resolve": {
+ "version": "5.13.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz",
+ "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ }
+ },
+ "enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^4.1.1"
+ }
+ },
+ "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==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "prr": "~1.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==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "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,
+ "requires": {
+ "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"
+ }
+ },
+ "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
+ },
+ "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": {
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.3",
+ "next-tick": "^1.1.0"
+ }
+ },
+ "es6-denodeify": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-denodeify/-/es6-denodeify-0.1.5.tgz",
+ "integrity": "sha512-731Rf4NqlPvhkT1pIF7r8vZxESJlWocNpXLuyPlVnfEGXlwuJaMvU5WpyyDjpudDC2cgXVX849xljzvQqBg1QQ==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "es6-promise": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
+ "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
+ "es6-weak-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
+ "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.46",
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "esbuild": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz",
+ "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==",
+ "dev": true,
+ "requires": {
+ "@esbuild/android-arm": "0.17.18",
+ "@esbuild/android-arm64": "0.17.18",
+ "@esbuild/android-x64": "0.17.18",
+ "@esbuild/darwin-arm64": "0.17.18",
+ "@esbuild/darwin-x64": "0.17.18",
+ "@esbuild/freebsd-arm64": "0.17.18",
+ "@esbuild/freebsd-x64": "0.17.18",
+ "@esbuild/linux-arm": "0.17.18",
+ "@esbuild/linux-arm64": "0.17.18",
+ "@esbuild/linux-ia32": "0.17.18",
+ "@esbuild/linux-loong64": "0.17.18",
+ "@esbuild/linux-mips64el": "0.17.18",
+ "@esbuild/linux-ppc64": "0.17.18",
+ "@esbuild/linux-riscv64": "0.17.18",
+ "@esbuild/linux-s390x": "0.17.18",
+ "@esbuild/linux-x64": "0.17.18",
+ "@esbuild/netbsd-x64": "0.17.18",
+ "@esbuild/openbsd-x64": "0.17.18",
+ "@esbuild/sunos-x64": "0.17.18",
+ "@esbuild/win32-arm64": "0.17.18",
+ "@esbuild/win32-ia32": "0.17.18",
+ "@esbuild/win32-x64": "0.17.18"
+ }
+ },
+ "esbuild-wasm": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.18.tgz",
+ "integrity": "sha512-h4m5zVa+KaDuRFIbH9dokMwovvkIjTQJS7/Ry+0Z1paVuS9aIkso2vdA2GmwH9GSvGX6w71WveJ3PfkoLuWaRw==",
+ "dev": true
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true
+ },
+ "escape-goat": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
+ "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "escodegen": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==",
+ "dev": true,
+ "requires": {
+ "esprima": "^2.7.1",
+ "estraverse": "^1.9.1",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.2.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==",
+ "dev": true
+ },
+ "estraverse": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+ "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==",
+ "dev": true
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "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
+ },
+ "source-map": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
+ "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ },
+ "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,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ }
+ }
+ },
+ "eslint": {
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz",
+ "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==",
+ "dev": true,
+ "requires": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.4.0",
+ "@eslint/eslintrc": "^2.0.2",
+ "@eslint/js": "8.39.0",
+ "@humanwhocodes/config-array": "^0.11.8",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.2.0",
+ "eslint-visitor-keys": "^3.4.0",
+ "espree": "^9.5.1",
+ "esquery": "^1.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "grapheme-splitter": "^1.0.4",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-sdsl": "^4.1.4",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "strip-ansi": "^6.0.1",
+ "strip-json-comments": "^3.1.0",
+ "text-table": "^0.2.0"
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "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"
+ }
+ },
+ "globals": {
+ "version": "13.20.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
+ "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "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
+ },
+ "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": "^5.0.0"
+ }
+ },
+ "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": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "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": "^3.0.2"
+ }
+ },
+ "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"
+ }
+ },
+ "type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-scope": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
+ "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz",
+ "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==",
+ "dev": true
+ },
+ "espree": {
+ "version": "9.5.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz",
+ "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==",
+ "dev": true,
+ "requires": {
+ "acorn": "^8.8.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.0"
+ }
+ },
+ "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
+ },
+ "esquery": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.1.0"
+ }
+ },
+ "esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.2.0"
+ }
+ },
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "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
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ },
+ "event-target-shim": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-6.0.2.tgz",
+ "integrity": "sha512-8q3LsZjRezbFZ2PN+uP+Q7pnHUMmAOziU2vA2OwoFaKIXxlxl38IylhSSgUorWu/rf4er67w0ikBqjBFk/pomA==",
+ "dev": true
+ },
+ "eventemitter-asyncresource": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz",
+ "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==",
+ "dev": true
+ },
+ "eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+ "dev": true
+ },
+ "events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "dev": true
+ },
+ "execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "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"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==",
+ "dev": true,
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "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"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ }
+ }
+ },
+ "expand-tilde": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==",
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "^1.0.1"
+ }
+ },
+ "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": {
+ "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"
+ },
+ "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
+ },
+ "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,
+ "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"
+ }
+ },
+ "cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "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"
+ }
+ },
+ "finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "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"
+ }
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true
+ },
+ "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.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": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "qs": {
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "dev": true,
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
+ },
+ "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": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ },
+ "send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ }
+ },
+ "statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "dev": true
+ }
+ }
+ },
+ "ext": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
+ "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
+ "dev": true,
+ "requires": {
+ "type": "^2.7.2"
+ },
+ "dependencies": {
+ "type": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
+ "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==",
+ "dev": 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
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "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": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ },
+ "dependencies": {
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "~1.0.2"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ }
+ }
+ },
+ "fancy-log": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
+ "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
+ "dev": true,
+ "requires": {
+ "ansi-gray": "^0.1.1",
+ "color-support": "^1.1.3",
+ "parse-node-version": "^1.0.0",
+ "time-stamp": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "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==",
+ "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"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "fastest-levenshtein": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+ "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+ "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==",
+ "dev": true,
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "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,
+ "requires": {
+ "websocket-driver": ">=0.5.1"
+ }
+ },
+ "fflate": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz",
+ "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw=="
+ },
+ "figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^3.0.4"
+ }
+ },
+ "file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+ "dev": true,
+ "optional": true
+ },
+ "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,
+ "requires": {
+ "minimatch": "^5.0.1"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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==",
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
+ "integrity": "sha512-ejnvM9ZXYzp6PUPUyQBMBf0Co5VX2gr5H2VQe2Ui2jWXNlxv+PYZo8wpAymJNJdLsG1R4p+M4aynF8KuoUEwRw==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.1",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.2",
+ "statuses": "~1.3.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
+ }
+ }
+ },
+ "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": {
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
+ }
+ },
+ "find-index": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
+ "integrity": "sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "findup-sync": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
+ "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
+ "dev": true,
+ "requires": {
+ "detect-file": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "micromatch": "^3.0.4",
+ "resolve-dir": "^1.0.1"
+ },
+ "dependencies": {
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
+ }
+ },
+ "fined": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
+ "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^2.0.2",
+ "is-plain-object": "^2.0.3",
+ "object.defaults": "^1.1.0",
+ "object.pick": "^1.2.0",
+ "parse-filepath": "^1.0.1"
+ },
+ "dependencies": {
+ "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": {
+ "isobject": "^3.0.1"
+ }
+ }
+ }
+ },
+ "flagged-respawn": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
+ "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==",
+ "dev": true
+ },
+ "flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true
+ },
+ "flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "requires": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ }
+ },
+ "flatted": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
+ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+ "dev": true
+ },
+ "flush-write-stream": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
+ "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.3.6"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "is-callable": "^1.1.3"
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
+ "dev": true
+ },
+ "for-own": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.1"
+ }
+ },
+ "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": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "dependencies": {
+ "signal-exit": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz",
+ "integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==",
+ "dev": true
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "dev": true
+ },
+ "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
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "dev": true
+ },
+ "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
+ },
+ "fs-extra": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
+ "integrity": "sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^3.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "minipass": "^5.0.0"
+ }
+ },
+ "fs-mkdirp-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
+ "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "through2": "^2.0.3"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "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==",
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "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
+ },
+ "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": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.3",
+ "console-control-strings": "^1.1.0",
+ "has-unicode": "^2.0.1",
+ "signal-exit": "^3.0.7",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.5"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "get-intrinsic": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
+ "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "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
+ },
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
+ "dev": true
+ },
+ "glob": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ }
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "glob-stream": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
+ "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==",
+ "dev": true,
+ "requires": {
+ "extend": "^3.0.0",
+ "glob": "^7.1.1",
+ "glob-parent": "^3.1.0",
+ "is-negated-glob": "^1.0.0",
+ "ordered-read-streams": "^1.0.0",
+ "pumpify": "^1.3.5",
+ "readable-stream": "^2.1.5",
+ "remove-trailing-separator": "^1.0.1",
+ "to-absolute-glob": "^2.0.0",
+ "unique-stream": "^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"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ }
+ },
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "glob-watcher": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz",
+ "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==",
+ "dev": true,
+ "requires": {
+ "anymatch": "^2.0.0",
+ "async-done": "^1.2.0",
+ "chokidar": "^2.0.0",
+ "is-negated-glob": "^1.0.0",
+ "just-debounce": "^1.0.0",
+ "normalize-path": "^3.0.0",
+ "object.defaults": "^1.1.0"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true,
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ }
+ }
+ },
+ "binary-extensions": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "dev": true
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "chokidar": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
+ "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+ "dev": true,
+ "requires": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "fsevents": "^1.2.7",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.1"
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fsevents": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
+ "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^1.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "readdirp": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
+ }
+ },
+ "glob2base": {
+ "version": "0.0.12",
+ "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
+ "integrity": "sha512-ZyqlgowMbfj2NPjxaZZ/EtsXlOch28FRXgMd64vqZWk1bT9+wvSRLYD1om9M7QfQru51zJPAT17qXm4/zd+9QA==",
+ "dev": true,
+ "requires": {
+ "find-index": "^0.1.1"
+ }
+ },
+ "global-dirs": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz",
+ "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==",
+ "dev": true,
+ "requires": {
+ "ini": "1.3.7"
+ },
+ "dependencies": {
+ "ini": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
+ "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==",
+ "dev": true
+ }
+ }
+ },
+ "global-modules": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "dev": true,
+ "requires": {
+ "global-prefix": "^1.0.1",
+ "is-windows": "^1.0.1",
+ "resolve-dir": "^1.0.0"
+ }
+ },
+ "global-prefix": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+ "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^2.0.2",
+ "homedir-polyfill": "^1.0.1",
+ "ini": "^1.3.4",
+ "is-windows": "^1.0.1",
+ "which": "^1.2.14"
+ },
+ "dependencies": {
+ "ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "requires": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ }
+ },
+ "globjoin": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
+ "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==",
+ "dev": true
+ },
+ "glogg": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
+ "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
+ "dev": true,
+ "requires": {
+ "sparkles": "^1.0.0"
+ }
+ },
+ "gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "dev": true,
+ "requires": {
+ "get-intrinsic": "^1.1.3"
+ }
+ },
+ "got": {
+ "version": "9.6.0",
+ "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
+ "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
+ "dev": true,
+ "requires": {
+ "@sindresorhus/is": "^0.14.0",
+ "@szmarczak/http-timer": "^1.1.2",
+ "cacheable-request": "^6.0.0",
+ "decompress-response": "^3.3.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^4.1.0",
+ "lowercase-keys": "^1.0.1",
+ "mimic-response": "^1.0.1",
+ "p-cancelable": "^1.0.0",
+ "to-readable-stream": "^1.0.0",
+ "url-parse-lax": "^3.0.0"
+ }
+ },
+ "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
+ },
+ "grapheme-splitter": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+ "dev": true
+ },
+ "gulp": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz",
+ "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==",
+ "dev": true,
+ "requires": {
+ "glob-watcher": "^5.0.3",
+ "gulp-cli": "^2.2.0",
+ "undertaker": "^1.2.1",
+ "vinyl-fs": "^3.0.0"
+ }
+ },
+ "gulp-cached": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/gulp-cached/-/gulp-cached-1.1.1.tgz",
+ "integrity": "sha512-OEGsICR6Vmx0VK3nhpy5MGPzAjeDYC3+NKxNtJAu4DW8L15oy8tCe2WuD6HDEj9BsbSopnOBiXPK95YHvO0DpA==",
+ "dev": true,
+ "requires": {
+ "lodash.defaults": "^4.2.0",
+ "through2": "^2.0.1"
+ }
+ },
+ "gulp-cli": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz",
+ "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^1.0.1",
+ "archy": "^1.0.0",
+ "array-sort": "^1.0.0",
+ "color-support": "^1.1.3",
+ "concat-stream": "^1.6.0",
+ "copy-props": "^2.0.1",
+ "fancy-log": "^1.3.2",
+ "gulplog": "^1.0.0",
+ "interpret": "^1.4.0",
+ "isobject": "^3.0.1",
+ "liftoff": "^3.1.0",
+ "matchdep": "^2.0.0",
+ "mute-stdout": "^1.0.0",
+ "pretty-hrtime": "^1.0.0",
+ "replace-homedir": "^1.0.0",
+ "semver-greatest-satisfied-range": "^1.1.0",
+ "v8flags": "^3.2.0",
+ "yargs": "^7.1.0"
+ },
+ "dependencies": {
+ "ansi-colors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
+ "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "^0.1.0"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "dev": true
+ },
+ "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
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ }
+ },
+ "y18n": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz",
+ "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz",
+ "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^3.0.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^1.4.0",
+ "read-pkg-up": "^1.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^1.0.2",
+ "which-module": "^1.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^5.0.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz",
+ "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^3.0.0",
+ "object.assign": "^4.1.0"
+ }
+ }
+ }
+ },
+ "gulp-concat": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
+ "integrity": "sha512-a2scActrQrDBpBbR3WUZGyGS1JEPLg5PZJdIa7/Bi3GuKAmPYDK6SFhy/NZq5R8KsKKFvtfR0fakbUCcKGCCjg==",
+ "dev": true,
+ "requires": {
+ "concat-with-sourcemaps": "^1.0.0",
+ "through2": "^2.0.0",
+ "vinyl": "^2.0.0"
+ }
+ },
+ "gulp-postcss": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/gulp-postcss/-/gulp-postcss-9.0.1.tgz",
+ "integrity": "sha512-9QUHam5JyXwGUxaaMvoFQVT44tohpEFpM8xBdPfdwTYGM0AItS1iTQz0MpsF8Jroh7GF5Jt2GVPaYgvy8qD2Fw==",
+ "dev": true,
+ "requires": {
+ "fancy-log": "^1.3.3",
+ "plugin-error": "^1.0.1",
+ "postcss-load-config": "^3.0.0",
+ "vinyl-sourcemaps-apply": "^0.2.1"
+ }
+ },
+ "gulp-sass": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.1.0.tgz",
+ "integrity": "sha512-7VT0uaF+VZCmkNBglfe1b34bxn/AfcssquLKVDYnCDJ3xNBaW7cUuI3p3BQmoKcoKFrs9jdzUxyb+u+NGfL4OQ==",
+ "dev": true,
+ "requires": {
+ "lodash.clonedeep": "^4.5.0",
+ "picocolors": "^1.0.0",
+ "plugin-error": "^1.0.1",
+ "replace-ext": "^2.0.0",
+ "strip-ansi": "^6.0.1",
+ "vinyl-sourcemaps-apply": "^0.2.1"
+ }
+ },
+ "gulp-shell": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.6.5.tgz",
+ "integrity": "sha512-f3m1WcS0o2B72/PGj1Jbv9zYR9rynBh/EQJv64n01xQUo7j7anols0eww9GG/WtDTzGVQLrupVDYkifRFnj5Zg==",
+ "dev": true,
+ "requires": {
+ "async": "^2.1.5",
+ "chalk": "^2.3.0",
+ "fancy-log": "^1.3.2",
+ "lodash": "^4.17.4",
+ "lodash.template": "^4.4.0",
+ "plugin-error": "^0.1.2",
+ "through2": "^2.0.3"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
+ "integrity": "sha512-OQwDZUqYaQwyyhDJHThmzId8daf4/RFNLaeh3AevmSeZ5Y7ug4Ga/yKc6l6kTZOBW781rCj103ZuTh8GAsB3+Q==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.0.1",
+ "array-slice": "^0.2.3"
+ }
+ },
+ "arr-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
+ "integrity": "sha512-t5db90jq+qdgk8aFnxEkjqta0B/GHrM1pxzuuZz2zWsOXc5nKu3t+76s/PQBA8FTcM/ipspIH9jWG4OxCBc2eA==",
+ "dev": true
+ },
+ "array-slice": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "integrity": "sha512-rlVfZW/1Ph2SNySXwR9QYkChp8EkOEiTMO5Vwx60usw04i4nWemkm9RXmQqgkQFaLHsqLuADvjp6IfgL9l2M8Q==",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
+ "integrity": "sha512-L7AGmkO6jhDkEBBGWlLtftA80Xq8DipnrRPr0pyi7GQLXkaq9JYA4xF4z6qnadIC6euiTDKco0cGSU9muw+WTw==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^1.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
+ "integrity": "sha512-aUH6ElPnMGon2/YkxRIigV32MOpTVcoXQ1Oo8aYn40s+sJ3j+0gFZsT8HKDcxNy7Fi9zuquWtGaGAahOdv5p/g==",
+ "dev": true
+ },
+ "plugin-error": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
+ "integrity": "sha512-WzZHcm4+GO34sjFMxQMqZbsz3xiNEgonCskQ9v+IroMmYgk/tas8dG+Hr2D6IbRPybZ12oWpzE/w3cGJ6FJzOw==",
+ "dev": true,
+ "requires": {
+ "ansi-cyan": "^0.1.1",
+ "ansi-red": "^0.1.1",
+ "arr-diff": "^1.0.1",
+ "arr-union": "^2.0.1",
+ "extend-shallow": "^1.1.2"
+ }
+ }
+ }
+ },
+ "gulp-sourcemaps": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz",
+ "integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==",
+ "dev": true,
+ "requires": {
+ "@gulp-sourcemaps/identity-map": "^2.0.1",
+ "@gulp-sourcemaps/map-sources": "^1.0.0",
+ "acorn": "^6.4.1",
+ "convert-source-map": "^1.0.0",
+ "css": "^3.0.0",
+ "debug-fabulous": "^1.0.0",
+ "detect-newline": "^2.0.0",
+ "graceful-fs": "^4.0.0",
+ "source-map": "^0.6.0",
+ "strip-bom-string": "^1.0.0",
+ "through2": "^2.0.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
+ "dev": 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
+ }
+ }
+ },
+ "gulp-typescript": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/gulp-typescript/-/gulp-typescript-5.0.1.tgz",
+ "integrity": "sha512-YuMMlylyJtUSHG1/wuSVTrZp60k1dMEFKYOvDf7OvbAJWrDtxxD4oZon4ancdWwzjj30ztiidhe4VXJniF0pIQ==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^3.0.5",
+ "plugin-error": "^1.0.1",
+ "source-map": "^0.7.3",
+ "through2": "^3.0.0",
+ "vinyl": "^2.1.0",
+ "vinyl-fs": "^3.0.3"
+ },
+ "dependencies": {
+ "ansi-colors": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
+ "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
+ "dev": true
+ },
+ "through2": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
+ "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.4",
+ "readable-stream": "2 || 3"
+ }
+ }
+ }
+ },
+ "gulp-uglify": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz",
+ "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==",
+ "dev": true,
+ "requires": {
+ "array-each": "^1.0.1",
+ "extend-shallow": "^3.0.2",
+ "gulplog": "^1.0.0",
+ "has-gulplog": "^0.1.0",
+ "isobject": "^3.0.1",
+ "make-error-cause": "^1.1.1",
+ "safe-buffer": "^5.1.2",
+ "through2": "^2.0.0",
+ "uglify-js": "^3.0.5",
+ "vinyl-sourcemaps-apply": "^0.2.0"
+ }
+ },
+ "gulplog": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==",
+ "dev": true,
+ "requires": {
+ "glogg": "^1.0.0"
+ }
+ },
+ "hammer-simulator": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/hammer-simulator/-/hammer-simulator-0.0.1.tgz",
+ "integrity": "sha512-WbyZImCJlHOs2HtkPJSCksq1i/V/MIbpk44/ALOCTF03FvOKhWcwAl3x4W9dQm8cW0VCM57HpxaCjslDEYPIJg==",
+ "dev": true
+ },
+ "hammerjs": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
+ "integrity": "sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ=="
+ },
+ "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
+ },
+ "handlebars": {
+ "version": "4.7.7",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
+ "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5",
+ "neo-async": "^2.6.0",
+ "source-map": "^0.6.1",
+ "uglify-js": "^3.1.4",
+ "wordwrap": "^1.0.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
+ }
+ }
+ },
+ "hard-rejection": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
+ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
+ "dev": true
+ },
+ "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": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "has-gulplog": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "integrity": "sha512-+F4GzLjwHNNDEAJW2DC1xXfEoPkRDmUdJ7CBYw4MpqtDwOnqdImJl7GWlpqx+Wko6//J8uKTnIe4wZSv7yCqmw==",
+ "dev": true,
+ "requires": {
+ "sparkles": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "get-intrinsic": "^1.1.1"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "has-symbols": "^1.0.2"
+ }
+ },
+ "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
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "has-yarn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
+ "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
+ "dev": true
+ },
+ "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": {
+ "@assemblyscript/loader": "^0.10.1",
+ "base64-js": "^1.2.0",
+ "pako": "^1.0.3"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "homedir-polyfill": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
+ "dev": true,
+ "requires": {
+ "parse-passwd": "^1.0.0"
+ }
+ },
+ "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": {
+ "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
+ }
+ }
+ },
+ "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": {
+ "inherits": "^2.0.1",
+ "obuf": "^1.0.0",
+ "readable-stream": "^2.0.1",
+ "wbuf": "^1.1.0"
+ }
+ },
+ "html-entities": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz",
+ "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==",
+ "dev": true
+ },
+ "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
+ },
+ "html-minifier": {
+ "version": "3.5.21",
+ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz",
+ "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==",
+ "dev": true,
+ "requires": {
+ "camel-case": "3.0.x",
+ "clean-css": "4.2.x",
+ "commander": "2.17.x",
+ "he": "1.2.x",
+ "param-case": "2.1.x",
+ "relateurl": "0.2.x",
+ "uglify-js": "3.4.x"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.17.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
+ "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
+ "dev": true
+ },
+ "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
+ },
+ "uglify-js": {
+ "version": "3.4.10",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",
+ "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==",
+ "dev": true,
+ "requires": {
+ "commander": "~2.19.0",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
+ "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "html-tags": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz",
+ "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
+ "dev": true
+ },
+ "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": {
+ "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": {
+ "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": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "dependencies": {
+ "statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "dev": true
+ }
+ }
+ },
+ "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": {
+ "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": {
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "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": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "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": {
+ "@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"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "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
+ },
+ "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": {
+ "ms": "^2.0.0"
+ }
+ },
+ "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": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "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,
+ "requires": {}
+ },
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "dev": true
+ },
+ "ig-typedoc-theme": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/ig-typedoc-theme/-/ig-typedoc-theme-4.2.0.tgz",
+ "integrity": "sha512-GSrGW/wdXLNi4O1CovqmrlpxRJaLhu+jfVWS99337deN2PR2PQbNJ2IWGjKbFI4mARJjW+Anr3iQj95gHmuPzw==",
+ "dev": true
+ },
+ "igniteui-sassdoc-theme": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/igniteui-sassdoc-theme/-/igniteui-sassdoc-theme-1.1.6.tgz",
+ "integrity": "sha512-BR+4Q7NdSHeGU6tiw1eVz3cJWHJdaComKjX5SyQIkaQv030q4pOK2QiDt3JPfcVc5qB4Swl8SwyEEo2dZG3EEg==",
+ "dev": true,
+ "requires": {
+ "extend": ">=2.0.2",
+ "handlebars": "^4.7.2",
+ "sassdoc-extras": "^2.5.1",
+ "themeleon": "^3.0.0"
+ }
+ },
+ "igniteui-theming": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/igniteui-theming/-/igniteui-theming-1.4.2.tgz",
+ "integrity": "sha512-XuKQFLl4aoRj74fXRVWfznLyVrRfAHb0pft4NyCAF+x58+5C0SXlOz8asbjtPEMw6jAPK4P3tq4mWtjHJrTCww==",
+ "requires": {}
+ },
+ "igniteui-trial-watermark": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/igniteui-trial-watermark/-/igniteui-trial-watermark-1.0.3.tgz",
+ "integrity": "sha512-q6thtu+7R6MOB+i9GorFPCcWeOImW43BzCAtKnDAYWwaoueb8Lg1EhBkIhAyfEIH+yZ/9c5lnZdU61/GRPoP+g=="
+ },
+ "igniteui-webcomponents": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/igniteui-webcomponents/-/igniteui-webcomponents-4.2.3.tgz",
+ "integrity": "sha512-2SDxdmfTa1a9i8HaO7sXY6KvIwWH/aJyp4cUItpRn3X/7CfhcQjEZfrsPT8i3+Vy2iadwj2sI9THNdpxQeGduw==",
+ "dev": true,
+ "requires": {
+ "@floating-ui/dom": "^1.2.0",
+ "@lit-labs/virtualizer": "^1.0.1",
+ "lit": "^2.6.1"
+ }
+ },
+ "ignore": {
+ "version": "5.2.4",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
+ "dev": true
+ },
+ "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": {
+ "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"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "immutable": {
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz",
+ "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==",
+ "dev": true
+ },
+ "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": {
+ "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
+ }
+ }
+ },
+ "import-lazy": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
+ "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
+ "dev": true
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true
+ },
+ "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
+ },
+ "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": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "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": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-4.0.0.tgz",
+ "integrity": "sha512-t0ikzf5qkSFqRl1e6ejKBe+Tk2bsQd8ivEkcisyGXsku2t8NvXZ1Y3RRz5vxrDgOrTBOi13CvGsVoI5wVpd7xg==",
+ "dev": true
+ },
+ "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": {
+ "tslib": "^2.0.0"
+ }
+ },
+ "inquirer": {
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
+ "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.1",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "0.0.8",
+ "ora": "^5.4.1",
+ "run-async": "^2.4.0",
+ "rxjs": "^7.5.5",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6",
+ "wrap-ansi": "^7.0.0"
+ },
+ "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
+ },
+ "rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "get-intrinsic": "^1.2.0",
+ "has": "^1.0.3",
+ "side-channel": "^1.0.4"
+ }
+ },
+ "interpret": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
+ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
+ "dev": true
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==",
+ "dev": true
+ },
+ "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
+ },
+ "is-absolute": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+ "dev": true,
+ "requires": {
+ "is-relative": "^1.0.0",
+ "is-windows": "^1.0.1"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.0",
+ "is-typed-array": "^1.1.10"
+ }
+ },
+ "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-bigint": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+ "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+ "dev": true,
+ "requires": {
+ "has-bigints": "^1.0.1"
+ }
+ },
+ "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==",
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "builtin-modules": "^3.3.0"
+ }
+ },
+ "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
+ },
+ "is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "dev": true,
+ "requires": {
+ "ci-info": "^2.0.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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-tostringtag": "^1.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ },
+ "dependencies": {
+ "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": {
+ "isobject": "^3.0.1"
+ }
+ }
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
+ },
+ "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
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-installed-globally": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
+ "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==",
+ "dev": true,
+ "requires": {
+ "global-dirs": "^2.0.1",
+ "is-path-inside": "^3.0.1"
+ }
+ },
+ "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
+ },
+ "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-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
+ },
+ "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-negated-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
+ "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==",
+ "dev": true
+ },
+ "is-npm": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz",
+ "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-number-like": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz",
+ "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==",
+ "dev": true,
+ "requires": {
+ "lodash.isfinite": "^3.3.2"
+ }
+ },
+ "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,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+ "dev": true
+ },
+ "is-promise": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-relative": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+ "dev": true,
+ "requires": {
+ "is-unc-path": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "call-bind": "^1.0.2"
+ }
+ },
+ "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
+ },
+ "is-string": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+ "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "has-symbols": "^1.0.2"
+ }
+ },
+ "is-typed-array": {
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
+ "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
+ "dev": true
+ },
+ "is-unc-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+ "dev": true,
+ "requires": {
+ "unc-path-regex": "^0.1.2"
+ }
+ },
+ "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
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==",
+ "dev": true
+ },
+ "is-valid-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
+ "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==",
+ "dev": true
+ },
+ "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
+ },
+ "is-weakset": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
+ "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ }
+ },
+ "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-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
+ },
+ "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": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "is-yarn-global": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
+ "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
+ "dev": true
+ },
+ "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": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz",
+ "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "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
+ },
+ "istanbul": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
+ "integrity": "sha512-nMtdn4hvK0HjUlzr1DrKSUY8ychprt8dzHOgY2KXsIhHu5PuQQEOTM27gV9Xblyon7aUH/TSFIjRHEODF/FRPg==",
+ "dev": true,
+ "requires": {
+ "abbrev": "1.0.x",
+ "async": "1.x",
+ "escodegen": "1.8.x",
+ "esprima": "2.7.x",
+ "glob": "^5.0.15",
+ "handlebars": "^4.0.1",
+ "js-yaml": "3.x",
+ "mkdirp": "0.5.x",
+ "nopt": "3.x",
+ "once": "1.x",
+ "resolve": "1.1.x",
+ "supports-color": "^3.1.0",
+ "which": "^1.1.1",
+ "wordwrap": "^1.0.0"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==",
+ "dev": true
+ },
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==",
+ "dev": true
+ },
+ "glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==",
+ "dev": true,
+ "requires": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==",
+ "dev": true
+ },
+ "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
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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,
+ "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": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "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
+ }
+ }
+ },
+ "istanbul-reports": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
+ "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
+ "dev": true,
+ "requires": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ }
+ },
+ "jackspeak": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.0.tgz",
+ "integrity": "sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ==",
+ "dev": true,
+ "requires": {
+ "@isaacs/cliui": "^8.0.2",
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "jake": {
+ "version": "10.8.5",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
+ "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+ "dev": true,
+ "requires": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ },
+ "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"
+ }
+ },
+ "async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+ "dev": true
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "jasmine": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.6.0.tgz",
+ "integrity": "sha512-iq7HQ5M8ydNUspjd9vbFW9Lu+6lQ1QLDIqjl0WysEllF5EJZy8XaUyNlhCJVwOx2YFzqTtARWbS56F/f0PzRFw==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.6",
+ "jasmine-core": "^4.6.0"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "jasmine-core": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz",
+ "integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==",
+ "dev": true
+ },
+ "jest-diff": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+ "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "jest-get-type": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+ "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "js-sdsl": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
+ "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==",
+ "dev": true
+ },
+ "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": {
+ "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": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "json-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
+ "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
+ "dev": true
+ },
+ "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": {
+ "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
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true
+ },
+ "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": "3.0.1",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
+ "integrity": "sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "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
+ },
+ "just-debounce": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz",
+ "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==",
+ "dev": true
+ },
+ "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": {
+ "@colors/colors": "1.5.0",
+ "body-parser": "^1.19.0",
+ "braces": "^3.0.2",
+ "chokidar": "^3.5.1",
+ "connect": "^3.7.0",
+ "di": "^0.0.1",
+ "dom-serialize": "^2.2.1",
+ "glob": "^7.1.7",
+ "graceful-fs": "^4.2.6",
+ "http-proxy": "^1.18.1",
+ "isbinaryfile": "^4.0.8",
+ "lodash": "^4.17.21",
+ "log4js": "^6.4.1",
+ "mime": "^2.5.2",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.5",
+ "qjobs": "^1.2.0",
+ "range-parser": "^1.2.1",
+ "rimraf": "^3.0.2",
+ "socket.io": "^4.4.1",
+ "source-map": "^0.6.1",
+ "tmp": "^0.2.1",
+ "ua-parser-js": "^0.7.30",
+ "yargs": "^16.1.1"
+ },
+ "dependencies": {
+ "connect": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
+ "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "finalhandler": "1.1.2",
+ "parseurl": "~1.3.3",
+ "utils-merge": "1.0.1"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": 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
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ }
+ }
+ },
+ "karma-chrome-launcher": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
+ "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
+ "dev": true,
+ "requires": {
+ "which": "^1.2.1"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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==",
+ "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"
+ }
+ },
+ "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,
+ "requires": {
+ "jasmine-core": "^4.1.0"
+ }
+ },
+ "karma-junit-reporter": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-2.0.1.tgz",
+ "integrity": "sha512-VtcGfE0JE4OE1wn0LK8xxDKaTP7slN8DO3I+4xg6gAi1IoAHAXOJ1V9G/y45Xg6sxdxPOR3THCFtDlAfBo9Afw==",
+ "dev": true,
+ "requires": {
+ "path-is-absolute": "^1.0.0",
+ "xmlbuilder": "12.0.0"
+ }
+ },
+ "karma-parallel": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/karma-parallel/-/karma-parallel-0.3.1.tgz",
+ "integrity": "sha512-64jxNYamYi/9Y67h4+FfViSYhwDgod3rLuq+ZdZ0c3XeZFp/3q3v3HVkd8b5Czp3hCB+LLF8DIv4zlR4xFqbRw==",
+ "dev": true,
+ "requires": {
+ "istanbul": "^0.4.5",
+ "lodash": "^4.17.11"
+ }
+ },
+ "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,
+ "requires": {
+ "source-map-support": "^0.5.5"
+ }
+ },
+ "karma-spec-reporter": {
+ "version": "0.0.36",
+ "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.36.tgz",
+ "integrity": "sha512-11bvOl1x6ryKZph7kmbmMpbi8vsngEGxGOoeTlIcDaH3ab3j8aPJnZ+r+K/SS0sBSGy5VGkGYO2+hLct7hw/6w==",
+ "dev": true,
+ "requires": {
+ "colors": "1.4.0"
+ }
+ },
+ "keyv": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
+ "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
+ "dev": true,
+ "requires": {
+ "json-buffer": "3.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ },
+ "klona": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
+ "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
+ "dev": true
+ },
+ "known-css-properties": {
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz",
+ "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==",
+ "dev": true
+ },
+ "last-run": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz",
+ "integrity": "sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==",
+ "dev": true,
+ "requires": {
+ "default-resolution": "^2.0.0",
+ "es6-weak-map": "^2.0.1"
+ }
+ },
+ "latest-version": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
+ "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
+ "dev": true,
+ "requires": {
+ "package-json": "^6.3.0"
+ }
+ },
+ "launch-editor": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz",
+ "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==",
+ "dev": true,
+ "requires": {
+ "picocolors": "^1.0.0",
+ "shell-quote": "^1.7.3"
+ }
+ },
+ "lazystream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
+ "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.5"
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "lead": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
+ "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==",
+ "dev": true,
+ "requires": {
+ "flush-write-stream": "^1.0.2"
+ }
+ },
+ "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": {
+ "copy-anything": "^2.0.1",
+ "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"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ }
+ }
+ },
+ "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": {
+ "klona": "^2.0.4"
+ }
+ },
+ "levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ }
+ },
+ "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": {
+ "webpack-sources": "^3.0.0"
+ }
+ },
+ "liftoff": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz",
+ "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==",
+ "dev": true,
+ "requires": {
+ "extend": "^3.0.0",
+ "findup-sync": "^3.0.0",
+ "fined": "^1.0.1",
+ "flagged-respawn": "^1.0.0",
+ "is-plain-object": "^2.0.4",
+ "object.map": "^1.0.0",
+ "rechoir": "^0.6.2",
+ "resolve": "^1.1.7"
+ },
+ "dependencies": {
+ "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": {
+ "isobject": "^3.0.1"
+ }
+ }
+ }
+ },
+ "lilconfig": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+ "dev": true
+ },
+ "limiter": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz",
+ "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==",
+ "dev": true
+ },
+ "lines-and-columns": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz",
+ "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==",
+ "dev": true
+ },
+ "lit": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.3.tgz",
+ "integrity": "sha512-0a+u+vVbmgSfPu+fyvqjMPBX0Kwbyj9QOv9MbQFZhWGlV2cyk3lEwgfUQgYN+i/lx++1Z3wZknSIp3QCKxHLyg==",
+ "dev": true,
+ "requires": {
+ "@lit/reactive-element": "^1.6.0",
+ "lit-element": "^3.3.0",
+ "lit-html": "^2.7.0"
+ }
+ },
+ "lit-element": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.2.tgz",
+ "integrity": "sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ==",
+ "dev": true,
+ "requires": {
+ "@lit-labs/ssr-dom-shim": "^1.1.0",
+ "@lit/reactive-element": "^1.3.0",
+ "lit-html": "^2.7.0"
+ }
+ },
+ "lit-html": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.7.3.tgz",
+ "integrity": "sha512-9DyLzcn/kbRGowz2vFmSANFbRZTxYUgYYFqzie89w6GLpPUiBCDHfcdeRUV/k3Q2ueYxNjfv46yPCtKAEAPOVw==",
+ "dev": true,
+ "requires": {
+ "@types/trusted-types": "^2.0.2"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "localtunnel": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz",
+ "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==",
+ "dev": true,
+ "requires": {
+ "axios": "0.21.4",
+ "debug": "4.3.2",
+ "openurl": "1.1.1",
+ "yargs": "17.1.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "yargs": {
+ "version": "17.1.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz",
+ "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==",
+ "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
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+ },
+ "lodash._basebind": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz",
+ "integrity": "sha512-VGHm6DH+1UiuafQdE/DNMqxOcSyhRu0xO9+jPDq7xITRn5YOorGrHVQmavMVXCYmTm80YRTZZCn/jTW7MokwLg==",
+ "dev": true,
+ "requires": {
+ "lodash._basecreate": "~2.4.1",
+ "lodash._setbinddata": "~2.4.1",
+ "lodash._slice": "~2.4.1",
+ "lodash.isobject": "~2.4.1"
+ }
+ },
+ "lodash._basecreate": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz",
+ "integrity": "sha512-8JJ3FnMPm54t3BwPLk8q8mPyQKQXm/rt9df+awr4NGtyJrtcCXM3Of1I86S6jVy1b4yAyFBb8wbKPEauuqzRmQ==",
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "~2.4.1",
+ "lodash.isobject": "~2.4.1",
+ "lodash.noop": "~2.4.1"
+ }
+ },
+ "lodash._basecreatecallback": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz",
+ "integrity": "sha512-SLczhg860fGW7AKlYcuOFstDtJuQhaANlJ4Y/jrOoRxhmVtK41vbJDH3OefVRSRkSCQo4HI82QVkAVsoGa5gSw==",
+ "dev": true,
+ "requires": {
+ "lodash._setbinddata": "~2.4.1",
+ "lodash.bind": "~2.4.1",
+ "lodash.identity": "~2.4.1",
+ "lodash.support": "~2.4.1"
+ }
+ },
+ "lodash._basecreatewrapper": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz",
+ "integrity": "sha512-x2ja1fa/qmzbizuXgVM4QAP9svtMbdxjG8Anl9bCeDAwLOVQ1vLrA0hLb/NkpbGi9evjtkl0aWLTEoOlUdBPQA==",
+ "dev": true,
+ "requires": {
+ "lodash._basecreate": "~2.4.1",
+ "lodash._setbinddata": "~2.4.1",
+ "lodash._slice": "~2.4.1",
+ "lodash.isobject": "~2.4.1"
+ }
+ },
+ "lodash._createwrapper": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz",
+ "integrity": "sha512-5TCfLt1haQpsa7bgLYRKNNE4yqhO4ZxIayN1btQmazMchO6Q8JYFRMqbJ3W+uNmMm4R0Jw7KGkZX5YfDDnywuw==",
+ "dev": true,
+ "requires": {
+ "lodash._basebind": "~2.4.1",
+ "lodash._basecreatewrapper": "~2.4.1",
+ "lodash._slice": "~2.4.1",
+ "lodash.isfunction": "~2.4.1"
+ }
+ },
+ "lodash._isnative": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "integrity": "sha512-BOlKGKNHhCHswGOWtmVb5zBygyxN7EmTuzVOSQI6QSoGhG+kvv71gICFS1TBpnqvT1n53txK8CDK3u5D2/GZxQ==",
+ "dev": true
+ },
+ "lodash._objecttypes": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
+ "integrity": "sha512-XpqGh1e7hhkOzftBfWE7zt+Yn9mVHFkDhicVttvKLsoCMLVVL+xTQjfjB4X4vtznauxv0QZ5ZAeqjvat0dh62Q==",
+ "dev": true
+ },
+ "lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==",
+ "dev": true
+ },
+ "lodash._setbinddata": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz",
+ "integrity": "sha512-Vx0XKzpg2DFbQw4wrp1xSWd2sfl3W/BG6bucSRZmftS1AzbWRemCmBQDxyQTNhlLNec428PXkuuja+VNBZgu2A==",
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "~2.4.1",
+ "lodash.noop": "~2.4.1"
+ }
+ },
+ "lodash._shimkeys": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+ "integrity": "sha512-lBrglYxLD/6KAJ8IEa5Lg+YHgNAL7FyKqXg4XOUI+Du/vtniLs1ZqS+yHNKPkK54waAgkdUnDOYaWf+rv4B+AA==",
+ "dev": true,
+ "requires": {
+ "lodash._objecttypes": "~2.4.1"
+ }
+ },
+ "lodash._slice": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz",
+ "integrity": "sha512-+odPJa4PE2UgYnQgJgkLs0UD03QU78R2ivhrFnG9GdtYOZdE6ObxOj7KiUEUlqOOgatFT+ZqSypFjDSduTigKg==",
+ "dev": true
+ },
+ "lodash.assign": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz",
+ "integrity": "sha512-AqQ4AJz5buSx9ELXWt5dONwJyVPd4NTADMKhoVYWCugjoVf172/LpvVhwmSJn4g8/Dc0S8hxTe8rt5Dob3X9KQ==",
+ "dev": true,
+ "requires": {
+ "lodash._basecreatecallback": "~2.4.1",
+ "lodash._objecttypes": "~2.4.1",
+ "lodash.keys": "~2.4.1"
+ }
+ },
+ "lodash.bind": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz",
+ "integrity": "sha512-hn2VWYZ+N9aYncRad4jORvlGgpFrn+axnPIWRvFxjk6CWcZH5b5alI8EymYsHITI23Z9wrW/+ORq+azrVFpOfw==",
+ "dev": true,
+ "requires": {
+ "lodash._createwrapper": "~2.4.1",
+ "lodash._slice": "~2.4.1"
+ }
+ },
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
+ "dev": true
+ },
+ "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
+ },
+ "lodash.defaults": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==",
+ "dev": true
+ },
+ "lodash.difference": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
+ "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==",
+ "dev": true
+ },
+ "lodash.identity": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz",
+ "integrity": "sha512-VRYX+8XipeLjorag5bz3YBBRJ+5kj8hVBzfnaHgXPZAVTYowBdY5l0M5ZnOmlAMCOXBFabQtm7f5VqjMKEji0w==",
+ "dev": true
+ },
+ "lodash.isfinite": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz",
+ "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==",
+ "dev": true
+ },
+ "lodash.isfunction": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz",
+ "integrity": "sha512-6XcAB3izeQxPOQQNAJbbdjXbvWEt2Pn9ezPrjr4CwoLwmqsLVbsiEXD19cmmt4mbzOCOCdHzOQiUivUOJLra7w==",
+ "dev": true
+ },
+ "lodash.isobject": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
+ "integrity": "sha512-sTebg2a1PoicYEZXD5PBdQcTlIJ6hUslrlWr7iV0O7n+i4596s2NQ9I5CaZ5FbXSfya/9WQsrYLANUJv9paYVA==",
+ "dev": true,
+ "requires": {
+ "lodash._objecttypes": "~2.4.1"
+ }
+ },
+ "lodash.keys": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "integrity": "sha512-ZpJhwvUXHSNL5wYd1RM6CUa2ZuqorG9ngoJ9Ix5Cce+uX7I5O/E06FCJdhSZ33b5dVyeQDnIlWH7B2s5uByZ7g==",
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "~2.4.1",
+ "lodash._shimkeys": "~2.4.1",
+ "lodash.isobject": "~2.4.1"
+ }
+ },
+ "lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
+ "lodash.noop": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz",
+ "integrity": "sha512-uNcV98/blRhInPUGQEnj9ekXXfG+q+rfoNSFZgl/eBfog9yBDW9gfUv2AHX/rAF7zZRlzWhbslGhbGQFZlCkZA==",
+ "dev": true
+ },
+ "lodash.support": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz",
+ "integrity": "sha512-6SwqWwGFHhTXEiqB/yQgu8FYd//tm786d49y7kizHVCJH7zdzs191UQn3ES3tkkDbUddNRfkCRYqJFHtbLnbCw==",
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "~2.4.1"
+ }
+ },
+ "lodash.template": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
+ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
+ "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0"
+ }
+ },
+ "lodash.truncate": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+ "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
+ "dev": true
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
+ "dev": true
+ },
+ "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": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.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"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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": {
+ "date-format": "^4.0.14",
+ "debug": "^4.3.4",
+ "flatted": "^3.2.7",
+ "rfdc": "^1.3.0",
+ "streamroller": "^3.1.5"
+ }
+ },
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==",
+ "dev": true
+ },
+ "lowercase-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
+ "dev": true
+ },
+ "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": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "lru-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+ "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
+ "dev": true,
+ "requires": {
+ "es5-ext": "~0.10.2"
+ }
+ },
+ "lunr": {
+ "version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
+ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
+ "dev": true
+ },
+ "magic-string": {
+ "version": "0.30.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
+ "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/sourcemap-codec": "^1.4.13"
+ }
+ },
+ "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": {
+ "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
+ }
+ }
+ },
+ "make-error": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+ "dev": true
+ },
+ "make-error-cause": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
+ "integrity": "sha512-4TO2Y3HkBnis4c0dxhAgD/jprySYLACf7nwN6V0HAHDx59g12WlRpUmFy1bRHamjGUEEBrEvCq6SUpsEE2lhUg==",
+ "dev": true,
+ "requires": {
+ "make-error": "^1.2.0"
+ }
+ },
+ "make-fetch-happen": {
+ "version": "10.2.1",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz",
+ "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==",
+ "dev": true,
+ "requires": {
+ "agentkeepalive": "^4.2.1",
+ "cacache": "^16.1.0",
+ "http-cache-semantics": "^4.1.0",
+ "http-proxy-agent": "^5.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "is-lambda": "^1.0.1",
+ "lru-cache": "^7.7.1",
+ "minipass": "^3.1.6",
+ "minipass-collect": "^1.0.2",
+ "minipass-fetch": "^2.0.3",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^0.6.3",
+ "promise-retry": "^2.0.1",
+ "socks-proxy-agent": "^7.0.0",
+ "ssri": "^9.0.0"
+ },
+ "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"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ },
+ "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
+ }
+ }
+ },
+ "make-iterator": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
+ "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.2"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
+ "dev": true
+ },
+ "map-obj": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
+ "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "marked": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.3.tgz",
+ "integrity": "sha512-Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ==",
+ "dev": true
+ },
+ "matchdep": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz",
+ "integrity": "sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==",
+ "dev": true,
+ "requires": {
+ "findup-sync": "^2.0.0",
+ "micromatch": "^3.0.4",
+ "resolve": "^1.4.0",
+ "stack-trace": "0.0.10"
+ },
+ "dependencies": {
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "findup-sync": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+ "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==",
+ "dev": true,
+ "requires": {
+ "detect-file": "^1.0.0",
+ "is-glob": "^3.1.0",
+ "micromatch": "^3.0.4",
+ "resolve-dir": "^1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
+ }
+ },
+ "mathml-tag-names": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
+ "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
+ "dev": true
+ },
+ "mdn-data": {
+ "version": "2.0.30",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
+ "dev": true
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "fs-monkey": "^1.0.3"
+ }
+ },
+ "memoize-decorator": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/memoize-decorator/-/memoize-decorator-1.0.2.tgz",
+ "integrity": "sha512-G2vHcq4c+EwnBAOeWCH1mNz99QPCgm4ECjhHOd3SFZm66jVlwhBLdqhCvnHxptaRyZfm8ap3igoeDfrO92+uHQ==",
+ "dev": true
+ },
+ "memoizee": {
+ "version": "0.4.15",
+ "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
+ "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
+ "dev": true,
+ "requires": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.53",
+ "es6-weak-map": "^2.0.3",
+ "event-emitter": "^0.3.5",
+ "is-promise": "^2.2.2",
+ "lru-queue": "^0.1.0",
+ "next-tick": "^1.1.0",
+ "timers-ext": "^0.1.7"
+ }
+ },
+ "meow": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
+ "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
+ "dev": true,
+ "requires": {
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize": "^1.2.0",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "4.1.0",
+ "normalize-package-data": "^3.0.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.18.0",
+ "yargs-parser": "^20.2.3"
+ },
+ "dependencies": {
+ "hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "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"
+ }
+ },
+ "normalize-package-data": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "type-fest": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
+ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+ "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
+ },
+ "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
+ }
+ }
+ },
+ "merge": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz",
+ "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==",
+ "dev": true
+ },
+ "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": {
+ "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": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "dev": true
+ },
+ "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": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ }
+ },
+ "mime": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "dev": true
+ },
+ "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
+ },
+ "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": {
+ "mime-db": "1.52.0"
+ }
+ },
+ "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
+ },
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "dev": true
+ },
+ "min-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
+ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
+ "dev": true
+ },
+ "mini-css-extract-plugin": {
+ "version": "2.7.5",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz",
+ "integrity": "sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ==",
+ "dev": true,
+ "requires": {
+ "schema-utils": "^4.0.0"
+ }
+ },
+ "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": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true
+ },
+ "minimist-options": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "minipass": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+ "dev": true
+ },
+ "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": {
+ "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"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "minipass-fetch": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz",
+ "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==",
+ "dev": true,
+ "requires": {
+ "encoding": "^0.1.13",
+ "minipass": "^3.1.6",
+ "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
+ }
+ }
+ },
+ "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": {
+ "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"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "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": {
+ "jsonparse": "^1.3.1",
+ "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"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "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": {
+ "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"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "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": {
+ "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"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.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"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "mitt": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz",
+ "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==",
+ "dev": true
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "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"
+ }
+ },
+ "mrmime": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
+ "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==",
+ "dev": true
+ },
+ "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": {
+ "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": {
+ "dns-packet": "^5.2.2",
+ "thunky": "^1.0.2"
+ }
+ },
+ "multipipe": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-1.0.2.tgz",
+ "integrity": "sha512-6uiC9OvY71vzSGX8lZvSqscE7ft9nPupJ8fMjrCNRAUy2LREUW42UL+V/NTrogr6rFgRydUrCX4ZitfpSNkSCQ==",
+ "dev": true,
+ "requires": {
+ "duplexer2": "^0.1.2",
+ "object-assign": "^4.1.0"
+ }
+ },
+ "mute-stdout": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz",
+ "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==",
+ "dev": true
+ },
+ "mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "dev": true
+ },
+ "nan": {
+ "version": "2.17.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
+ "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==",
+ "dev": true,
+ "optional": true
+ },
+ "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
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
+ },
+ "natural-compare-lite": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
+ "dev": true
+ },
+ "ncp": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz",
+ "integrity": "sha512-akBX7I5X9KQDDWmYYgQlLbVbjkveTje2mioZjhLLrVt09akSZcoqXWE5LEn1E2fu8T7th1PZYGfewQsTkTLTmQ==",
+ "dev": true
+ },
+ "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": {
+ "debug": "^3.2.6",
+ "iconv-lite": "^0.6.3",
+ "sax": "^1.2.4"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "ng-packagr": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-16.0.0.tgz",
+ "integrity": "sha512-PSgzS9WMypXyZbI5G54mNiarT54a3j5vf5pj84BOWJaSh6MbX3q49fR1ql41A+qtkPkG+e7xQ3IhMOnOMilobg==",
+ "dev": true,
+ "requires": {
+ "@rollup/plugin-json": "^6.0.0",
+ "@rollup/plugin-node-resolve": "^15.0.0",
+ "ajv": "^8.11.0",
+ "ansi-colors": "^4.1.3",
+ "autoprefixer": "^10.4.12",
+ "browserslist": "^4.21.4",
+ "cacache": "^17.0.0",
+ "chokidar": "^3.5.3",
+ "commander": "^10.0.0",
+ "convert-source-map": "^2.0.0",
+ "dependency-graph": "^0.11.0",
+ "esbuild": "^0.17.0",
+ "esbuild-wasm": "^0.17.0",
+ "fast-glob": "^3.2.12",
+ "find-cache-dir": "^3.3.2",
+ "injection-js": "^2.4.0",
+ "jsonc-parser": "^3.2.0",
+ "less": "^4.1.3",
+ "ora": "^5.1.0",
+ "piscina": "^3.2.0",
+ "postcss": "^8.4.16",
+ "postcss-url": "^10.1.3",
+ "rollup": "^3.0.0",
+ "rxjs": "^7.5.6",
+ "sass": "^1.55.0"
+ },
+ "dependencies": {
+ "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
+ },
+ "rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ }
+ }
+ },
+ "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,
+ "optional": true,
+ "requires": {
+ "node-addon-api": "^3.0.0",
+ "node-gyp-build": "^4.2.2"
+ }
+ },
+ "no-case": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
+ "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "dev": true,
+ "requires": {
+ "lower-case": "^1.1.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "node-gyp": {
+ "version": "9.3.1",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz",
+ "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==",
+ "dev": true,
+ "requires": {
+ "env-paths": "^2.2.0",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^10.0.3",
+ "nopt": "^6.0.0",
+ "npmlog": "^6.0.0",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.2",
+ "which": "^2.0.2"
+ },
+ "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"
+ }
+ },
+ "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": {
+ "abbrev": "^1.0.0"
+ }
+ }
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "node-releases": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
+ "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
+ "dev": true
+ },
+ "nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "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": {
+ "hosted-git-info": "^6.0.0",
+ "is-core-module": "^2.8.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-license": "^3.0.4"
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ },
+ "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
+ },
+ "normalize-url": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
+ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
+ "dev": true
+ },
+ "now-and-later": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz",
+ "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.2"
+ }
+ },
+ "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": {
+ "npm-normalize-package-bin": "^3.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==",
+ "dev": true,
+ "requires": {
+ "semver": "^7.1.1"
+ }
+ },
+ "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
+ },
+ "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": {
+ "hosted-git-info": "^6.0.0",
+ "proc-log": "^3.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^5.0.0"
+ }
+ },
+ "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": {
+ "ignore-walk": "^6.0.0"
+ }
+ },
+ "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": {
+ "npm-install-checks": "^6.0.0",
+ "npm-normalize-package-bin": "^3.0.0",
+ "npm-package-arg": "^10.0.0",
+ "semver": "^7.3.5"
+ }
+ },
+ "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": {
+ "make-fetch-happen": "^11.0.0",
+ "minipass": "^5.0.0",
+ "minipass-fetch": "^3.0.0",
+ "minipass-json-stream": "^1.0.1",
+ "minizlib": "^2.1.2",
+ "npm-package-arg": "^10.0.0",
+ "proc-log": "^3.0.0"
+ },
+ "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-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"
+ }
+ }
+ }
+ },
+ "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": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "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": {
+ "are-we-there-yet": "^3.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^4.0.3",
+ "set-blocking": "^2.0.0"
+ }
+ },
+ "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": {
+ "boolbase": "^1.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==",
+ "dev": true
+ },
+ "nunjucks": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz",
+ "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==",
+ "dev": true,
+ "requires": {
+ "a-sync-waterfall": "^1.0.0",
+ "asap": "^2.0.3",
+ "commander": "^5.1.0"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+ "dev": true
+ }
+ }
+ },
+ "nx": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/nx/-/nx-16.0.2.tgz",
+ "integrity": "sha512-8Z9Bo1D2VbYjyC/F2ONensKjm10snz1UfkzURZiFA+oXikBPldiH1u67TOTpoCYZfyYQg4l6h6EpOaAvHF6Abg==",
+ "dev": true,
+ "requires": {
+ "@nrwl/tao": "16.0.2",
+ "@nx/nx-darwin-arm64": "16.0.2",
+ "@nx/nx-darwin-x64": "16.0.2",
+ "@nx/nx-linux-arm-gnueabihf": "16.0.2",
+ "@nx/nx-linux-arm64-gnu": "16.0.2",
+ "@nx/nx-linux-arm64-musl": "16.0.2",
+ "@nx/nx-linux-x64-gnu": "16.0.2",
+ "@nx/nx-linux-x64-musl": "16.0.2",
+ "@nx/nx-win32-arm64-msvc": "16.0.2",
+ "@nx/nx-win32-x64-msvc": "16.0.2",
+ "@parcel/watcher": "2.0.4",
+ "@yarnpkg/lockfile": "^1.1.0",
+ "@yarnpkg/parsers": "^3.0.0-rc.18",
+ "@zkochan/js-yaml": "0.0.6",
+ "axios": "^1.0.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "3.1.0",
+ "cli-spinners": "2.6.1",
+ "cliui": "^7.0.2",
+ "dotenv": "~10.0.0",
+ "enquirer": "~2.3.6",
+ "fast-glob": "3.2.7",
+ "figures": "3.2.0",
+ "flat": "^5.0.2",
+ "fs-extra": "^11.1.0",
+ "glob": "7.1.4",
+ "ignore": "^5.0.4",
+ "js-yaml": "4.1.0",
+ "jsonc-parser": "3.2.0",
+ "lines-and-columns": "~2.0.3",
+ "minimatch": "3.0.5",
+ "npm-run-path": "^4.0.1",
+ "open": "^8.4.0",
+ "semver": "7.3.4",
+ "string-width": "^4.2.3",
+ "strong-log-transformer": "^2.1.0",
+ "tar-stream": "~2.2.0",
+ "tmp": "~0.2.1",
+ "tsconfig-paths": "^4.1.2",
+ "tslib": "^2.3.0",
+ "v8-compile-cache": "2.3.0",
+ "yargs": "^17.6.2",
+ "yargs-parser": "21.1.1"
+ },
+ "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"
+ }
+ },
+ "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
+ },
+ "axios": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
+ "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
+ "dev": true,
+ "requires": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "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
+ },
+ "fast-glob": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
+ "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+ "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"
+ }
+ },
+ "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": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "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"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "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"
+ }
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "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
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.4",
+ "has-symbols": "^1.0.3",
+ "object-keys": "^1.1.1"
+ }
+ },
+ "object.defaults": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
+ "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==",
+ "dev": true,
+ "requires": {
+ "array-each": "^1.0.1",
+ "array-slice": "^1.0.0",
+ "for-own": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
+ "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==",
+ "dev": true,
+ "requires": {
+ "for-own": "^1.0.0",
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "object.reduce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz",
+ "integrity": "sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==",
+ "dev": true,
+ "requires": {
+ "for-own": "^1.0.0",
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "obuf": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
+ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
+ "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"
+ }
+ },
+ "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
+ },
+ "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": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "open": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+ "dev": true,
+ "requires": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ }
+ },
+ "openurl": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz",
+ "integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==",
+ "dev": true
+ },
+ "opn": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz",
+ "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==",
+ "dev": true,
+ "requires": {
+ "is-wsl": "^1.1.0"
+ },
+ "dependencies": {
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+ "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==",
+ "dev": true
+ }
+ }
+ },
+ "optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "requires": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ }
+ },
+ "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": {
+ "bl": "^4.1.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "is-unicode-supported": "^0.1.0",
+ "log-symbols": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "ordered-read-streams": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
+ "integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==",
+ "dev": true,
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "p-cancelable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
+ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "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": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
+ "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": {
+ "@types/retry": "0.12.0",
+ "retry": "^0.13.1"
+ },
+ "dependencies": {
+ "retry": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+ "dev": true
+ }
+ }
+ },
+ "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
+ },
+ "package-json": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
+ "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
+ "dev": true,
+ "requires": {
+ "got": "^9.6.0",
+ "registry-auth-token": "^4.0.0",
+ "registry-url": "^5.0.0",
+ "semver": "^6.2.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
+ }
+ }
+ },
+ "pacote": {
+ "version": "15.1.3",
+ "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.3.tgz",
+ "integrity": "sha512-aRts8cZqxiJVDitmAh+3z+FxuO3tLNWEmwDRPEpDDiZJaRz06clP4XX112ynMT5uF0QNoMPajBBHnaStUEPJXA==",
+ "dev": true,
+ "requires": {
+ "@npmcli/git": "^4.0.0",
+ "@npmcli/installed-package-contents": "^2.0.1",
+ "@npmcli/promise-spawn": "^6.0.1",
+ "@npmcli/run-script": "^6.0.0",
+ "cacache": "^17.0.0",
+ "fs-minipass": "^3.0.0",
+ "minipass": "^5.0.0",
+ "npm-package-arg": "^10.0.0",
+ "npm-packlist": "^7.0.0",
+ "npm-pick-manifest": "^8.0.0",
+ "npm-registry-fetch": "^14.0.0",
+ "proc-log": "^3.0.0",
+ "promise-retry": "^2.0.1",
+ "read-package-json": "^6.0.0",
+ "read-package-json-fast": "^3.0.0",
+ "sigstore": "^1.3.0",
+ "ssri": "^10.0.0",
+ "tar": "^6.1.11"
+ }
+ },
+ "pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true
+ },
+ "param-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
+ "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "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": {
+ "callsites": "^3.0.0"
+ }
+ },
+ "parse-filepath": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
+ "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==",
+ "dev": true,
+ "requires": {
+ "is-absolute": "^1.0.0",
+ "map-cache": "^0.2.0",
+ "path-root": "^0.1.1"
+ }
+ },
+ "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": {
+ "@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"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "parse-passwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==",
+ "dev": true
+ },
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ },
+ "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": {
+ "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
+ },
+ "parse5": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+ "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+ "dev": true,
+ "requires": {
+ "entities": "^4.4.0"
+ }
+ }
+ }
+ },
+ "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": {
+ "parse5": "^6.0.1"
+ }
+ },
+ "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": {
+ "entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "dev": true
+ },
+ "parse5": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+ "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+ "dev": true,
+ "requires": {
+ "entities": "^4.4.0"
+ }
+ }
+ }
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==",
+ "dev": true
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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-root": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+ "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==",
+ "dev": true,
+ "requires": {
+ "path-root-regex": "^0.1.0"
+ }
+ },
+ "path-root-regex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
+ "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==",
+ "dev": true
+ },
+ "path-scurry": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.7.0.tgz",
+ "integrity": "sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^9.0.0",
+ "minipass": "^5.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
+ }
+ }
+ },
+ "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": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true
+ },
+ "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": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
+ "dev": true,
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "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": {
+ "eventemitter-asyncresource": "^1.0.0",
+ "hdr-histogram-js": "^2.0.1",
+ "hdr-histogram-percentiles-obj": "^3.0.0",
+ "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==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "plugin-error": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
+ "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^1.0.1",
+ "arr-diff": "^4.0.0",
+ "arr-union": "^3.1.0",
+ "extend-shallow": "^3.0.2"
+ },
+ "dependencies": {
+ "ansi-colors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
+ "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "^0.1.0"
+ }
+ }
+ }
+ },
+ "portscanner": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz",
+ "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==",
+ "dev": true,
+ "requires": {
+ "async": "^2.6.0",
+ "is-number-like": "^1.0.3"
+ }
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==",
+ "dev": true
+ },
+ "postcss": {
+ "version": "8.4.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz",
+ "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==",
+ "dev": true,
+ "requires": {
+ "nanoid": "^3.3.6",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "postcss-load-config": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
+ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
+ "dev": true,
+ "requires": {
+ "lilconfig": "^2.0.5",
+ "yaml": "^1.10.2"
+ }
+ },
+ "postcss-loader": {
+ "version": "7.2.4",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.2.4.tgz",
+ "integrity": "sha512-F88rpxxNspo5hatIc+orYwZDtHFaVFOSIVAx+fBfJC1GmhWbVmPWtmg2gXKE1OxJbneOSGn8PWdIwsZFcruS+w==",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "^8.1.3",
+ "cosmiconfig-typescript-loader": "^4.3.0",
+ "klona": "^2.0.6",
+ "semver": "^7.3.8"
+ }
+ },
+ "postcss-media-query-parser": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
+ "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==",
+ "dev": true
+ },
+ "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,
+ "requires": {}
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "icss-utils": "^5.0.0",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.1.0"
+ }
+ },
+ "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": {
+ "postcss-selector-parser": "^6.0.4"
+ }
+ },
+ "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": {
+ "icss-utils": "^5.0.0"
+ }
+ },
+ "postcss-resolve-nested-selector": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
+ "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==",
+ "dev": true
+ },
+ "postcss-safe-parser": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz",
+ "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==",
+ "dev": true,
+ "requires": {}
+ },
+ "postcss-scss": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz",
+ "integrity": "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==",
+ "dev": true,
+ "requires": {}
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "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": {
+ "make-dir": "~3.1.0",
+ "mime": "~2.5.2",
+ "minimatch": "~3.0.4",
+ "xxhashjs": "~0.2.2"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true
+ },
+ "prepend-http": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
+ "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==",
+ "dev": true
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^17.0.1"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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": {
+ "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": {
+ "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"
+ }
+ },
+ "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,
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "pumpify": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
+ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+ "dev": true,
+ "requires": {
+ "duplexify": "^3.6.0",
+ "inherits": "^2.0.3",
+ "pump": "^2.0.0"
+ },
+ "dependencies": {
+ "pump": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ }
+ }
+ },
+ "punycode": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
+ "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
+ "dev": true
+ },
+ "pupa": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
+ "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
+ "dev": true,
+ "requires": {
+ "escape-goat": "^2.0.0"
+ }
+ },
+ "q": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==",
+ "dev": true
+ },
+ "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
+ },
+ "qs": {
+ "version": "6.11.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz",
+ "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==",
+ "dev": true,
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
+ },
+ "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
+ },
+ "quick-lru": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+ "dev": true
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "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
+ },
+ "raw-body": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
+ "dev": true,
+ "requires": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ },
+ "rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "dev": true,
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+ "dev": true
+ }
+ }
+ },
+ "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
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "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.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.2.tgz",
+ "integrity": "sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==",
+ "dev": true,
+ "requires": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.0.3",
+ "minimatch": "^9.0.0",
+ "minipass": "^5.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"
+ }
+ }
+ }
+ },
+ "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": {
+ "json-parse-even-better-errors": "^3.0.0",
+ "npm-normalize-package-bin": "^3.0.0"
+ },
+ "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
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "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
+ },
+ "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,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "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
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "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
+ }
+ }
+ },
+ "readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "rechoir": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
+ "dev": true,
+ "requires": {
+ "resolve": "^1.1.6"
+ }
+ },
+ "redent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+ "dev": true,
+ "requires": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ }
+ },
+ "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": {
+ "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==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.2"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.13.11",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
+ "dev": true
+ },
+ "regenerator-transform": {
+ "version": "0.15.1",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz",
+ "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.8.4"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "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
+ },
+ "regexp.prototype.flags": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz",
+ "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "functions-have-names": "^1.2.3"
+ }
+ },
+ "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": {
+ "@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"
+ }
+ },
+ "registry-auth-token": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz",
+ "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==",
+ "dev": true,
+ "requires": {
+ "rc": "1.2.8"
+ }
+ },
+ "registry-url": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
+ "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
+ "dev": true,
+ "requires": {
+ "rc": "^1.2.8"
+ }
+ },
+ "regjsparser": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
+ "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+ "dev": true
+ }
+ }
+ },
+ "relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==",
+ "dev": true
+ },
+ "remove-bom-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
+ "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5",
+ "is-utf8": "^0.2.1"
+ }
+ },
+ "remove-bom-stream": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
+ "integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==",
+ "dev": true,
+ "requires": {
+ "remove-bom-buffer": "^3.0.0",
+ "safe-buffer": "^5.1.0",
+ "through2": "^2.0.3"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
+ "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
+ "dev": true
+ },
+ "replace-ext": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz",
+ "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==",
+ "dev": true
+ },
+ "replace-homedir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz",
+ "integrity": "sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==",
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "^1.0.1",
+ "is-absolute": "^1.0.0",
+ "remove-trailing-separator": "^1.1.0"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==",
+ "dev": true
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.11.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ },
+ "resolve-dir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+ "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^2.0.0",
+ "global-modules": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "resolve-options": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
+ "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==",
+ "dev": true,
+ "requires": {
+ "value-or-function": "^3.0.0"
+ }
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
+ "dev": true
+ },
+ "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": {
+ "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"
+ },
+ "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
+ }
+ }
+ },
+ "resp-modifier": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz",
+ "integrity": "sha512-U1+0kWC/+4ncRFYqQWTx/3qkfE6a4B/h3XXgmXypfa0SPZ3t7cbbaFk297PjQS/yov24R18h6OZe6iZwj3NSLw==",
+ "dev": true,
+ "requires": {
+ "debug": "^2.2.0",
+ "minimatch": "^3.0.2"
+ },
+ "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
+ }
+ }
+ },
+ "responselike": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
+ "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
+ "dev": true,
+ "requires": {
+ "lowercase-keys": "^1.0.0"
+ }
+ },
+ "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": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
+ "dev": true
+ },
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true
+ },
+ "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": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "rollup": {
+ "version": "3.21.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.3.tgz",
+ "integrity": "sha512-VnPfEG51nIv2xPLnZaekkuN06q9ZbnyDcLkaBdJa/W7UddyhOfMP2yOPziYQfeY7k++fZM8FdQIummFN5y14kA==",
+ "dev": true,
+ "requires": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "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
+ },
+ "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": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "rx": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
+ "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "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=="
+ }
+ }
+ },
+ "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
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safe-wipe": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/safe-wipe/-/safe-wipe-0.2.5.tgz",
+ "integrity": "sha512-MwTNf4YrRqCHsB5jUzOVdXoRbW4jkhgTvhlyfiaxox8EP7cOCiD4ydMOQCxDPR9KpvwdBSM2dQHScV1m85k8wQ==",
+ "dev": true,
+ "requires": {
+ "extend": "^3.0.2",
+ "q": "1.*",
+ "rimraf": "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"
+ }
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sass": {
+ "version": "1.62.1",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz",
+ "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==",
+ "requires": {
+ "chokidar": ">=3.0.0 <4.0.0",
+ "immutable": "^4.0.0",
+ "source-map-js": ">=0.6.2 <2.0.0"
+ },
+ "dependencies": {
+ "immutable": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
+ "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg=="
+ }
+ }
+ },
+ "sass-convert": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/sass-convert/-/sass-convert-0.5.2.tgz",
+ "integrity": "sha512-eV9wXZg7MrHmnKLD6WojC/WX7lhLm+PSSLrOukzRIECa04fGbkmFDO9Ot9/82KjzSe+VEClYe9WDKzCuBz30Dg==",
+ "dev": true,
+ "requires": {
+ "concat-stream": "^1.4.7",
+ "dargs": "^4.0.0",
+ "ends-with": "^0.2.0",
+ "es6-denodeify": "^0.1.0",
+ "es6-promise": "^3.0.2",
+ "memoize-decorator": "^1.0.2",
+ "object-assign": "^3.0.0",
+ "semver": "^5.0.1",
+ "semver-regex": "^1.0.0",
+ "through2": "^2.0.0",
+ "which": "^1.0.5"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "integrity": "sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "sass-loader": {
+ "version": "13.2.2",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.2.tgz",
+ "integrity": "sha512-nrIdVAAte3B9icfBiGWvmMhT/D+eCDwnk+yA7VE/76dp/WkHX+i44Q/pfo71NYbwj0Ap+PGsn0ekOuU1WFJ2AA==",
+ "dev": true,
+ "requires": {
+ "klona": "^2.0.6",
+ "neo-async": "^2.6.2"
+ }
+ },
+ "sass-true": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/sass-true/-/sass-true-6.1.0.tgz",
+ "integrity": "sha512-Qt6TpPe8Ogr8g9FvBSwXvzfrkbtHD7rej0X3lzyoiZ+I0kKV9NFeefcF560uMn5NFCA7g5rcVKxc9UHrrMcDrw==",
+ "dev": true,
+ "requires": {
+ "@types/css": "^0.0.33",
+ "css": "^3.0.0",
+ "jest-diff": "^27.5.1",
+ "lodash": "^4.17.21"
+ }
+ },
+ "sassdoc": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/sassdoc/-/sassdoc-2.7.4.tgz",
+ "integrity": "sha512-/HEjX9pMILkePyC4ZKGhkLqZHJZpsTxFwQIQNsLhV4XHiPKoWHrSmam1pMntM79tcdtBII3JX7ShfyZjHnrkyw==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.2.1",
+ "babel-runtime": "^6.26.0",
+ "chalk": "^2.4.2",
+ "concat-stream": "^2.0.0",
+ "docopt": "^0.6.1",
+ "glob": "^7.1.6",
+ "glob2base": "0.0.12",
+ "js-yaml": "^3.14.0",
+ "lodash.difference": "^4.5.0",
+ "lodash.uniq": "^4.5.0",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^1.0.4",
+ "multipipe": "1.0.2",
+ "rimraf": "^3.0.2",
+ "safe-wipe": "0.2.5",
+ "sass-convert": "^0.5.0",
+ "sassdoc-theme-default": "^2.8.3",
+ "scss-comment-parser": "^0.8.4",
+ "strip-indent": "^3.0.0",
+ "through2": "1.1.1",
+ "update-notifier": "^4.1.0",
+ "vinyl-fs": "^3.0.3",
+ "vinyl-source-stream": "1.1.2",
+ "vinyl-string": "^1.0.2"
+ },
+ "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
+ },
+ "concat-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
+ "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.0.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "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"
+ }
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ },
+ "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": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "through2": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz",
+ "integrity": "sha512-zEbpaeSMHxczpTzO1KkMHjBC1enTA68ojeaZGG4toqdASpb9t4xUZaYFBq2/9OHo5nTGFVSYd4c910OR+6wxbQ==",
+ "dev": true,
+ "requires": {
+ "readable-stream": ">=1.1.13-1 <1.2.0-0",
+ "xtend": ">=4.0.0 <4.1.0-0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "sassdoc-extras": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/sassdoc-extras/-/sassdoc-extras-2.5.1.tgz",
+ "integrity": "sha512-/+ilEnk1H1hG9nympL1GIFWhAczzoclyDzgzfphIg46nsT/dWJuzWYHyzIpduc/nTVwKeQfmTz0ZVvy12QMkrQ==",
+ "dev": true,
+ "requires": {
+ "marked": "^0.6.2"
+ }
+ },
+ "sassdoc-plugin-localization": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/sassdoc-plugin-localization/-/sassdoc-plugin-localization-1.4.3.tgz",
+ "integrity": "sha512-AcN4E987Lc+8xCF8Oy78D8zfZ/OPCGsYwY4g2P+wywcuxj9MCR+60qn7u0qGU0je8mDcIW40ImFG59k/Evu8Vg==",
+ "dev": true,
+ "requires": {
+ "@types/node": "^7.10.14",
+ "fs-extra": "^7.0.1",
+ "sassdoc": "^2.5.1",
+ "sassdoc-extras": "^2.5.1",
+ "typescript": "^3.9.9"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "7.10.14",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.14.tgz",
+ "integrity": "sha512-29GS75BE8asnTno3yB6ubOJOO0FboExEqNJy4bpz0GSmW/8wPTNL4h9h63c6s1uTrOopCmJYe/4yJLh5r92ZUA==",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "typescript": {
+ "version": "3.9.10",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
+ "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
+ "dev": true
+ }
+ }
+ },
+ "sassdoc-theme-default": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/sassdoc-theme-default/-/sassdoc-theme-default-2.8.5.tgz",
+ "integrity": "sha512-9lGpeCONCKVOkljh0C8CCo9jArKbLi1YKKJ4t6w8gsp8O8zFf2ES/l8rKVI4oMnfaJxa7bOmFKoGvrVHcmVERg==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "chroma-js": "^1.2.2",
+ "es6-denodeify": "^0.1.0",
+ "es6-promise": "^4.2.6",
+ "extend": "^3.0.2",
+ "fs-extra": "^2.0.0",
+ "html-minifier": "^3.5.21",
+ "nunjucks": "^3.1.7",
+ "sassdoc-extras": "^2.5.0"
+ },
+ "dependencies": {
+ "es6-promise": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+ "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz",
+ "integrity": "sha512-9ztMtDZtSKC78V8mev+k31qaTabbmuH5jatdvPBMikrFHvw5BqlYnQIn/WGK3WHeRooSTkRvLa2IPlaHjPq5Sg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^2.1.0"
+ }
+ },
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ }
+ }
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "dev": true,
+ "optional": true
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.9.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.1.0"
+ }
+ },
+ "scss-comment-parser": {
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/scss-comment-parser/-/scss-comment-parser-0.8.4.tgz",
+ "integrity": "sha512-ERw4BODvM22n8Ke8hJxuH3fKXLm0Q4chfUNHwDSOAExCths2ZXq8PT32vms4R9Om6dffRSXzzGZS1p38UU4EAg==",
+ "dev": true,
+ "requires": {
+ "cdocparser": "^0.13.0"
+ }
+ },
+ "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": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz",
+ "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==",
+ "dev": true,
+ "requires": {
+ "node-forge": "^1"
+ }
+ },
+ "semver": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz",
+ "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ },
+ "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
+ }
+ }
+ },
+ "semver-diff": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
+ "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
+ "dev": true,
+ "requires": {
+ "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
+ }
+ }
+ },
+ "semver-greatest-satisfied-range": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz",
+ "integrity": "sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==",
+ "dev": true,
+ "requires": {
+ "sver-compat": "^1.5.0"
+ }
+ },
+ "semver-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz",
+ "integrity": "sha512-1vZcoRC+LPtHFkLUPyrabsATDSHerxW+hJBN8h04HZOZBuewbXaNROtUVdEPrTdZsWNq6sfsXDhd48GB2xTG4g==",
+ "dev": true
+ },
+ "send": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
+ "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.6.2",
+ "mime": "1.4.1",
+ "ms": "2.0.0",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.0",
+ "statuses": "~1.4.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"
+ }
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "dev": true
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==",
+ "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
+ },
+ "mime": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
+ "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
+ "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.4.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+ "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
+ "dev": true
+ }
+ }
+ },
+ "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": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "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": {
+ "accepts": "~1.3.4",
+ "batch": "0.6.1",
+ "debug": "2.6.9",
+ "escape-html": "~1.0.3",
+ "http-errors": "~1.6.2",
+ "mime-types": "~2.1.17",
+ "parseurl": "~1.3.2"
+ },
+ "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
+ }
+ }
+ },
+ "serve-static": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
+ "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
+ "dev": true,
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.2",
+ "send": "0.16.2"
+ }
+ },
+ "server-destroy": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
+ "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==",
+ "dev": true
+ },
+ "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
+ },
+ "set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ },
+ "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": {
+ "isobject": "^3.0.1"
+ }
+ }
+ }
+ },
+ "setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "dev": true
+ },
+ "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": {
+ "kind-of": "^6.0.2"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "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
+ },
+ "shell-quote": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
+ "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
+ "dev": true
+ },
+ "shiki": {
+ "version": "0.14.2",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz",
+ "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==",
+ "dev": true,
+ "requires": {
+ "ansi-sequence-parser": "^1.1.0",
+ "jsonc-parser": "^3.2.0",
+ "vscode-oniguruma": "^1.7.0",
+ "vscode-textmate": "^8.0.0"
+ }
+ },
+ "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": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
+ },
+ "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.4.0",
+ "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.4.0.tgz",
+ "integrity": "sha512-N7TRpSbFjY/TrFDg6yGAQSYBrQ5s6qmPiq4pD6fkv1LoyfMsLG0NwZWG2s5q+uttLHgyVyTa0Rogx2P78rN8kQ==",
+ "dev": true,
+ "requires": {
+ "@sigstore/protobuf-specs": "^0.1.0",
+ "make-fetch-happen": "^11.0.1",
+ "tuf-js": "^1.1.3"
+ },
+ "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-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"
+ }
+ }
+ }
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.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
+ }
+ }
+ },
+ "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
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.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"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "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
+ },
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.4",
+ "base64id": "~2.0.0",
+ "debug": "~4.3.2",
+ "engine.io": "~6.4.1",
+ "socket.io-adapter": "~2.5.2",
+ "socket.io-parser": "~4.2.1"
+ }
+ },
+ "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": {
+ "ws": "~8.11.0"
+ }
+ },
+ "socket.io-client": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz",
+ "integrity": "sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==",
+ "dev": true,
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.4.0",
+ "socket.io-parser": "~4.2.1"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1"
+ }
+ },
+ "sockjs": {
+ "version": "0.3.24",
+ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
+ "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
+ "dev": true,
+ "requires": {
+ "faye-websocket": "^0.11.3",
+ "uuid": "^8.3.2",
+ "websocket-driver": "^0.7.4"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "socks": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "dev": true,
+ "requires": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ }
+ },
+ "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": {
+ "agent-base": "^6.0.2",
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
+ }
+ },
+ "source-map": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+ "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "dev": true
+ },
+ "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=="
+ },
+ "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": {
+ "abab": "^2.0.6",
+ "iconv-lite": "^0.6.3",
+ "source-map-js": "^1.0.2"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "source-map-resolve": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz",
+ "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0"
+ }
+ },
+ "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": {
+ "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
+ }
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
+ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
+ "dev": true
+ },
+ "sparkles": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
+ "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
+ "dev": true
+ },
+ "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": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "dev": true
+ },
+ "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": {
+ "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==",
+ "dev": true
+ },
+ "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": {
+ "debug": "^4.1.0",
+ "handle-thing": "^2.0.0",
+ "http-deceiver": "^1.2.7",
+ "select-hose": "^2.0.0",
+ "spdy-transport": "^3.0.0"
+ }
+ },
+ "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": {
+ "debug": "^4.1.0",
+ "detect-node": "^2.0.4",
+ "hpack.js": "^2.1.6",
+ "obuf": "^1.1.2",
+ "readable-stream": "^3.0.6",
+ "wbuf": "^1.7.3"
+ },
+ "dependencies": {
+ "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": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "minipass": "^5.0.0"
+ }
+ },
+ "stack-trace": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
+ "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ }
+ }
+ },
+ "statuses": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "internal-slot": "^1.0.4"
+ }
+ },
+ "stream-exhaust": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
+ "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==",
+ "dev": true
+ },
+ "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
+ },
+ "stream-throttle": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz",
+ "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.2.0",
+ "limiter": "^1.0.5"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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": {
+ "date-format": "^4.0.14",
+ "debug": "^4.3.4",
+ "fs-extra": "^8.1.0"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "dependencies": {
+ "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-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": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "string-width-cjs": {
+ "version": "npm:string-width@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": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "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": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "strip-ansi-cjs": {
+ "version": "npm:strip-ansi@6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "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
+ },
+ "strip-bom-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
+ "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==",
+ "dev": true
+ },
+ "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
+ },
+ "strip-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+ "dev": true,
+ "requires": {
+ "min-indent": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "strong-log-transformer": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz",
+ "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==",
+ "dev": true,
+ "requires": {
+ "duplexer": "^0.1.1",
+ "minimist": "^1.2.0",
+ "through": "^2.3.4"
+ }
+ },
+ "style-search": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
+ "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==",
+ "dev": true
+ },
+ "stylelint": {
+ "version": "15.6.1",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.6.1.tgz",
+ "integrity": "sha512-d8icFBlVl93Elf3Z5ABQNOCe4nx69is3D/NZhDLAie1eyYnpxfeKe7pCfqzT5W4F8vxHCLSDfV8nKNJzogvV2Q==",
+ "dev": true,
+ "requires": {
+ "@csstools/css-parser-algorithms": "^2.1.1",
+ "@csstools/css-tokenizer": "^2.1.1",
+ "@csstools/media-query-list-parser": "^2.0.4",
+ "@csstools/selector-specificity": "^2.2.0",
+ "balanced-match": "^2.0.0",
+ "colord": "^2.9.3",
+ "cosmiconfig": "^8.1.3",
+ "css-functions-list": "^3.1.0",
+ "css-tree": "^2.3.1",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.2.12",
+ "fastest-levenshtein": "^1.0.16",
+ "file-entry-cache": "^6.0.1",
+ "global-modules": "^2.0.0",
+ "globby": "^11.1.0",
+ "globjoin": "^0.1.4",
+ "html-tags": "^3.3.1",
+ "ignore": "^5.2.4",
+ "import-lazy": "^4.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-plain-object": "^5.0.0",
+ "known-css-properties": "^0.27.0",
+ "mathml-tag-names": "^2.1.3",
+ "meow": "^9.0.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.23",
+ "postcss-media-query-parser": "^0.2.3",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-safe-parser": "^6.0.0",
+ "postcss-selector-parser": "^6.0.12",
+ "postcss-value-parser": "^4.2.0",
+ "resolve-from": "^5.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "style-search": "^0.1.0",
+ "supports-hyperlinks": "^3.0.0",
+ "svg-tags": "^1.0.0",
+ "table": "^6.8.1",
+ "v8-compile-cache": "^2.3.0",
+ "write-file-atomic": "^5.0.1"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
+ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
+ "dev": true
+ },
+ "global-modules": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+ "dev": true,
+ "requires": {
+ "global-prefix": "^3.0.0"
+ }
+ },
+ "global-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "dev": true,
+ "requires": {
+ "ini": "^1.3.5",
+ "kind-of": "^6.0.2",
+ "which": "^1.3.1"
+ }
+ },
+ "ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
+ "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
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "stylelint-scss": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.7.0.tgz",
+ "integrity": "sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg==",
+ "dev": true,
+ "requires": {
+ "postcss-media-query-parser": "^0.2.3",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-selector-parser": "^6.0.11",
+ "postcss-value-parser": "^4.2.0"
+ }
+ },
+ "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": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "supports-hyperlinks": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz",
+ "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "sver-compat": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz",
+ "integrity": "sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "^2.0.1",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "svg-tags": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
+ "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
+ "dev": true
+ },
+ "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
+ },
+ "table": {
+ "version": "6.8.1",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
+ "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
+ "dev": true,
+ "requires": {
+ "ajv": "^8.0.1",
+ "lodash.truncate": "^4.4.2",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "dev": true
+ },
+ "tar": {
+ "version": "6.1.14",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.14.tgz",
+ "integrity": "sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==",
+ "dev": true,
+ "requires": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "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
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "dependencies": {
+ "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": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "term-size": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
+ "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
+ "dev": true
+ },
+ "terser": {
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz",
+ "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/source-map": "^0.3.2",
+ "acorn": "^8.5.0",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "terser-webpack-plugin": {
+ "version": "5.3.7",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz",
+ "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^3.1.1",
+ "serialize-javascript": "^6.0.1",
+ "terser": "^5.16.5"
+ },
+ "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,
+ "requires": {}
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "themeleon": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/themeleon/-/themeleon-3.0.2.tgz",
+ "integrity": "sha512-QRN/beYfINibeg9U20vETTmXDq56AXyNJCbLp7uvqX5m/uoVvMwc/aUzxU4mlMyzN3Dl2inH8o4fMjEl2qEzJw==",
+ "dev": true,
+ "requires": {
+ "ap": "^0.2.0",
+ "consolidate": "^0.13.0",
+ "fs-extra": "^0.13.0",
+ "glob": "^4.3.1",
+ "merge": "^1.2.0",
+ "q": "^1.1.2"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.13.0.tgz",
+ "integrity": "sha512-JiEPAzy0hZ0EN25pkXkgmzxn/ThqTbDrTqGnEO9eFMR33mfG72A2YFjQ23+zTsnDtcOesBKUtRXWTh6V4bQUVg==",
+ "dev": true,
+ "requires": {
+ "jsonfile": "^2.0.0",
+ "ncp": "^1.0.1",
+ "rimraf": "^2.2.8"
+ }
+ },
+ "glob": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "integrity": "sha512-I0rTWUKSZKxPSIAIaqhSXTM/DiII6wame+rEC3cFA5Lqmr9YmdL7z6Hj9+bdWtTvoY1Su4/OiMLmb37Y7JzvJQ==",
+ "dev": true,
+ "requires": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^2.0.1",
+ "once": "^1.3.0"
+ }
+ },
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "minimatch": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "integrity": "sha512-jQo6o1qSVLEWaw3l+bwYA2X0uLuK2KjNh2wjgO7Q/9UJnXr1Q3yQKR8BI0/Bt/rPg75e6SMW4hW/6cBHVTZUjA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.0.0"
+ }
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ },
+ "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"
+ }
+ },
+ "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": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ }
+ }
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+ "dev": true
+ },
+ "through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "dev": true,
+ "requires": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "through2-filter": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
+ "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
+ "dev": true,
+ "requires": {
+ "through2": "~2.0.0",
+ "xtend": "~4.0.0"
+ }
+ },
+ "thunky": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
+ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
+ "dev": true
+ },
+ "time-stamp": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+ "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==",
+ "dev": true
+ },
+ "timers-ext": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
+ "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
+ "dev": true,
+ "requires": {
+ "es5-ext": "~0.10.46",
+ "next-tick": "1"
+ }
+ },
+ "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"
+ }
+ },
+ "to-absolute-glob": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
+ "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==",
+ "dev": true,
+ "requires": {
+ "is-absolute": "^1.0.0",
+ "is-negated-glob": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-readable-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
+ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
+ "dev": true
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "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==",
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "to-through": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
+ "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==",
+ "dev": true,
+ "requires": {
+ "through2": "^2.0.3"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "trim-newlines": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
+ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
+ "dev": true
+ },
+ "ts-node": {
+ "version": "10.9.1",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
+ "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
+ "dev": true,
+ "requires": {
+ "@cspotcode/source-map-support": "^0.8.0",
+ "@tsconfig/node10": "^1.0.7",
+ "@tsconfig/node12": "^1.0.7",
+ "@tsconfig/node14": "^1.0.0",
+ "@tsconfig/node16": "^1.0.2",
+ "acorn": "^8.4.1",
+ "acorn-walk": "^8.1.1",
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "v8-compile-cache-lib": "^3.0.1",
+ "yn": "3.1.1"
+ }
+ },
+ "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,
+ "requires": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "tslib": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
+ "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
+ },
+ "tsutils": {
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+ "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.8.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
+ }
+ },
+ "tuf-js": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.5.tgz",
+ "integrity": "sha512-inqodgxdsmuxrtQVbu6tPNgRKWD1Boy3VB6GO7KczJZpAHiTukwhSzXUSzvDcw5pE2Jo8ua+e1ykpHv7VdPVlQ==",
+ "dev": true,
+ "requires": {
+ "@tufjs/models": "1.0.4",
+ "make-fetch-happen": "^11.1.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-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"
+ }
+ }
+ }
+ },
+ "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-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1"
+ }
+ },
+ "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
+ },
+ "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": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dev": true,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "typedoc": {
+ "version": "0.23.28",
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.28.tgz",
+ "integrity": "sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w==",
+ "dev": true,
+ "requires": {
+ "lunr": "^2.3.9",
+ "marked": "^4.2.12",
+ "minimatch": "^7.1.3",
+ "shiki": "^0.14.1"
+ },
+ "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"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
+ }
+ },
+ "typedoc-plugin-localization": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/typedoc-plugin-localization/-/typedoc-plugin-localization-3.0.0.tgz",
+ "integrity": "sha512-Pnp06S+G/3VrC2TP0LpnjJWx2HQn/c5yzdAQHVFf7KxcoEWrp2etzyS4YefRdgXhd6F+THx51gaK7EO7/bCO4Q==",
+ "dev": true,
+ "requires": {
+ "fs-extra": "^10.1.0"
+ },
+ "dependencies": {
+ "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": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true
+ }
+ }
+ },
+ "typescript": {
+ "version": "4.9.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
+ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+ "dev": true
+ },
+ "ua-parser-js": {
+ "version": "1.0.35",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz",
+ "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==",
+ "dev": true
+ },
+ "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
+ },
+ "unc-path-regex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+ "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==",
+ "dev": true
+ },
+ "undertaker": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz",
+ "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.0.1",
+ "arr-map": "^2.0.0",
+ "bach": "^1.0.0",
+ "collection-map": "^1.0.0",
+ "es6-weak-map": "^2.0.1",
+ "fast-levenshtein": "^1.0.0",
+ "last-run": "^1.1.0",
+ "object.defaults": "^1.0.0",
+ "object.reduce": "^1.0.0",
+ "undertaker-registry": "^1.0.0"
+ },
+ "dependencies": {
+ "fast-levenshtein": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz",
+ "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==",
+ "dev": true
+ }
+ }
+ },
+ "undertaker-registry": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz",
+ "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==",
+ "dev": true
+ },
+ "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
+ },
+ "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": {
+ "unicode-canonical-property-names-ecmascript": "^2.0.0",
+ "unicode-property-aliases-ecmascript": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dev": true
+ }
+ }
+ },
+ "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,
- "dependencies": {
- "ini": "1.3.7"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "requires": {
+ "unique-slug": "^4.0.0"
}
},
- "node_modules/update-notifier/node_modules/has-flag": {
+ "unique-slug": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz",
+ "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==",
"dev": true,
- "engines": {
- "node": ">=8"
+ "requires": {
+ "imurmurhash": "^0.1.4"
}
},
- "node_modules/update-notifier/node_modules/import-lazy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
- "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==",
+ "unique-stream": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
+ "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==",
"dev": true,
- "engines": {
- "node": ">=4"
+ "requires": {
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "through2-filter": "^3.0.0"
}
},
- "node_modules/update-notifier/node_modules/ini": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
- "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==",
+ "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,
+ "requires": {
+ "crypto-random-string": "^2.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==",
"dev": true
},
- "node_modules/update-notifier/node_modules/is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "dev": true
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==",
"dev": true,
- "dependencies": {
- "ci-info": "^2.0.0"
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
},
- "bin": {
- "is-ci": "bin.js"
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==",
+ "dev": true
+ },
+ "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/update-notifier/node_modules/is-installed-globally": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
- "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==",
+ "upath": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+ "dev": true
+ },
+ "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,
- "dependencies": {
- "global-dirs": "^2.0.1",
- "is-path-inside": "^3.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "requires": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
}
},
- "node_modules/update-notifier/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==",
+ "update-notifier": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz",
+ "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==",
"dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
+ "requires": {
+ "boxen": "^4.2.0",
+ "chalk": "^3.0.0",
+ "configstore": "^5.0.1",
+ "has-yarn": "^2.1.0",
+ "import-lazy": "^2.1.0",
+ "is-ci": "^2.0.0",
+ "is-installed-globally": "^0.3.1",
+ "is-npm": "^4.0.0",
+ "is-yarn-global": "^0.3.0",
+ "latest-version": "^5.0.0",
+ "pupa": "^2.0.1",
+ "semver-diff": "^3.1.1",
+ "xdg-basedir": "^4.0.0"
},
- "engines": {
- "node": ">=8"
+ "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": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "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
+ },
+ "import-lazy": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
+ "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==",
+ "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"
+ }
+ }
}
},
- "node_modules/upper-case": {
+ "upper-case": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
"integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==",
"dev": true
},
- "node_modules/uri-js": {
+ "uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
- "dependencies": {
+ "requires": {
"punycode": "^2.1.0"
}
},
- "node_modules/urix": {
+ "urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
- "deprecated": "Please see https://github.com/lydell/urix#deprecated",
"dev": true
},
- "node_modules/url-parse-lax": {
+ "url-parse-lax": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
"integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
"dev": true,
- "dependencies": {
+ "requires": {
"prepend-http": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
}
},
- "node_modules/use": {
+ "use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
+ "dev": true
},
- "node_modules/util-deprecate": {
+ "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
},
- "node_modules/utils-merge": {
+ "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,
- "engines": {
- "node": ">= 0.4.0"
- }
+ "dev": true
},
- "node_modules/uuid": {
+ "uuid": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
- "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
- "bin": {
- "uuid": "dist/bin/uuid"
- }
+ "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg=="
},
- "node_modules/v8-compile-cache": {
+ "v8-compile-cache": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
"integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
"dev": true
},
- "node_modules/v8-compile-cache-lib": {
+ "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==",
"dev": true
},
- "node_modules/v8flags": {
+ "v8flags": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz",
"integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
"dev": true,
- "dependencies": {
+ "requires": {
"homedir-polyfill": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.10"
}
},
- "node_modules/validate-npm-package-license": {
+ "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,
- "dependencies": {
+ "requires": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
}
},
- "node_modules/validate-npm-package-name": {
+ "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,
- "dependencies": {
+ "requires": {
"builtins": "^5.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/value-or-function": {
+ "value-or-function": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
"integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
+ "dev": true
},
- "node_modules/vary": {
+ "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,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ],
- "dependencies": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "node_modules/verror/node_modules/core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
"dev": true
},
- "node_modules/vinyl": {
+ "vinyl": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz",
"integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==",
"dev": true,
- "dependencies": {
+ "requires": {
"clone": "^2.1.1",
"clone-buffer": "^1.0.0",
"clone-stats": "^1.0.0",
@@ -22566,16 +40935,21 @@
"remove-trailing-separator": "^1.0.1",
"replace-ext": "^1.0.0"
},
- "engines": {
- "node": ">= 0.10"
+ "dependencies": {
+ "replace-ext": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
+ "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
+ "dev": true
+ }
}
},
- "node_modules/vinyl-fs": {
+ "vinyl-fs": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz",
"integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==",
"dev": true,
- "dependencies": {
+ "requires": {
"fs-mkdirp-stream": "^1.0.0",
"glob-stream": "^6.1.0",
"graceful-fs": "^4.0.0",
@@ -22593,55 +40967,48 @@
"value-or-function": "^3.0.0",
"vinyl": "^2.0.0",
"vinyl-sourcemap": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.10"
}
},
- "node_modules/vinyl-source-stream": {
+ "vinyl-source-stream": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vinyl-source-stream/-/vinyl-source-stream-1.1.2.tgz",
"integrity": "sha512-X+1Jq+M6ufv/ky480hndPBsNb0ieqTQkvpakxMTxb7oUlyuNaJKL2HddYUrbTec0Lb0J53JlDiCetcgJ3b3Wmg==",
"dev": true,
- "dependencies": {
+ "requires": {
"through2": "^2.0.3",
"vinyl": "^0.4.3"
- }
- },
- "node_modules/vinyl-source-stream/node_modules/clone": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
- "integrity": "sha512-g62n3Kb9cszeZvmvBUqP/dsEJD/+80pDA8u8KqHnAPrVnQ2Je9rVV6opxkhuWCd1kCn2gOibzDKxCtBvD3q5kA==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/vinyl-source-stream/node_modules/clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
- "dev": true
- },
- "node_modules/vinyl-source-stream/node_modules/vinyl": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
- "integrity": "sha512-pmza4M5VA15HOImIQYWhoXGlGNafCm0QK5BpBUXkzzEwrRxKqBsbAhTfkT2zMcJhUX1G1Gkid0xaV8WjOl7DsA==",
- "dev": true,
- "dependencies": {
- "clone": "^0.2.0",
- "clone-stats": "^0.0.1"
},
- "engines": {
- "node": ">= 0.9"
+ "dependencies": {
+ "clone": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha512-g62n3Kb9cszeZvmvBUqP/dsEJD/+80pDA8u8KqHnAPrVnQ2Je9rVV6opxkhuWCd1kCn2gOibzDKxCtBvD3q5kA==",
+ "dev": true
+ },
+ "clone-stats": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha512-pmza4M5VA15HOImIQYWhoXGlGNafCm0QK5BpBUXkzzEwrRxKqBsbAhTfkT2zMcJhUX1G1Gkid0xaV8WjOl7DsA==",
+ "dev": true,
+ "requires": {
+ "clone": "^0.2.0",
+ "clone-stats": "^0.0.1"
+ }
+ }
}
},
- "node_modules/vinyl-sourcemap": {
+ "vinyl-sourcemap": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
"integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==",
"dev": true,
- "dependencies": {
+ "requires": {
"append-buffer": "^1.0.2",
"convert-source-map": "^1.5.0",
"graceful-fs": "^4.1.6",
@@ -22650,165 +41017,150 @@
"remove-bom-buffer": "^3.0.0",
"vinyl": "^2.0.0"
},
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/vinyl-sourcemap/node_modules/normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
- "dev": true,
- "dependencies": {
- "remove-trailing-separator": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/vinyl-sourcemaps-apply": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
- "integrity": "sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==",
- "dev": true,
"dependencies": {
- "source-map": "^0.5.1"
- }
- },
- "node_modules/vinyl-sourcemaps-apply/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==",
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ }
+ }
+ },
+ "vinyl-sourcemaps-apply": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
+ "integrity": "sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "source-map": "^0.5.1"
+ },
+ "dependencies": {
+ "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
+ }
}
},
- "node_modules/vinyl-string": {
+ "vinyl-string": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/vinyl-string/-/vinyl-string-1.0.2.tgz",
"integrity": "sha512-mDkPUvCM7K9r0WYZKIWc/dfPH8wkJBbe/3wZUU9EJyw3g6VSACg6FLlcZ/QbP1lTSdtBsVjQoYG1a9K0cfoKeQ==",
"dev": true,
- "dependencies": {
+ "requires": {
"vinyl": "^1.1.1"
- }
- },
- "node_modules/vinyl-string/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"
- }
- },
- "node_modules/vinyl-string/node_modules/clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
- "dev": true
- },
- "node_modules/vinyl-string/node_modules/replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/vinyl-string/node_modules/vinyl": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
- "integrity": "sha512-Ci3wnR2uuSAWFMSglZuB8Z2apBdtOyz8CV7dC6/U1XbltXBC+IuutUkXQISz01P+US2ouBuesSbV6zILZ6BuzQ==",
- "dev": true,
- "dependencies": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
},
- "engines": {
- "node": ">= 0.9"
+ "dependencies": {
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "dev": true
+ },
+ "clone-stats": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
+ "dev": true
+ },
+ "replace-ext": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "integrity": "sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha512-Ci3wnR2uuSAWFMSglZuB8Z2apBdtOyz8CV7dC6/U1XbltXBC+IuutUkXQISz01P+US2ouBuesSbV6zILZ6BuzQ==",
+ "dev": true,
+ "requires": {
+ "clone": "^1.0.0",
+ "clone-stats": "^0.0.1",
+ "replace-ext": "0.0.1"
+ }
+ }
}
},
- "node_modules/vinyl/node_modules/replace-ext": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
- "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
+ "vite": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.1.tgz",
+ "integrity": "sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==",
"dev": true,
- "engines": {
- "node": ">= 0.10"
+ "requires": {
+ "esbuild": "^0.17.5",
+ "fsevents": "~2.3.2",
+ "postcss": "^8.4.21",
+ "rollup": "^3.20.2"
}
},
- "node_modules/void-elements": {
+ "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,
- "engines": {
- "node": ">=0.10.0"
- }
+ "dev": true
},
- "node_modules/vscode-oniguruma": {
+ "vscode-oniguruma": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
"integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
"dev": true
},
- "node_modules/vscode-textmate": {
+ "vscode-textmate": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
"integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==",
"dev": true
},
- "node_modules/watchpack": {
+ "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,
- "dependencies": {
+ "requires": {
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.1.2"
- },
- "engines": {
- "node": ">=10.13.0"
}
},
- "node_modules/wbuf": {
+ "wbuf": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
"integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
"dev": true,
- "dependencies": {
+ "requires": {
"minimalistic-assert": "^1.0.0"
}
},
- "node_modules/wcwidth": {
+ "wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
"integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
"dev": true,
- "dependencies": {
+ "requires": {
"defaults": "^1.0.3"
}
},
- "node_modules/webpack": {
- "version": "5.75.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz",
- "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==",
+ "webpack": {
+ "version": "5.80.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.80.0.tgz",
+ "integrity": "sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==",
"dev": true,
- "dependencies": {
+ "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",
+ "@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",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.10.0",
- "es-module-lexer": "^0.9.0",
+ "enhanced-resolve": "^5.13.0",
+ "es-module-lexer": "^1.2.1",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
"glob-to-regexp": "^0.4.1",
@@ -22817,57 +41169,86 @@
"loader-runner": "^4.2.0",
"mime-types": "^2.1.27",
"neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
+ "schema-utils": "^3.1.2",
"tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
+ "terser-webpack-plugin": "^5.3.7",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
+ "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,
+ "requires": {}
+ },
+ "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,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "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"
+ }
}
}
},
- "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==",
+ "webpack-dev-middleware": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.2.tgz",
+ "integrity": "sha512-iOddiJzPcQC6lwOIu60vscbGWth8PCRcWRCwoQcTQf9RMoOWBHg5EyzpGdtSmGMrSPd5vHEfFXmVErQEmkRngQ==",
"dev": true,
- "dependencies": {
+ "requires": {
"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"
}
},
- "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==",
+ "webpack-dev-server": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.2.tgz",
+ "integrity": "sha512-5i6TrGBRxG4vnfDpB6qSQGfnB6skGBXNL5/542w2uRGLimX6qeE5BQMLrzIC3JYV/xlGOv+s+hTleI9AZKUQNw==",
"dev": true,
- "dependencies": {
+ "requires": {
"@types/bonjour": "^3.5.9",
"@types/connect-history-api-fallback": "^1.3.5",
"@types/express": "^4.17.13",
@@ -22887,490 +41268,341 @@
"html-entities": "^2.3.2",
"http-proxy-middleware": "^2.0.3",
"ipaddr.js": "^2.0.1",
+ "launch-editor": "^2.6.0",
"open": "^8.0.9",
"p-retry": "^4.5.0",
"rimraf": "^3.0.2",
- "schema-utils": "^4.0.0",
- "selfsigned": "^2.1.1",
- "serve-index": "^1.9.1",
- "sockjs": "^0.3.24",
- "spdy": "^4.0.2",
- "webpack-dev-middleware": "^5.3.1",
- "ws": "^8.4.2"
- },
- "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
- }
- }
- },
- "node_modules/webpack-dev-server/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,
- "engines": {
- "node": ">=0.8"
- }
- },
- "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-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,
- "dependencies": {
- "clone-deep": "^4.0.1",
- "wildcard": "^2.0.0"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "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,
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "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,
- "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/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/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/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
+ "schema-utils": "^4.0.0",
+ "selfsigned": "^2.1.1",
+ "serve-index": "^1.9.1",
+ "sockjs": "^0.3.24",
+ "spdy": "^4.0.2",
+ "webpack-dev-middleware": "^5.3.1",
+ "ws": "^8.13.0"
},
- "engines": {
- "node": ">=8.0.0"
+ "dependencies": {
+ "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
+ },
+ "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"
+ }
+ },
+ "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,
+ "requires": {}
+ }
}
},
- "node_modules/webpack/node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "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,
- "engines": {
- "node": ">=4.0"
+ "requires": {
+ "clone-deep": "^4.0.1",
+ "wildcard": "^2.0.0"
}
},
- "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==",
+ "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
},
- "node_modules/webpack/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "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,
- "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"
+ "requires": {
+ "typed-assert": "^1.0.8"
}
},
- "node_modules/websocket-driver": {
+ "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,
- "dependencies": {
+ "requires": {
"http-parser-js": ">=0.5.1",
"safe-buffer": ">=5.1.0",
"websocket-extensions": ">=0.1.1"
- },
- "engines": {
- "node": ">=0.8.0"
}
},
- "node_modules/websocket-extensions": {
+ "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,
- "engines": {
- "node": ">=0.8.0"
- }
+ "dev": true
},
- "node_modules/which": {
+ "which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
- "dependencies": {
+ "requires": {
"isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
}
},
- "node_modules/which-boxed-primitive": {
+ "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": {
+ "requires": {
"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": {
+ "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": {
+ "requires": {
"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-module": {
+ "which-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
"integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==",
"dev": true
},
- "node_modules/which-typed-array": {
+ "which-typed-array": {
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
"integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
"dev": true,
- "dependencies": {
+ "requires": {
"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",
"is-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/wide-align": {
+ "wide-align": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
"integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
"dev": true,
- "dependencies": {
+ "requires": {
"string-width": "^1.0.2 || 2 || 3 || 4"
}
},
- "node_modules/widest-line": {
+ "widest-line": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
"integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
"dev": true,
- "dependencies": {
+ "requires": {
"string-width": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
}
},
- "node_modules/wildcard": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
- "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
+ "wildcard": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
+ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
"dev": true
},
- "node_modules/word-wrap": {
+ "word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
+ "dev": true
},
- "node_modules/wordwrap": {
+ "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": {
+ "wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
- "dependencies": {
+ "requires": {
"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/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"
+ "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
+ }
}
},
- "node_modules/wrap-ansi/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==",
+ "wrap-ansi-cjs": {
+ "version": "npm:wrap-ansi@7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
},
- "engines": {
- "node": ">=7.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
+ }
}
},
- "node_modules/wrap-ansi/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/wrappy": {
+ "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
},
- "node_modules/write-file-atomic": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.0.tgz",
- "integrity": "sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==",
+ "write-file-atomic": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
+ "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
"dev": true,
- "dependencies": {
+ "requires": {
"imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.7"
+ "signal-exit": "^4.0.1"
},
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "dependencies": {
+ "signal-exit": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz",
+ "integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==",
+ "dev": true
+ }
}
},
- "node_modules/ws": {
+ "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
- }
- }
+ "requires": {}
},
- "node_modules/xdg-basedir": {
+ "xdg-basedir": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
"integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
+ "dev": true
},
- "node_modules/xmlbuilder": {
+ "xmlbuilder": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-12.0.0.tgz",
"integrity": "sha512-lMo8DJ8u6JRWp0/Y4XLa/atVDr75H9litKlb2E5j3V3MesoL50EBgZDWoLT3F/LztVnG67GjPXLZpqcky/UMnQ==",
- "dev": true,
- "engines": {
- "node": ">=6.0"
- }
+ "dev": true
},
- "node_modules/xmlhttprequest-ssl": {
+ "xmlhttprequest-ssl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
"integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
+ "dev": true
},
- "node_modules/xtend": {
+ "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"
- }
+ "dev": true
},
- "node_modules/xxhashjs": {
+ "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,
- "dependencies": {
+ "requires": {
"cuint": "^0.2.2"
}
},
- "node_modules/y18n": {
+ "y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
+ "dev": true
},
- "node_modules/yallist": {
+ "yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true
},
- "node_modules/yaml": {
+ "yaml": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
+ "dev": true
},
- "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==",
+ "yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dev": true,
- "dependencies": {
+ "requires": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
@@ -23379,64 +41611,43 @@
"y18n": "^5.0.5",
"yargs-parser": "^21.1.1"
},
- "engines": {
- "node": ">=12"
- }
- },
- "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,
- "engines": {
- "node": ">=10"
+ "dependencies": {
+ "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,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ }
+ }
}
},
- "node_modules/yargs/node_modules/yargs-parser": {
+ "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,
- "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"
- }
+ "dev": true
},
- "node_modules/yn": {
+ "yn": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
+ "dev": true
},
- "node_modules/yocto-queue": {
+ "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"
- }
+ "dev": true
},
- "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==",
- "dependencies": {
+ "zone.js": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.0.tgz",
+ "integrity": "sha512-7m3hNNyswsdoDobCkYNAy5WiUulkMd3+fWaGT9ij6iq3Zr/IwJo4RMCYPSDjT+r7tnPErmY9sZpKhWQ8S5k6XQ==",
+ "requires": {
"tslib": "^2.3.0"
}
}
diff --git a/package.json b/package.json
index 368d78fae38..a5b42e415b8 100644
--- a/package.json
+++ b/package.json
@@ -53,15 +53,15 @@
},
"private": true,
"dependencies": {
- "@angular/animations": "^15.2.0",
- "@angular/common": "^15.2.0",
- "@angular/compiler": "^15.2.0",
- "@angular/core": "^15.2.0",
- "@angular/forms": "^15.2.0",
- "@angular/platform-browser": "^15.2.0",
- "@angular/platform-browser-dynamic": "^15.2.0",
- "@angular/router": "^15.2.0",
- "@igniteui/material-icons-extended": "^2.10.0",
+ "@angular/animations": "^16.0.0",
+ "@angular/common": "^16.0.0",
+ "@angular/compiler": "^16.0.0",
+ "@angular/core": "^16.0.0",
+ "@angular/forms": "^16.0.0",
+ "@angular/platform-browser": "^16.0.0",
+ "@angular/platform-browser-dynamic": "^16.0.0",
+ "@angular/router": "^16.0.0",
+ "@igniteui/material-icons-extended": "^3.0.0",
"@types/hammerjs": "^2.0.40",
"@types/source-map": "0.5.2",
"fflate": "^0.7.3",
@@ -72,33 +72,31 @@
"rxjs": "^6.6.7",
"tslib": "^2.3.0",
"uuid": "^9.0.0",
- "zone.js": "~0.12.0"
+ "zone.js": "~0.13.0"
},
"devDependencies": {
- "@angular-devkit/build-angular": "^15.2.0",
- "@angular-devkit/schematics": "^15.2.0",
- "@angular-eslint/builder": "^15.2.0",
- "@angular-eslint/eslint-plugin": "^15.2.0",
- "@angular-eslint/eslint-plugin-template": "^15.2.0",
- "@angular-eslint/schematics": "^15.2.0",
- "@angular-eslint/template-parser": "^15.2.0",
- "@angular/cli": "^15.2.0",
- "@angular/compiler-cli": "^15.2.0",
- "@angular/language-service": "^15.2.0",
+ "@angular-devkit/build-angular": "^16.0.0",
+ "@angular-devkit/schematics": "^16.0.0",
+ "@angular-eslint/builder": "^16.0.1",
+ "@angular-eslint/eslint-plugin": "^16.0.1",
+ "@angular-eslint/eslint-plugin-template": "^16.0.1",
+ "@angular-eslint/schematics": "^16.0.1",
+ "@angular-eslint/template-parser": "^16.0.1",
+ "@angular/cli": "^16.0.0",
+ "@angular/compiler-cli": "^16.0.0",
+ "@angular/language-service": "^16.0.0",
"@angularclass/hmr": "^3.0.0",
- "@cypress/schematic": "^2.4.0",
"@types/estree": "^1.0.0",
"@types/jasmine": "^4.3.1",
"@types/jasminewd2": "^2.0.10",
"@types/node": "^18.11.19",
"@types/sass-true": "^6.0.2",
"@types/webpack-env": "^1.16.3",
- "@typescript-eslint/eslint-plugin": "^5.48.1",
- "@typescript-eslint/parser": "^5.48.1",
+ "@typescript-eslint/eslint-plugin": "^5.59.2",
+ "@typescript-eslint/parser": "^5.59.2",
"browser-sync": "^2.27.11",
- "cypress": "^12.6.0",
"del": "^6.0.0",
- "eslint": "^8.32.0",
+ "eslint": "^8.39.0",
"gulp": "^4.0.2",
"gulp-cached": "^1.1.1",
"gulp-concat": "^2.6.1",
@@ -111,17 +109,17 @@
"hammer-simulator": "0.0.1",
"ig-typedoc-theme": "^4.2.0",
"igniteui-sassdoc-theme": "^1.1.6",
- "igniteui-webcomponents": "^4.2.1",
- "jasmine": "^4.5.0",
- "jasmine-core": "~4.5.0",
- "karma": "^6.3.11",
- "karma-chrome-launcher": "~3.1.0",
+ "igniteui-webcomponents": "^4.2.3",
+ "jasmine": "^4.6.0",
+ "jasmine-core": "~4.6.0",
+ "karma": "^6.4.2",
+ "karma-chrome-launcher": "~3.2.0",
"karma-coverage": "^2.0.3",
"karma-jasmine": "~5.1.0",
"karma-junit-reporter": "^2.0.1",
"karma-parallel": "^0.3.1",
"karma-spec-reporter": "^0.0.36",
- "ng-packagr": "^15.1.1",
+ "ng-packagr": "^16.0.0",
"postcss-scss": "^4.0.6",
"sass": "^1.58.1",
"sass-true": "^6.0.1",
diff --git a/projects/igniteui-angular-i18n/.eslintrc.json b/projects/igniteui-angular-i18n/.eslintrc.json
index 9aa69bb804d..34002a658d7 100644
--- a/projects/igniteui-angular-i18n/.eslintrc.json
+++ b/projects/igniteui-angular-i18n/.eslintrc.json
@@ -1,42 +1,42 @@
{
- "extends": "../../.eslintrc.json",
- "ignorePatterns": [
- "!**/*"
- ],
- "parserOptions": {
- "project": [
- "projects/igniteui-angular-i18n/tsconfig.build.json"
+ "extends": "../../.eslintrc.json",
+ "ignorePatterns": [
+ "!**/*"
+ ],
+ "parserOptions": {
+ "project": [
+ "projects/igniteui-angular-i18n/tsconfig.build.json"
+ ]
+ },
+ "plugins": [
+ "@typescript-eslint"
+ ],
+ "rules": {
+ "@typescript-eslint/indent": "error",
+ "@typescript-eslint/naming-convention": [
+ "error",
+ {
+ "trailingUnderscore": "allow",
+ "selector": "variable",
+ "modifiers": [
+ "const"
+ ],
+ "format": [
+ "PascalCase"
]
- },
- "plugins": [
- "@typescript-eslint"
+ }
],
- "rules": {
- "@typescript-eslint/indent": "error",
- "@typescript-eslint/naming-convention": [
- "error",
- {
- "trailingUnderscore" : "allow",
- "selector": "variable",
- "modifiers": [
- "const"
- ],
- "format": [
- "PascalCase"
- ]
- }
- ],
- "indent": "error",
- "no-empty-function": "off",
- "semi": "error",
- "spaced-comment": [
- "error",
- "always",
- {
- "markers": [
- "/"
- ]
- }
+ "indent": "error",
+ "no-empty-function": "off",
+ "semi": "error",
+ "spaced-comment": [
+ "error",
+ "always",
+ {
+ "markers": [
+ "/"
]
- }
+ }
+ ]
+ }
}
diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts
index 3c962d6abc7..e25375fdb7d 100644
--- a/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts
+++ b/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts
@@ -165,7 +165,7 @@ const GridResourceStringsFR_: ExpandRequire = {
igx_grid_max_length_validation_error: 'Veuillez sélectionner au maximum {0} caractères',
igx_grid_email_validation_error: 'Une adresse e-mail valide doit être saisie',
igx_grid_pattern_validation_error: 'La valeur entrée ne correspond pas au schéma requis',
- igx_grid_pivot_no_aggregator: 'Aucun agrégateur valide trouvé pour {0}. Veuillez définir un « aggregatorName » ou un « aggregator » valide.'
+ igx_grid_pivot_no_aggregator: 'Aucun agrégateur valide trouvé pour {0}. Veuillez définir un « aggregatorName » ou un « aggregator » valide.'
};
/**
diff --git a/projects/igniteui-angular/.eslintrc.json b/projects/igniteui-angular/.eslintrc.json
index b0c6e4e1cc6..69a5570767c 100644
--- a/projects/igniteui-angular/.eslintrc.json
+++ b/projects/igniteui-angular/.eslintrc.json
@@ -20,16 +20,24 @@
"error",
{
"type": "element",
- "prefix": "igx",
+ "prefix": [
+ "igx",
+ "igc"
+ ],
"style": "kebab-case"
}
],
"@angular-eslint/directive-selector": [
"error",
{
- "type": "attribute",
- "prefix": "igx",
- "style": "camelCase"
+ "type": [
+ "attribute",
+ "element"
+ ],
+ "prefix": [
+ "igx",
+ "igc"
+ ]
}
],
"@angular-eslint/no-input-rename": "off",
diff --git a/projects/igniteui-angular/migrations/common/UpdateChanges.ts b/projects/igniteui-angular/migrations/common/UpdateChanges.ts
index 111402e9be3..1ad6fa66526 100644
--- a/projects/igniteui-angular/migrations/common/UpdateChanges.ts
+++ b/projects/igniteui-angular/migrations/common/UpdateChanges.ts
@@ -473,6 +473,7 @@ export class UpdateChanges {
let fileContent = this.host.read(entryPath).toString();
let overwrite = false;
const allowedStartCharacters = new RegExp('(\:|\,)\s?', 'g');
+ // eslint-disable-next-line no-control-regex
const allowedEndCharacters = new RegExp('[;),: \r\n]', 'g');
for (const change of this.themeChanges.changes) {
if (change.type !== ThemeType.Variable) {
@@ -532,7 +533,7 @@ export class UpdateChanges {
/@use(\s+)('|")igniteui-angular\/lib\/core\/styles\/themes\/index\2\1as\1(\w+)/g
];
- var aliases = [];
+ const aliases = [];
matchers.forEach(m => {
const match = m.exec(fileContent);
if (match) {
@@ -667,7 +668,7 @@ export class UpdateChanges {
this._initialTsConfig = originalContent;
}
}
- };
+ }
private ensureTsConfigPath(): void {
if (this.host.exists(this.tsconfigPath)) {
@@ -675,7 +676,7 @@ export class UpdateChanges {
}
// attempt to find a main tsconfig from workspace:
- const wsProject = this.workspace.projects[this.workspace.defaultProject] || this.workspace.projects[0];
+ const wsProject = this.workspace.projects[0];
// technically could be per-project, but assuming there's at least one main tsconfig for IDE support
const projectConfig = wsProject.architect?.build?.options['tsConfig'];
@@ -693,7 +694,7 @@ export class UpdateChanges {
if (!result.error && result.config.extends) {
this.tsconfigPath = path.posix.join(path.posix.dirname(projectConfig), result.config.extends);
}
- };
+ }
private loadConfig(configJson: string) {
const filePath = path.join(this.rootPath, 'changes', configJson);
@@ -829,7 +830,7 @@ export class UpdateChanges {
}
private resolveWorkspaceProject(): WorkspaceProject | null {
- let wsProject = this.workspace.projects[this.workspace.defaultProject] || this.workspace.projects[0];
+ let wsProject = this.workspace.projects[0];
if (!wsProject) {
const projectKeys = Object.keys(this.workspace.projects);
if (!projectKeys.length) {
diff --git a/projects/igniteui-angular/migrations/common/util.ts b/projects/igniteui-angular/migrations/common/util.ts
index ffcfb5b444d..887ada36732 100644
--- a/projects/igniteui-angular/migrations/common/util.ts
+++ b/projects/igniteui-angular/migrations/common/util.ts
@@ -90,7 +90,9 @@ export const getPackageVersion = (pkg: string): string => {
let version = null;
try {
version = require(path.posix.join(pkg, 'package.json'))?.version;
- } catch { }
+ } catch {
+ return version;
+ }
return version;
};
@@ -269,7 +271,7 @@ class SerializerVisitor implements Visitor {
return ` ${expansionCase.value} {${this._visitAll(expansionCase.expression)}}`;
}
- private _visitAll(nodes: Node[], join: string = ''): string {
+ private _visitAll(nodes: Node[], join = ''): string {
if (nodes.length === 0) {
return '';
}
diff --git a/projects/igniteui-angular/migrations/migration-collection.json b/projects/igniteui-angular/migrations/migration-collection.json
index 7b835db2020..107b1a52269 100644
--- a/projects/igniteui-angular/migrations/migration-collection.json
+++ b/projects/igniteui-angular/migrations/migration-collection.json
@@ -145,6 +145,11 @@
"version": "15.1.0",
"description": "Updates Ignite UI for Angular from v15.0.x to v15.1.0",
"factory": "./update-15_1_0"
+ },
+ "migration-30": {
+ "version": "16.0.0",
+ "description": "Updates Ignite UI for Angular from v15.1.x to v16.0.0",
+ "factory": "./update-16_0_0"
}
}
}
diff --git a/projects/igniteui-angular/migrations/update-13_0_0/index.ts b/projects/igniteui-angular/migrations/update-13_0_0/index.ts
index 9dbc57c92e5..89f487a9d96 100644
--- a/projects/igniteui-angular/migrations/update-13_0_0/index.ts
+++ b/projects/igniteui-angular/migrations/update-13_0_0/index.ts
@@ -80,7 +80,7 @@ export default (options: Options): Rule =>
}
result += '>'
- const toolbarTitle = !!toolbar ? findElementNodes([toolbar], ['igx-grid-toolbar-title'])[0] : null;
+ const toolbarTitle = toolbar ? findElementNodes([toolbar], ['igx-grid-toolbar-title'])[0] : null;
const title = !toolbarTitle || attributes['toolbarTitle']?.value ? attributes['toolbarTitle'] : (((toolbarTitle as Element).children)[0] as Text);
if (title && title.value) {
result += `\n${title.value} `
@@ -96,7 +96,7 @@ export default (options: Options): Rule =>
result += '\n';
}
- const hiding = !!toolbar ? findElementNodes([toolbar], ['igx-grid-toolbar-hiding'])[0] : null;
+ const hiding = toolbar ? findElementNodes([toolbar], ['igx-grid-toolbar-hiding'])[0] : null;
const showHiding = !hiding || attributes['columnHiding']?.value ? attributes['columnHiding'] : getAttribute(hiding as Element, ['*ngIf', '[*ngIf]'])[0];
if (hasHiding) {
@@ -117,7 +117,7 @@ export default (options: Options): Rule =>
result += '>';
}
- const pinning = !!toolbar ? findElementNodes([toolbar], ['igx-grid-toolbar-pinning'])[0] : null;
+ const pinning = toolbar ? findElementNodes([toolbar], ['igx-grid-toolbar-pinning'])[0] : null;
const showPinning = !pinning || attributes['columnPinning']?.value ? attributes['columnPinning'] : getAttribute(pinning as Element, ['*ngIf', '[*ngIf]'])[0];
if (hasPinning) {
result += `\n
result += '> ';
}
- const exporting = !!toolbar ? findElementNodes([toolbar], ['igx-grid-toolbar-exporter'])[0] : null;
+ const exporting = toolbar ? findElementNodes([toolbar], ['igx-grid-toolbar-exporter'])[0] : null;
const showExcelExporter = !exporting || attributes['exportExcel']?.value ? attributes['exportExcel'] : getAttribute(exporting as Element, ['exportExcel', '[exportExcel]'])[0];
const showCsvExporter = !exporting || attributes['exportCsv']?.value ? attributes['exportCsv'] : getAttribute(exporting as Element, ['exportCSV', '[exportCSV]'])[0];
diff --git a/projects/igniteui-angular/migrations/update-15_1_0/index.spec.ts b/projects/igniteui-angular/migrations/update-15_1_0/index.spec.ts
index 45a7eac4916..2b347c09bb6 100644
--- a/projects/igniteui-angular/migrations/update-15_1_0/index.spec.ts
+++ b/projects/igniteui-angular/migrations/update-15_1_0/index.spec.ts
@@ -70,6 +70,56 @@ describe(`Update to ${version}`, () => {
`);
});
+ it('should replace on-prefixed typescript outputs in carousel', async () => {
+ pending('set up tests for migrations through lang service');
+ appTree.create(
+ '/testSrc/appPrefix/component/test.component.ts',
+ `import { Component, ViewChild } from '@angular/core';
+ import { IgxCarouselComponent } from 'igniteui-angular';
+
+ @Component({
+ selector: 'appPrefix-component',
+ template: ' '
+ })
+ export class TestComponent {
+ @ViewChild(IgxCarouselComponent)
+ public carousel: IgxCarouselComponent;
+
+ contructor() {
+ this.carousel.onSlideChanged.subscribe((e) => {});
+ this.carousel.onSlideAdded.subscribe((e) => {});
+ this.carousel.onSlideRemoved.subscribe((e) => {});
+ this.carousel.onCarouselPaused.subscribe((e) => {});
+ this.carousel.onCarouselPlaying.subscribe((e) => {});
+ }
+ }
+ `);
+ const tree = await schematicRunner.runSchematic(migrationName, { shouldInvokeLS: true }, appTree);
+
+ const expectedContent = `import { Component, ViewChild } from '@angular/core';
+ import { IgxCarouselComponent } from 'igniteui-angular';
+
+ @Component({
+ selector: 'appPrefix-component',
+ templateUrl: './test.component.html',
+ styleUrls: ['./test.component.scss']
+ })
+ export class TestComponent {
+ @ViewChild(IgxCarouselComponent)
+ public carousel: IgxCarouselComponent;
+
+ contructor() {
+ this.carousel.slideChanged.subscribe((e) => {});
+ this.carousel.slideAdded.subscribe((e) => {});
+ this.carousel.slideRemoved.subscribe((e) => {});
+ this.carousel.carouselPaused.subscribe((e) => {});
+ this.carousel.carouselPlaying.subscribe((e) => {});
+ }
+ }
+ `;
+ expect(tree.readContent('/testSrc/appPrefix/component/test.component.ts')).toEqual(expectedContent);
+ });
+
it('should replace on-prefixed outputs for displayDensity and onGroupingDone to groupingDone', async () => {
appTree.create(
`/testSrc/appPrefix/component/carousel.component.html`,
diff --git a/projects/igniteui-angular/migrations/update-16_0_0/changes/classes.json b/projects/igniteui-angular/migrations/update-16_0_0/changes/classes.json
new file mode 100644
index 00000000000..44cef9f1371
--- /dev/null
+++ b/projects/igniteui-angular/migrations/update-16_0_0/changes/classes.json
@@ -0,0 +1,13 @@
+{
+ "$schema": "../../common/schema/class.schema.json",
+ "changes": [
+ {
+ "name": "IgxProcessBarTextTemplateDirective",
+ "replaceWith": "IgxProgressBarTextTemplateDirective"
+ },
+ {
+ "name": "IgxColumMaxLengthValidatorDirective",
+ "replaceWith": "IgxColumnMaxLengthValidatorDirective"
+ }
+ ]
+}
diff --git a/projects/igniteui-angular/migrations/update-16_0_0/index.spec.ts b/projects/igniteui-angular/migrations/update-16_0_0/index.spec.ts
new file mode 100644
index 00000000000..e431fe6e46c
--- /dev/null
+++ b/projects/igniteui-angular/migrations/update-16_0_0/index.spec.ts
@@ -0,0 +1,69 @@
+import * as path from 'path';
+
+import { EmptyTree } from '@angular-devkit/schematics';
+import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
+
+const version = '16.0.0';
+
+describe(`Update to ${version}`, () => {
+ let appTree: UnitTestTree;
+ const schematicRunner = new SchematicTestRunner('ig-migrate', path.join(__dirname, '../migration-collection.json'));
+
+ const configJson = {
+ defaultProject: 'testProj',
+ projects: {
+ testProj: {
+ root: '/',
+ sourceRoot: '/testSrc'
+ }
+ },
+ schematics: {
+ '@schematics/angular:component': {
+ prefix: 'appPrefix'
+ }
+ }
+ };
+
+ beforeEach(() => {
+ appTree = new UnitTestTree(new EmptyTree());
+ appTree.create('/angular.json', JSON.stringify(configJson));
+ });
+
+ const migrationName = 'migration-30';
+
+ it('Should replace IgxProcessBarTextTemplateDirective with IgxProgressBarTextTemplateDirective', async () => {
+ appTree.create(
+ '/testSrc/appPrefix/component/test.component.ts',
+ `import { Component, ViewChild } from '@angular/core';
+ import { IgxProcessBarTextTemplateDirective } from 'igniteui-angular';
+
+ @Component({
+ selector: 'test-component',
+ templateUrl: './test.component.html',
+ styleUrls: ['./test.component.scss']
+ })
+ export class TestComponent {
+ toolbar: IgxGridToolbarComponent;
+ @ViewChild(IgxProcessBarTextTemplateDirective)
+ public title: IgxProcessBarTextTemplateDirective;
+ }
+ `);
+ const tree = await schematicRunner.runSchematic(migrationName, { shouldInvokeLS: false }, appTree);
+
+ const expectedContent = `import { Component, ViewChild } from '@angular/core';
+ import { IgxProgressBarTextTemplateDirective } from 'igniteui-angular';
+
+ @Component({
+ selector: 'test-component',
+ templateUrl: './test.component.html',
+ styleUrls: ['./test.component.scss']
+ })
+ export class TestComponent {
+ toolbar: IgxGridToolbarComponent;
+ @ViewChild(IgxProgressBarTextTemplateDirective)
+ public title: IgxProgressBarTextTemplateDirective;
+ }
+ `;
+ expect(tree.readContent('/testSrc/appPrefix/component/test.component.ts')).toEqual(expectedContent);
+ });
+});
diff --git a/projects/igniteui-angular/migrations/update-16_0_0/index.ts b/projects/igniteui-angular/migrations/update-16_0_0/index.ts
new file mode 100644
index 00000000000..52cdbbcc724
--- /dev/null
+++ b/projects/igniteui-angular/migrations/update-16_0_0/index.ts
@@ -0,0 +1,14 @@
+import {
+ Rule,
+ SchematicContext,
+ Tree
+} from '@angular-devkit/schematics';
+import { UpdateChanges } from '../common/UpdateChanges';
+
+const version = '16.0.0';
+
+export default (): Rule => async (host: Tree, context: SchematicContext) => {
+ context.logger.info(`Applying migration for Ignite UI for Angular to version ${version}`);
+ const update = new UpdateChanges(__dirname, host, context);
+ update.applyChanges();
+};
diff --git a/projects/igniteui-angular/package.json b/projects/igniteui-angular/package.json
index f2b0b7e6445..5592b7e9b92 100644
--- a/projects/igniteui-angular/package.json
+++ b/projects/igniteui-angular/package.json
@@ -75,18 +75,18 @@
"tslib": "^2.3.0",
"igniteui-trial-watermark": "^1.0.3",
"lodash-es": "^4.17.21",
- "uuid": "^8.3.0",
- "igniteui-theming": "^1.4.1",
+ "uuid": "^9.0.0",
+ "igniteui-theming": "^1.4.2",
"@igniteui/material-icons-extended": "^2.10.0"
},
"peerDependencies": {
- "@angular/common": "^15.0.0",
- "@angular/core": "^15.0.0",
- "@angular/animations": "^15.0.0",
- "@angular/forms": "^15.0.0"
+ "@angular/common": "^16.0.0",
+ "@angular/core": "^16.0.0",
+ "@angular/animations": "^16.0.0",
+ "@angular/forms": "^16.0.0"
},
"igxDevDependencies": {
- "@igniteui/angular-schematics": "~15.1.1110"
+ "@igniteui/angular-schematics": "~16.0.1200-beta.0"
},
"ng-update": {
"migrations": "./migrations/migration-collection.json"
diff --git a/projects/igniteui-angular/schematics/utils/dependency-handler.ts b/projects/igniteui-angular/schematics/utils/dependency-handler.ts
index f94252df805..d31bdd5da8f 100644
--- a/projects/igniteui-angular/schematics/utils/dependency-handler.ts
+++ b/projects/igniteui-angular/schematics/utils/dependency-handler.ts
@@ -64,7 +64,7 @@ const getTargetedProjectOptions = (project: workspaces.ProjectDefinition, target
};
export const getConfigFile =
- (project: workspaces.ProjectDefinition, option: string, context: SchematicContext, configSection: string = 'build'): string => {
+ (project: workspaces.ProjectDefinition, option: string, context: SchematicContext, configSection = 'build'): string => {
const options = getTargetedProjectOptions(project, configSection, context);
if (!options) {
context.logger.warn(`Could not find matching ${configSection} options in Angular workspace. ` +
diff --git a/projects/igniteui-angular/src/lib/accordion/accordion.component.spec.ts b/projects/igniteui-angular/src/lib/accordion/accordion.component.spec.ts
index 5fb6a915de1..62325238ec6 100644
--- a/projects/igniteui-angular/src/lib/accordion/accordion.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/accordion/accordion.component.spec.ts
@@ -1,14 +1,14 @@
import { useAnimation } from '@angular/animations';
+import { NgIf } from '@angular/common';
import { Component, ViewChild } from '@angular/core';
import { waitForAsync, TestBed, fakeAsync, ComponentFixture, tick } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { slideInLeft, slideOutRight } from '../animations/slide';
-import { IgxExpansionPanelModule } from '../expansion-panel/expansion-panel.module';
+import { IgxExpansionPanelBodyComponent, IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelTitleDirective } from '../expansion-panel/public_api';
import { configureTestSuite } from '../test-utils/configure-suite';
import { UIInteractions } from '../test-utils/ui-interactions.spec';
import { IAccordionCancelableEventArgs, IAccordionEventArgs, IgxAccordionComponent } from './accordion.component';
-import { IgxAccordionModule } from './accordion.module';
const ACCORDION_CLASS = 'igx-accordion';
const PANEL_TAG = 'IGX-EXPANSION-PANEL';
@@ -21,12 +21,9 @@ describe('Rendering Tests', () => {
beforeAll(
waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxAccordionSampleTestComponent,],
imports: [
NoopAnimationsModule,
- IgxAccordionModule,
- IgxExpansionPanelModule
+ IgxAccordionSampleTestComponent
]
}).compileComponents();
})
@@ -340,74 +337,75 @@ describe('Rendering Tests', () => {
@Component({
template: `
-
-
-
- HTML5
-
-
-
-
-
- First
-
-
-
- Content1
-
-
-
-
-
- Second
-
-
-
- Content2
-
-
-
-
-
-
-
-
- CSS3
-
-
-
- Cascading Style Sheets (CSS) is a style sheet language used for
- describing the presentation of a document written in a markup language
- like HTML
-
-
-
-
-
- SASS/SCSS
-
-
-
- Sass is a preprocessor scripting language that is interpreted or
- compiled into Cascading Style Sheets (CSS).
-
-
-
-
-
- Javascript
-
-
-
- JavaScript is the world's most popular programming language.
- JavaScript is the programming language of the Web.
-
-
-
-
-
-
-`
+
+
+
+ HTML5
+
+
+
+
+
+ First
+
+
+
+ Content1
+
+
+
+
+
+ Second
+
+
+
+ Content2
+
+
+
+
+
+
+
+
+ CSS3
+
+
+
+ Cascading Style Sheets (CSS) is a style sheet language used for
+ describing the presentation of a document written in a markup language
+ like HTML
+
+
+
+
+
+ SASS/SCSS
+
+
+
+ Sass is a preprocessor scripting language that is interpreted or
+ compiled into Cascading Style Sheets (CSS).
+
+
+
+
+
+ Javascript
+
+
+
+ JavaScript is the world's most popular programming language.
+ JavaScript is the programming language of the Web.
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxAccordionComponent, IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelBodyComponent, IgxExpansionPanelTitleDirective, NgIf]
})
export class IgxAccordionSampleTestComponent {
@ViewChild(IgxAccordionComponent) public accordion: IgxAccordionComponent;
diff --git a/projects/igniteui-angular/src/lib/accordion/accordion.component.ts b/projects/igniteui-angular/src/lib/accordion/accordion.component.ts
index a423e23ea1c..00c2d4ef3e6 100644
--- a/projects/igniteui-angular/src/lib/accordion/accordion.component.ts
+++ b/projects/igniteui-angular/src/lib/accordion/accordion.component.ts
@@ -47,7 +47,8 @@ let NEXT_ID = 0;
*/
@Component({
selector: 'igx-accordion',
- templateUrl: 'accordion.component.html'
+ templateUrl: 'accordion.component.html',
+ standalone: true
})
export class IgxAccordionComponent implements AfterContentInit, AfterViewInit, OnDestroy {
/**
diff --git a/projects/igniteui-angular/src/lib/accordion/accordion.module.ts b/projects/igniteui-angular/src/lib/accordion/accordion.module.ts
index 4fc7cdf3105..75031c4c5d3 100644
--- a/projects/igniteui-angular/src/lib/accordion/accordion.module.ts
+++ b/projects/igniteui-angular/src/lib/accordion/accordion.module.ts
@@ -1,22 +1,16 @@
-import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
-import { IgxExpansionPanelModule } from '../expansion-panel/expansion-panel.module';
-import { IgxAccordionComponent } from './accordion.component';
+import { IGX_ACCORDION_DIRECTIVES } from './public_api';
/**
* @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
*/
@NgModule({
- declarations: [
- IgxAccordionComponent
- ],
imports: [
- IgxExpansionPanelModule,
- CommonModule,
+ ...IGX_ACCORDION_DIRECTIVES
],
exports: [
- IgxAccordionComponent,
- IgxExpansionPanelModule
+ ...IGX_ACCORDION_DIRECTIVES
]
})
export class IgxAccordionModule {
diff --git a/projects/igniteui-angular/src/lib/accordion/public_api.ts b/projects/igniteui-angular/src/lib/accordion/public_api.ts
index f5dd0314407..43c76a82317 100644
--- a/projects/igniteui-angular/src/lib/accordion/public_api.ts
+++ b/projects/igniteui-angular/src/lib/accordion/public_api.ts
@@ -1,2 +1,10 @@
-export * from './accordion.module';
+import { IGX_EXPANSION_PANEL_DIRECTIVES } from '../expansion-panel/public_api';
+import { IgxAccordionComponent } from './accordion.component';
+
export * from './accordion.component';
+
+/* Accordion directives collection for ease-of-use import in standalone components scenario */
+export const IGX_ACCORDION_DIRECTIVES = [
+ IgxAccordionComponent,
+ ...IGX_EXPANSION_PANEL_DIRECTIVES
+] as const;
diff --git a/projects/igniteui-angular/src/lib/action-strip/action-strip.component.spec.ts b/projects/igniteui-angular/src/lib/action-strip/action-strip.component.spec.ts
index 5792814d441..a706db9663f 100644
--- a/projects/igniteui-angular/src/lib/action-strip/action-strip.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/action-strip/action-strip.component.spec.ts
@@ -1,13 +1,11 @@
-import { IgxActionStripComponent } from './action-strip.component';
+import { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';
import { Component, ViewChild, ElementRef, ViewContainerRef } from '@angular/core';
import { configureTestSuite } from '../test-utils/configure-suite';
-import { IgxIconModule } from '../icon/public_api';
import { TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { wait } from '../test-utils/ui-interactions.spec';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxToggleModule } from '../directives/toggle/toggle.directive';
-import { IgxActionStripModule } from './action-strip.module';
+import { IgxIconComponent } from '../icon/icon.component';
const ACTION_STRIP_CONTAINER_CSS = 'igx-action-strip__actions';
const DROP_DOWN_LIST = 'igx-drop-down__list';
@@ -21,17 +19,12 @@ describe('igxActionStrip', () => {
configureTestSuite(() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxActionStripComponent,
IgxActionStripTestingComponent,
IgxActionStripMenuTestingComponent,
IgxActionStripCombinedMenuTestingComponent
- ],
- imports: [
- NoopAnimationsModule,
- IgxActionStripModule,
- IgxIconModule,
- IgxToggleModule
]
});
});
@@ -184,17 +177,19 @@ describe('igxActionStrip', () => {
@Component({
template: `
-
-
-
- Lorem ipsum dolor sit
-
+
+
+
+ Lorem ipsum dolor sit
+
+
+
+ alarm
+
-
- alarm
-
-
-`
+ `,
+ standalone: true,
+ imports: [IgxActionStripComponent, IgxIconComponent]
})
class IgxActionStripTestingComponent {
@ViewChild('actionStrip', { read: IgxActionStripComponent, static: true })
@@ -230,7 +225,9 @@ class IgxActionStripTestingComponent {
Download
- `
+ `,
+ standalone: true,
+ imports: [IgxActionStripComponent, IgxActionStripMenuItemDirective]
})
class IgxActionStripMenuTestingComponent {
@ViewChild('actionStrip', { read: IgxActionStripComponent, static: true })
@@ -251,7 +248,9 @@ class IgxActionStripMenuTestingComponent {
Download
- `
+ `,
+ standalone: true,
+ imports: [IgxActionStripComponent, IgxActionStripMenuItemDirective]
})
class IgxActionStripCombinedMenuTestingComponent {
@ViewChild('actionStrip', { read: IgxActionStripComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/action-strip/action-strip.component.ts b/projects/igniteui-angular/src/lib/action-strip/action-strip.component.ts
index 155cdf3139e..f683726ebfa 100644
--- a/projects/igniteui-angular/src/lib/action-strip/action-strip.component.ts
+++ b/projects/igniteui-angular/src/lib/action-strip/action-strip.component.ts
@@ -18,12 +18,20 @@ import {
import { DisplayDensityBase, DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
import { IActionStripResourceStrings } from '../core/i18n/action-strip-resources';
import { CurrentResourceStrings } from '../core/i18n/resources';
-import { IgxDropDownComponent } from '../drop-down/public_api';
+import { IgxDropDownComponent } from '../drop-down/drop-down.component';
import { CloseScrollStrategy, OverlaySettings } from '../services/public_api';
import { IgxGridActionsBaseDirective } from './grid-actions/grid-actions-base.directive';
+import { IgxDropDownItemComponent } from '../drop-down/drop-down-item.component';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxDropDownItemNavigationDirective } from '../drop-down/drop-down-navigation.directive';
+import { IgxToggleActionDirective } from '../directives/toggle/toggle.directive';
+import { IgxRippleDirective } from '../directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { NgIf, NgFor, NgTemplateOutlet } from '@angular/common';
@Directive({
- selector: '[igxActionStripMenuItem]'
+ selector: '[igxActionStripMenuItem]',
+ standalone: true
})
export class IgxActionStripMenuItemDirective {
constructor(
@@ -54,7 +62,20 @@ export class IgxActionStripMenuItemDirective {
*/
@Component({
selector: 'igx-action-strip',
- templateUrl: 'action-strip.component.html'
+ templateUrl: 'action-strip.component.html',
+ standalone: true,
+ imports: [
+ NgIf,
+ NgFor,
+ NgTemplateOutlet,
+ IgxButtonDirective,
+ IgxRippleDirective,
+ IgxToggleActionDirective,
+ IgxDropDownItemNavigationDirective,
+ IgxIconComponent,
+ IgxDropDownComponent,
+ IgxDropDownItemComponent
+ ]
})
export class IgxActionStripComponent extends DisplayDensityBase implements AfterContentInit, AfterViewInit {
diff --git a/projects/igniteui-angular/src/lib/action-strip/action-strip.module.ts b/projects/igniteui-angular/src/lib/action-strip/action-strip.module.ts
index 6755b3dd7d8..b9c71f752c3 100644
--- a/projects/igniteui-angular/src/lib/action-strip/action-strip.module.ts
+++ b/projects/igniteui-angular/src/lib/action-strip/action-strip.module.ts
@@ -1,36 +1,16 @@
import { NgModule } from '@angular/core';
-import { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';
-import { IgxGridPinningActionsComponent } from './grid-actions/grid-pinning-actions.component';
-import { IgxGridEditingActionsComponent } from './grid-actions/grid-editing-actions.component';
-import { IgxGridActionsBaseDirective } from './grid-actions/grid-actions-base.directive';
-import { CommonModule } from '@angular/common';
-import { IgxDropDownModule } from '../drop-down/public_api';
-import { IgxToggleModule } from '../directives/toggle/toggle.directive';
-import { IgxButtonModule } from '../directives/button/button.directive';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
-import { IgxGridActionButtonComponent } from './grid-actions/grid-action-button.component';
+import { IGX_GRID_ACTION_STRIP_DIRECTIVES } from './public_api';
/**
* @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
*/
@NgModule({
- declarations: [
- IgxActionStripComponent,
- IgxActionStripMenuItemDirective,
- IgxGridPinningActionsComponent,
- IgxGridEditingActionsComponent,
- IgxGridActionsBaseDirective,
- IgxGridActionButtonComponent
+ imports: [
+ ...IGX_GRID_ACTION_STRIP_DIRECTIVES
],
exports: [
- IgxActionStripComponent,
- IgxActionStripMenuItemDirective,
- IgxGridPinningActionsComponent,
- IgxGridEditingActionsComponent,
- IgxGridActionsBaseDirective,
- IgxGridActionButtonComponent
+ ...IGX_GRID_ACTION_STRIP_DIRECTIVES
],
- imports: [CommonModule, IgxDropDownModule, IgxToggleModule, IgxButtonModule, IgxIconModule, IgxRippleModule]
})
export class IgxActionStripModule { }
diff --git a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-action-button.component.ts b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-action-button.component.ts
index e64ceb686ae..498e8079818 100644
--- a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-action-button.component.ts
+++ b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-action-button.component.ts
@@ -1,7 +1,13 @@
import { Component, Input, TemplateRef, ViewChild, Output, EventEmitter, ElementRef } from '@angular/core';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { IgxRippleDirective } from '../../directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../directives/button/button.directive';
+import { NgIf } from '@angular/common';
@Component({
selector: 'igx-grid-action-button',
- templateUrl: 'grid-action-button.component.html'
+ templateUrl: 'grid-action-button.component.html',
+ standalone: true,
+ imports: [NgIf, IgxButtonDirective, IgxRippleDirective, IgxIconComponent]
})
export class IgxGridActionButtonComponent {
diff --git a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-actions-base.directive.ts b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-actions-base.directive.ts
index 2f8b0f48e07..4558b98fac5 100644
--- a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-actions-base.directive.ts
+++ b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-actions-base.directive.ts
@@ -5,7 +5,8 @@ import { IgxRowDirective } from '../../grids/row.directive';
import { IgxIconService } from '../../icon/icon.service';
@Directive({
- selector: '[igxGridActionsBase]'
+ selector: '[igxGridActionsBase]',
+ standalone: true
})
export class IgxGridActionsBaseDirective implements AfterViewInit {
@ViewChildren(IgxGridActionButtonComponent)
diff --git a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component.spec.ts b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component.spec.ts
index 36d18c785ac..c301a42f5ad 100644
--- a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component.spec.ts
@@ -1,21 +1,21 @@
import { Component, ViewChild, OnInit } from '@angular/core';
-import { IgxActionStripComponent } from '../action-strip.component';
-import { configureTestSuite } from '../../test-utils/configure-suite';
import { TestBed, waitForAsync } from '@angular/core/testing';
-import { IgxIconModule } from '../../icon/public_api';
-import { IgxGridModule, IgxGridComponent } from '../../grids/grid/public_api';
-import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { By } from '@angular/platform-browser';
-import { IgxActionStripModule } from '../action-strip.module';
+import { NgFor } from '@angular/common';
+import { NoopAnimationsModule } from '@angular/platform-browser/animations';
+
+import { configureTestSuite } from '../../test-utils/configure-suite';
+import { IgxGridComponent } from '../../grids/grid/public_api';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
import { IgxHierarchicalGridActionStripComponent } from '../../test-utils/hierarchical-grid-components.spec';
-import {
- IgxHierarchicalGridComponent,
- IgxHierarchicalGridModule
-} from '../../grids/hierarchical-grid/public_api';
+import { IgxHierarchicalGridComponent } from '../../grids/hierarchical-grid/public_api';
import { IgxHierarchicalRowComponent } from '../../grids/hierarchical-grid/hierarchical-row.component';
-import { IgxTreeGridComponent, IgxTreeGridModule } from '../../grids/tree-grid/public_api';
+import { IgxTreeGridComponent } from '../../grids/tree-grid/public_api';
import { IgxTreeGridEditActionsComponent } from '../../test-utils/tree-grid-components.spec';
+import { IgxGridEditingActionsComponent } from './grid-editing-actions.component';
+import { IgxGridPinningActionsComponent } from './grid-pinning-actions.component';
+import { IgxActionStripComponent } from '../action-strip.component';
+import { IgxColumnComponent } from '../../grids/public_api';
describe('igxGridEditingActions #grid ', () => {
let fixture;
@@ -24,22 +24,15 @@ describe('igxGridEditingActions #grid ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
+ IgxHierarchicalGridActionStripComponent,
+ IgxTreeGridEditActionsComponent,
IgxActionStripTestingComponent,
IgxActionStripPinEditComponent,
IgxActionStripEditMenuComponent,
- IgxHierarchicalGridActionStripComponent,
- IgxTreeGridEditActionsComponent,
IgxActionStripOneRowComponent,
IgxActionStripMenuOneRowComponent
- ],
- imports: [
- NoopAnimationsModule,
- IgxActionStripModule,
- IgxGridModule,
- IgxHierarchicalGridModule,
- IgxIconModule,
- IgxTreeGridModule
]
}).compileComponents();
}));
@@ -169,10 +162,10 @@ describe('igxGridEditingActions #grid ', () => {
actionStrip.menu.open();
fixture.detectChanges();
-
+
UIInteractions.simulateMouseEvent('mouseleave', rowElem.element.nativeElement, 0, 200);
fixture.detectChanges();
-
+
expect(actionStrip.hidden).toBeFalse();
});
});
@@ -256,11 +249,11 @@ describe('igxGridEditingActions #grid ', () => {
fixture.detectChanges();
actionStrip = fixture.componentInstance.actionStrip;
grid = fixture.componentInstance.grid;
-
+
const row = grid.getRowByIndex(0);
row.pin();
const rowElem = grid.pinnedRows[0];
-
+
actionStrip.show(row);
fixture.detectChanges();
@@ -390,17 +383,19 @@ describe('igxGridEditingActions #grid ', () => {
@Component({
template: `
-
-
-
-
-
-
-
-
-`
+
+
+
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridEditingActionsComponent, NgFor]
})
class IgxActionStripTestingComponent implements OnInit {
@ViewChild('actionStrip', { read: IgxActionStripComponent, static: true })
@@ -409,9 +404,9 @@ class IgxActionStripTestingComponent implements OnInit {
@ViewChild('grid', { read: IgxGridComponent, static: true })
public grid: IgxGridComponent;
- private data: any[];
- private dataOneRow: any[];
- private columns: any[];
+ public data: any[];
+ public dataOneRow: any[];
+ public columns: any[];
public ngOnInit() {
@@ -468,70 +463,78 @@ class IgxActionStripTestingComponent implements OnInit {
@Component({
template: `
-
-
-
-
-
-
-
-
-
-`
+
+
+
+
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridPinningActionsComponent, IgxGridEditingActionsComponent, NgFor]
})
class IgxActionStripPinEditComponent extends IgxActionStripTestingComponent {
}
@Component({
template: `
-
-
-
-
-
-
-
-
-`
+
+
+
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridEditingActionsComponent, NgFor]
})
class IgxActionStripEditMenuComponent extends IgxActionStripTestingComponent {
}
@Component({
template: `
-
-
-
-
-
-
-
-
-
-`
+
+
+
+
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridEditingActionsComponent, IgxGridPinningActionsComponent, NgFor]
})
class IgxActionStripOneRowComponent extends IgxActionStripTestingComponent {
}
@Component({
template: `
-
-
-
-
-
-
-
-
-`
+
+
+
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridEditingActionsComponent, NgFor]
})
class IgxActionStripMenuOneRowComponent extends IgxActionStripTestingComponent {
}
diff --git a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component.ts b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component.ts
index 70a8575b623..e2b185a476e 100644
--- a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component.ts
+++ b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component.ts
@@ -2,11 +2,15 @@ import { Component, HostBinding, Input } from '@angular/core';
import { IgxGridActionsBaseDirective } from './grid-actions-base.directive';
import { showMessage } from '../../core/utils';
import { addRow, addChild } from '@igniteui/material-icons-extended';
+import { IgxGridActionButtonComponent } from './grid-action-button.component';
+import { NgIf } from '@angular/common';
@Component({
selector: 'igx-grid-editing-actions',
templateUrl: 'grid-editing-actions.component.html',
- providers: [{ provide: IgxGridActionsBaseDirective, useExisting: IgxGridEditingActionsComponent }]
+ providers: [{ provide: IgxGridActionsBaseDirective, useExisting: IgxGridEditingActionsComponent }],
+ standalone: true,
+ imports: [NgIf, IgxGridActionButtonComponent]
})
export class IgxGridEditingActionsComponent extends IgxGridActionsBaseDirective {
diff --git a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component.spec.ts b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component.spec.ts
index b3544ce7125..4b6405520a2 100644
--- a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component.spec.ts
@@ -2,12 +2,13 @@ import { Component, ViewChild, OnInit } from '@angular/core';
import { IgxActionStripComponent } from '../action-strip.component';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { TestBed, waitForAsync } from '@angular/core/testing';
-import { IgxIconModule } from '../../icon/public_api';
-import { IgxGridModule, IgxGridComponent } from '../../grids/grid/public_api';
+import { IgxGridComponent } from '../../grids/grid/public_api';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { By } from '@angular/platform-browser';
-import { IgxActionStripModule } from '../action-strip.module';
import { wait } from '../../test-utils/ui-interactions.spec';
+import { IgxGridPinningActionsComponent } from './grid-pinning-actions.component';
+import { NgFor } from '@angular/common';
+import { IgxColumnComponent } from '../../grids/public_api';
describe('igxGridPinningActions #grid ', () => {
@@ -17,15 +18,10 @@ describe('igxGridPinningActions #grid ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxActionStripTestingComponent,
- IgxActionStripPinMenuComponent
- ],
imports: [
NoopAnimationsModule,
- IgxActionStripModule,
- IgxGridModule,
- IgxIconModule
+ IgxActionStripTestingComponent,
+ IgxActionStripPinMenuComponent
]
}).compileComponents();
}));
@@ -105,17 +101,19 @@ describe('igxGridPinningActions #grid ', () => {
@Component({
template: `
-
-
-
-
-
-
-
-
-`
+
+
+
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridPinningActionsComponent, NgFor]
})
class IgxActionStripTestingComponent implements OnInit {
@ViewChild('actionStrip', { read: IgxActionStripComponent, static: true })
@@ -179,16 +177,18 @@ class IgxActionStripTestingComponent implements OnInit {
@Component({
template: `
-
-
-
-
-
-
-
- `
+ [rowEditable]="true" [primaryKey]="'ID'">
+
+
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridPinningActionsComponent, NgFor]
})
class IgxActionStripPinMenuComponent extends IgxActionStripTestingComponent {
}
diff --git a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component.ts b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component.ts
index b0fac019b2d..2da0261f8fa 100644
--- a/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component.ts
+++ b/projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component.ts
@@ -1,10 +1,14 @@
import { Component, HostBinding } from '@angular/core';
import { IgxGridActionsBaseDirective } from './grid-actions-base.directive';
import { pinLeft, unpinLeft, jumpDown, jumpUp } from '@igniteui/material-icons-extended';
+import { IgxGridActionButtonComponent } from './grid-action-button.component';
+import { NgIf } from '@angular/common';
@Component({
selector: 'igx-grid-pinning-actions',
templateUrl: 'grid-pinning-actions.component.html',
- providers: [{ provide: IgxGridActionsBaseDirective, useExisting: IgxGridPinningActionsComponent }]
+ providers: [{ provide: IgxGridActionsBaseDirective, useExisting: IgxGridPinningActionsComponent }],
+ standalone: true,
+ imports: [NgIf, IgxGridActionButtonComponent]
})
export class IgxGridPinningActionsComponent extends IgxGridActionsBaseDirective {
diff --git a/projects/igniteui-angular/src/lib/action-strip/public_api.ts b/projects/igniteui-angular/src/lib/action-strip/public_api.ts
index db72123d9be..38e194967d7 100644
--- a/projects/igniteui-angular/src/lib/action-strip/public_api.ts
+++ b/projects/igniteui-angular/src/lib/action-strip/public_api.ts
@@ -1,6 +1,26 @@
+import { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';
+import { IgxGridActionButtonComponent } from './grid-actions/grid-action-button.component';
+import { IgxGridActionsBaseDirective } from './grid-actions/grid-actions-base.directive';
+import { IgxGridEditingActionsComponent } from './grid-actions/grid-editing-actions.component';
+import { IgxGridPinningActionsComponent } from './grid-actions/grid-pinning-actions.component';
+
export { IgxGridActionsBaseDirective } from './grid-actions/grid-actions-base.directive';
export { IgxGridEditingActionsComponent } from './grid-actions/grid-editing-actions.component';
export { IgxGridPinningActionsComponent } from './grid-actions/grid-pinning-actions.component';
export { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';
export { IgxGridActionButtonComponent } from './grid-actions/grid-action-button.component';
-export * from './action-strip.module';
+
+/* Action-strip outside of grid directives collection for ease-of-use import in standalone components scenario */
+export const IGX_ACTION_STRIP_DIRECTIVES = [
+ IgxActionStripComponent,
+ IgxActionStripMenuItemDirective
+] as const;
+
+/* Action-strip in grid directives collection for ease-of-use import in standalone components scenario */
+export const IGX_GRID_ACTION_STRIP_DIRECTIVES = [
+ ...IGX_ACTION_STRIP_DIRECTIVES,
+ IgxGridPinningActionsComponent,
+ IgxGridEditingActionsComponent,
+ IgxGridActionsBaseDirective,
+ IgxGridActionButtonComponent
+] as const;
diff --git a/projects/igniteui-angular/src/lib/animations/easings.js b/projects/igniteui-angular/src/lib/animations/easings.js
deleted file mode 100644
index 3fb3112d49c..00000000000
--- a/projects/igniteui-angular/src/lib/animations/easings.js
+++ /dev/null
@@ -1,40 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-var EaseIn;
-(function (EaseIn) {
- EaseIn[EaseIn["quad"] = "cubic-bezier(0.550, 0.085, 0.680, 0.530)"] = "quad";
- EaseIn[EaseIn["cubic"] = "cubic-bezier(0.550, 0.055, 0.675, 0.190)"] = "cubic";
- EaseIn[EaseIn["quart"] = "cubic-bezier(0.895, 0.030, 0.685, 0.220)"] = "quart";
- EaseIn[EaseIn["quint"] = "cubic-bezier(0.755, 0.050, 0.855, 0.060)"] = "quint";
- EaseIn[EaseIn["sine"] = "cubic-bezier(0.470, 0.000, 0.745, 0.715)"] = "sine";
- EaseIn[EaseIn["expo"] = "cubic-bezier(0.950, 0.050, 0.795, 0.035)"] = "expo";
- EaseIn[EaseIn["circ"] = "cubic-bezier(0.600, 0.040, 0.980, 0.335)"] = "circ";
- EaseIn[EaseIn["back"] = "cubic-bezier(0.600, -0.280, 0.735, 0.045)"] = "back";
-})(EaseIn || (EaseIn = {}));
-exports.EaseIn = EaseIn;
-var EaseOut;
-(function (EaseOut) {
- EaseOut[EaseOut["quad"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)"] = "quad";
- EaseOut[EaseOut["cubic"] = "cubic-bezier(0.215, 0.610, 0.355, 1.000)"] = "cubic";
- EaseOut[EaseOut["quart"] = "cubic-bezier(0.165, 0.840, 0.440, 1.000)"] = "quart";
- EaseOut[EaseOut["quint"] = "cubic-bezier(0.230, 1.000, 0.320, 1.000)"] = "quint";
- EaseOut[EaseOut["sine"] = "cubic-bezier(0.390, 0.575, 0.565, 1.000)"] = "sine";
- EaseOut[EaseOut["expo"] = "cubic-bezier(0.190, 1.000, 0.220, 1.000)"] = "expo";
- EaseOut[EaseOut["circ"] = "cubic-bezier(0.075, 0.820, 0.165, 1.000)"] = "circ";
- EaseOut[EaseOut["back"] = "cubic-bezier(0.175, 0.885, 0.320, 1.275)"] = "back";
-})(EaseOut || (EaseOut = {}));
-exports.EaseOut = EaseOut;
-var EaseInOut;
-(function (EaseInOut) {
- EaseInOut[EaseInOut["quad"] = "cubic-bezier(0.455, 0.030, 0.515, 0.955)"] = "quad";
- EaseInOut[EaseInOut["cubic"] = "cubic-bezier(0.645, 0.045, 0.355, 1.000)"] = "cubic";
- EaseInOut[EaseInOut["quart"] = "cubic-bezier(0.770, 0.000, 0.175, 1.000)"] = "quart";
- EaseInOut[EaseInOut["quint"] = "cubic-bezier(0.860, 0.000, 0.070, 1.000)"] = "quint";
- EaseInOut[EaseInOut["sine"] = "cubic-bezier(0.445, 0.050, 0.550, 0.950)"] = "sine";
- EaseInOut[EaseInOut["expo"] = "cubic-bezier(1.000, 0.000, 0.000, 1.000)"] = "expo";
- EaseInOut[EaseInOut["circ"] = "cubic-bezier(0.785, 0.135, 0.150, 0.860)"] = "circ";
- EaseInOut[EaseInOut["back"] = "cubic-bezier(0.680, -0.550, 0.265, 1.550)"] = "back";
-})(EaseInOut || (EaseInOut = {}));
-exports.EaseInOut = EaseInOut;
-
-//# sourceMappingURL=easings.js.map
diff --git a/projects/igniteui-angular/src/lib/animations/fade/index.js b/projects/igniteui-angular/src/lib/animations/fade/index.js
deleted file mode 100644
index 302e735181a..00000000000
--- a/projects/igniteui-angular/src/lib/animations/fade/index.js
+++ /dev/null
@@ -1,37 +0,0 @@
-"use strict";
-var __assign = (this && this.__assign) || Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-var animations_1 = require("@angular/animations");
-var easings_1 = require("../easings");
-var base = [
- animations_1.style({
- opacity: "{{startOpacity}}"
- }),
- animations_1.animate("{{duration}} {{delay}} {{easing}}", animations_1.style({
- opacity: "{{endOpacity}}"
- }))
-];
-var baseParams = {
- delay: "0s",
- duration: "350ms",
- easing: easings_1.EaseOut.sine,
- endOpacity: 1,
- startOpacity: 0
-};
-var fadeIn = animations_1.animation(base, {
- params: __assign({}, baseParams)
-});
-exports.fadeIn = fadeIn;
-var fadeOut = animations_1.animation(base, {
- params: __assign({}, baseParams, { endOpacity: 0, startOpacity: 1 })
-});
-exports.fadeOut = fadeOut;
-
-//# sourceMappingURL=index.js.map
diff --git a/projects/igniteui-angular/src/lib/animations/flip/index.js b/projects/igniteui-angular/src/lib/animations/flip/index.js
deleted file mode 100644
index e120f7f0b64..00000000000
--- a/projects/igniteui-angular/src/lib/animations/flip/index.js
+++ /dev/null
@@ -1,74 +0,0 @@
-"use strict";
-var __assign = (this && this.__assign) || Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-var animations_1 = require("@angular/animations");
-var easings_1 = require("../easings");
-var baseRecipe = [
- animations_1.style({
- backfaceVisibility: "hidden",
- transformStyle: "preserve-3d"
- }),
- animations_1.animate("{{duration}} {{delay}} {{easing}}", animations_1.keyframes([
- animations_1.style({
- offset: 0,
- transform: "translateZ({{startDistance}})\n rotate3d({{rotateX}}, {{rotateY}}, {{rotateZ}}, {{startAngle}}deg)"
- }),
- animations_1.style({
- offset: 1,
- transform: "translateZ({{endDistance}})\n rotate3d({{rotateX}}, {{rotateY}}, {{rotateZ}}, {{endAngle}}deg)"
- })
- ]))
-];
-var baseParams = {
- delay: "0s",
- duration: "600ms",
- easing: easings_1.EaseOut.quad,
- endAngle: 180,
- endDistance: "0px",
- rotateX: 1,
- rotateY: 0,
- rotateZ: 0,
- startAngle: 0,
- startDistance: "0px"
-};
-var flipTop = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams)
-});
-exports.flipTop = flipTop;
-var flipBottom = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { endAngle: -180 })
-});
-exports.flipBottom = flipBottom;
-var flipLeft = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { rotateX: 0, rotateY: 1 })
-});
-exports.flipLeft = flipLeft;
-var flipRight = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { endAngle: -180, rotateX: 0, rotateY: 1 })
-});
-exports.flipRight = flipRight;
-var flipHorFwd = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { endDistance: "170px" })
-});
-exports.flipHorFwd = flipHorFwd;
-var flipHorBck = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { endDistance: "-170px" })
-});
-exports.flipHorBck = flipHorBck;
-var flipVerFwd = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { endDistance: "170px", rotateX: 0, rotateY: 1 })
-});
-exports.flipVerFwd = flipVerFwd;
-var flipVerBck = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { endDistance: "-170px", rotateX: 0, rotateY: 1 })
-});
-exports.flipVerBck = flipVerBck;
-
-//# sourceMappingURL=index.js.map
diff --git a/projects/igniteui-angular/src/lib/animations/main.js b/projects/igniteui-angular/src/lib/animations/main.js
deleted file mode 100644
index adae36f0b64..00000000000
--- a/projects/igniteui-angular/src/lib/animations/main.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
-}
-Object.defineProperty(exports, "__esModule", { value: true });
-__export(require("./fade/index"));
-__export(require("./flip/index"));
-__export(require("./rotate/index"));
-__export(require("./misc/index"));
-__export(require("./scale/index"));
-__export(require("./slide/index"));
-__export(require("./swing/index"));
-
-//# sourceMappingURL=main.js.map
diff --git a/projects/igniteui-angular/src/lib/animations/misc/index.js b/projects/igniteui-angular/src/lib/animations/misc/index.js
deleted file mode 100644
index 0c9305c3bb9..00000000000
--- a/projects/igniteui-angular/src/lib/animations/misc/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-"use strict";
-function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
-}
-Object.defineProperty(exports, "__esModule", { value: true });
-__export(require("./shake"));
-__export(require("./pulsate"));
-
-//# sourceMappingURL=index.js.map
diff --git a/projects/igniteui-angular/src/lib/animations/misc/pulsate.js b/projects/igniteui-angular/src/lib/animations/misc/pulsate.js
deleted file mode 100644
index a36a2120d1b..00000000000
--- a/projects/igniteui-angular/src/lib/animations/misc/pulsate.js
+++ /dev/null
@@ -1,113 +0,0 @@
-"use strict";
-var __assign = (this && this.__assign) || Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-var animations_1 = require("@angular/animations");
-var heartbeatBase = [
- animations_1.style({
- animationTimingFunction: "ease-out",
- transform: "scale(1)",
- transformOrigin: "center center"
- }),
- animations_1.animate("{{duration}} {{delay}} {{easing}}", animations_1.keyframes([
- animations_1.style({
- animationTimingFunction: "ease-in",
- offset: 0.1,
- transform: "scale(0.91)"
- }),
- animations_1.style({
- animationTimingFunction: "ease-out",
- offset: 0.17,
- transform: "scale(0.98)"
- }),
- animations_1.style({
- animationTimingFunction: "ease-in",
- offset: 0.33,
- transform: "scale(0.87)"
- }),
- animations_1.style({
- animationTimingFunction: "ease-out",
- offset: 0.45,
- transform: "scale(1)"
- })
- ]))
-];
-var heartbeatParams = {
- delay: "0s",
- duration: "1.5s",
- easing: "ease-in-out"
-};
-var pulsateBase = [
- animations_1.animate("{{duration}} {{delay}} {{easing}}", animations_1.keyframes([
- animations_1.style({
- offset: 0,
- transform: "scale({{fromScale}})"
- }),
- animations_1.style({
- offset: 0.5,
- transform: "scale({{toScale}})"
- }),
- animations_1.style({
- offset: 1,
- transform: "scale({{fromScale}})"
- })
- ]))
-];
-var pulsateParams = {
- delay: "0s",
- duration: ".5s",
- easing: "ease-in-out",
- fromScale: 1,
- toScale: 1.1
-};
-var blinkBase = [
- animations_1.animate("{{duration}} {{delay}} {{easing}}", animations_1.keyframes([
- animations_1.style({
- offset: 0,
- opacity: .8,
- transform: "scale({{fromScale}})"
- }),
- animations_1.style({
- offset: 0.8,
- opacity: 0,
- transform: "scale({{midScale}})"
- }),
- animations_1.style({
- offset: 1,
- opacity: 0,
- transform: "scale({{toScale}})"
- })
- ]))
-];
-var blinkParams = {
- delay: "0s",
- duration: ".8s",
- easing: "ease-in-out",
- fromScale: .2,
- midScale: 1.2,
- toScale: 2.2
-};
-var pulsateFwd = animations_1.animation(pulsateBase, {
- params: __assign({}, pulsateParams)
-});
-exports.pulsateFwd = pulsateFwd;
-var pulsateBck = animations_1.animation(pulsateBase, {
- params: __assign({}, pulsateParams, { toScale: .9 })
-});
-exports.pulsateBck = pulsateBck;
-var heartbeat = animations_1.animation(heartbeatBase, {
- params: __assign({}, heartbeatParams)
-});
-exports.heartbeat = heartbeat;
-var blink = animations_1.animation(blinkBase, {
- params: __assign({}, blinkParams)
-});
-exports.blink = blink;
-
-//# sourceMappingURL=pulsate.js.map
diff --git a/projects/igniteui-angular/src/lib/animations/misc/shake.js b/projects/igniteui-angular/src/lib/animations/misc/shake.js
deleted file mode 100644
index 20de80d7617..00000000000
--- a/projects/igniteui-angular/src/lib/animations/misc/shake.js
+++ /dev/null
@@ -1,120 +0,0 @@
-"use strict";
-var __assign = (this && this.__assign) || Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-var animations_1 = require("@angular/animations");
-var easings_1 = require("../easings");
-var baseRecipe = [
- animations_1.animate("{{duration}} {{delay}} {{easing}}", animations_1.keyframes([
- animations_1.style({
- offset: 0,
- transform: "rotate(0deg) translate{{direction}}(0)",
- transformOrigin: "{{xPos}} {{yPos}}"
- }),
- animations_1.style({
- offset: 0.1,
- transform: "rotate({{endAngle}}deg) translate{{direction}}(-{{startDistance}})"
- }),
- animations_1.style({
- offset: 0.2,
- transform: "rotate(-{{startAngle}}deg) translate{{direction}}({{startDistance}})"
- }),
- animations_1.style({
- offset: 0.3,
- transform: "rotate({{startAngle}}deg) translate{{direction}}(-{{startDistance}})"
- }),
- animations_1.style({
- offset: 0.4,
- transform: "rotate(-{{startAngle}}deg) translate{{direction}}({{startDistance}})"
- }),
- animations_1.style({
- offset: 0.5,
- transform: "rotate({{startAngle}}deg) translate{{direction}}(-{{startDistance}})"
- }),
- animations_1.style({
- offset: 0.6,
- transform: "rotate(-{{startAngle}}deg) translate{{direction}}({{startDistance}})"
- }),
- animations_1.style({
- offset: 0.7,
- transform: "rotate({{startAngle}}deg) translate{{direction}}(-{{startDistance}})"
- }),
- animations_1.style({
- offset: 0.8,
- transform: "rotate(-{{endAngle}}deg) translate{{direction}}({{endDistance}})"
- }),
- animations_1.style({
- offset: 0.9,
- transform: "rotate({{endAngle}}deg) translate{{direction}}(-{{endDistance}})"
- }),
- animations_1.style({
- offset: 1,
- transform: "rotate(0deg) translate{{direction}}(0)",
- transformOrigin: "{{xPos}} {{yPos}}"
- })
- ]))
-];
-var baseParams = {
- delay: "0s",
- direction: "X",
- duration: "800ms",
- easing: easings_1.EaseInOut.quad,
- endAngle: 0,
- endDistance: "8px",
- startAngle: 0,
- startDistance: "10px",
- xPos: "center",
- yPos: "center"
-};
-var shakeHor = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { direction: "X" })
-});
-exports.shakeHor = shakeHor;
-var shakeVer = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { direction: "Y" })
-});
-exports.shakeVer = shakeVer;
-var shakeTop = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { endAngle: 2, endDistance: "0", startAngle: 4, startDistance: "0", yPos: "top" })
-});
-exports.shakeTop = shakeTop;
-var shakeBottom = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { direction: "Y", endAngle: 2, endDistance: "0", startAngle: 4, startDistance: "0", yPos: "bottom" })
-});
-exports.shakeBottom = shakeBottom;
-var shakeRight = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { direction: "Y", endAngle: 2, endDistance: "0", startAngle: 4, startDistance: "0", xPos: "right", yPos: "center" })
-});
-exports.shakeRight = shakeRight;
-var shakeLeft = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { direction: "Y", endAngle: 2, endDistance: "0", startAngle: 4, startDistance: "0", xPos: "left", yPos: "center" })
-});
-exports.shakeLeft = shakeLeft;
-var shakeCenter = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { direction: "Y", endAngle: 8, endDistance: "0", startAngle: 10, startDistance: "0", xPos: "center", yPos: "center" })
-});
-exports.shakeCenter = shakeCenter;
-var shakeTr = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { direction: "Y", endAngle: 2, endDistance: "0", startAngle: 4, startDistance: "0", xPos: "right", yPos: "top" })
-});
-exports.shakeTr = shakeTr;
-var shakeBr = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { direction: "Y", endAngle: 2, endDistance: "0", startAngle: 4, startDistance: "0", xPos: "right", yPos: "bottom" })
-});
-exports.shakeBr = shakeBr;
-var shakeBl = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { direction: "Y", endAngle: 2, endDistance: "0", startAngle: 4, startDistance: "0", xPos: "left", yPos: "bottom" })
-});
-exports.shakeBl = shakeBl;
-var shakeTl = animations_1.animation(baseRecipe, {
- params: __assign({}, baseParams, { direction: "Y", endAngle: 2, endDistance: "0", startAngle: 4, startDistance: "0", xPos: "left", yPos: "top" })
-});
-exports.shakeTl = shakeTl;
-
-//# sourceMappingURL=shake.js.map
diff --git a/projects/igniteui-angular/src/lib/animations/rotate/index.js b/projects/igniteui-angular/src/lib/animations/rotate/index.js
deleted file mode 100644
index d89ee8e38ea..00000000000
--- a/projects/igniteui-angular/src/lib/animations/rotate/index.js
+++ /dev/null
@@ -1,146 +0,0 @@
-"use strict";
-var __assign = (this && this.__assign) || Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-var animations_1 = require("@angular/animations");
-var easings_1 = require("../easings");
-var baseRecipe = [
- animations_1.style({
- opacity: "{{startOpacity}}",
- transform: "rotate3d({{rotateX}},{{rotateY}},{{rotateZ}},{{startAngle}}deg)",
- transformOrigin: "{{xPos}} {{yPos}}"
- }),
- animations_1.animate("{{duration}} {{delay}} {{easing}}", animations_1.style({
- offset: 0,
- opacity: "{{endOpacity}}",
- transform: "rotate3d({{rotateX}},{{rotateY}},{{rotateZ}},{{endAngle}}deg)",
- transformOrigin: "{{xPos}} {{yPos}}"
- }))
-];
-var baseInParams = {
- delay: "0s",
- duration: "600ms",
- easing: easings_1.EaseOut.quad,
- endAngle: 0,
- endOpacity: 1,
- rotateX: 0,
- rotateY: 0,
- rotateZ: 1,
- startAngle: -360,
- startOpacity: 0,
- xPos: "center",
- yPos: "center"
-};
-var baseOutParams = __assign({}, baseInParams, { easing: easings_1.EaseIn.quad, endOpacity: 0, startOpacity: 1 });
-var rotateInCenter = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams)
-});
-exports.rotateInCenter = rotateInCenter;
-var rotateOutCenter = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams)
-});
-exports.rotateOutCenter = rotateOutCenter;
-var rotateInTop = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { xPos: "top" })
-});
-exports.rotateInTop = rotateInTop;
-var rotateOutTop = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { xPos: "top" })
-});
-exports.rotateOutTop = rotateOutTop;
-var rotateInRight = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { xPos: "right" })
-});
-exports.rotateInRight = rotateInRight;
-var rotateOutRight = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { xPos: "right" })
-});
-exports.rotateOutRight = rotateOutRight;
-var rotateInBottom = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { xPos: "bottom" })
-});
-exports.rotateInBottom = rotateInBottom;
-var rotateOutBottom = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { xPos: "bottom" })
-});
-exports.rotateOutBottom = rotateOutBottom;
-var rotateInLeft = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { xPos: "left" })
-});
-exports.rotateInLeft = rotateInLeft;
-var rotateOutLeft = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { xPos: "left" })
-});
-exports.rotateOutLeft = rotateOutLeft;
-var rotateInTr = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { xPos: "right", yPos: "top" })
-});
-exports.rotateInTr = rotateInTr;
-var rotateOutTr = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { xPos: "right", yPos: "top" })
-});
-exports.rotateOutTr = rotateOutTr;
-var rotateInBr = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { xPos: "right", yPos: "bottom" })
-});
-exports.rotateInBr = rotateInBr;
-var rotateOutBr = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { xPos: "right", yPos: "bottom" })
-});
-exports.rotateOutBr = rotateOutBr;
-var rotateInBl = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { xPos: "left", yPos: "bottom" })
-});
-exports.rotateInBl = rotateInBl;
-var rotateOutBl = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { xPos: "left", yPos: "bottom" })
-});
-exports.rotateOutBl = rotateOutBl;
-var rotateInTl = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { xPos: "left", yPos: "top" })
-});
-exports.rotateInTl = rotateInTl;
-var rotateOutTl = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { xPos: "left", yPos: "top" })
-});
-exports.rotateOutTl = rotateOutTl;
-var rotateInDiagonal1 = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { rotateX: 1, rotateY: 1, rotateZ: 0 })
-});
-exports.rotateInDiagonal1 = rotateInDiagonal1;
-var rotateOutDiagonal1 = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { rotateX: 1, rotateY: 1, rotateZ: 0 })
-});
-exports.rotateOutDiagonal1 = rotateOutDiagonal1;
-var rotateInDiagonal2 = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { rotateX: -1, rotateY: 1, rotateZ: 0 })
-});
-exports.rotateInDiagonal2 = rotateInDiagonal2;
-var rotateOutDiagonal2 = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { rotateX: -1, rotateY: 1, rotateZ: 0 })
-});
-exports.rotateOutDiagonal2 = rotateOutDiagonal2;
-var rotateInHor = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { rotateX: 0, rotateY: 1, rotateZ: 0 })
-});
-exports.rotateInHor = rotateInHor;
-var rotateOutHor = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { rotateX: 0, rotateY: 1, rotateZ: 0 })
-});
-exports.rotateOutHor = rotateOutHor;
-var rotateInVer = animations_1.animation(baseRecipe, {
- params: __assign({}, baseInParams, { rotateX: 1, rotateY: 0, rotateZ: 0 })
-});
-exports.rotateInVer = rotateInVer;
-var rotateOutVer = animations_1.animation(baseRecipe, {
- params: __assign({}, baseOutParams, { rotateX: 1, rotateY: 0, rotateZ: 0 })
-});
-exports.rotateOutVer = rotateOutVer;
-
-//# sourceMappingURL=index.js.map
diff --git a/projects/igniteui-angular/src/lib/animations/scale/index.js b/projects/igniteui-angular/src/lib/animations/scale/index.js
deleted file mode 100644
index 718ba0e7f59..00000000000
--- a/projects/igniteui-angular/src/lib/animations/scale/index.js
+++ /dev/null
@@ -1,155 +0,0 @@
-"use strict";
-var __assign = (this && this.__assign) || Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-var animations_1 = require("@angular/animations");
-var easings_1 = require("../easings");
-var base = [
- animations_1.style({
- opacity: "{{startOpacity}}",
- transform: "scale{{direction}}({{fromScale}})",
- transformOrigin: "{{xPos}} {{yPos}}"
- }),
- animations_1.animate("{{duration}} {{delay}} {{easing}}", animations_1.style({
- opacity: "{{endOpacity}}",
- transform: "scale{{direction}}({{toScale}})",
- transformOrigin: "{{xPos}} {{yPos}}"
- }))
-];
-var baseInParams = {
- delay: "0s",
- direction: "",
- duration: "350ms",
- easing: easings_1.EaseOut.quad,
- endOpacity: 1,
- fromScale: .5,
- startOpacity: 0,
- toScale: 1,
- xPos: "50%",
- yPos: "50%"
-};
-var baseOutParams = __assign({}, baseInParams, { easing: easings_1.EaseOut.sine, endOpacity: 0, fromScale: 1, startOpacity: 1, toScale: .5 });
-var scaleInCenter = animations_1.animation(base, { params: baseInParams });
-exports.scaleInCenter = scaleInCenter;
-var scaleInBl = animations_1.animation(base, {
- params: __assign({}, baseInParams, { xPos: "0", yPos: "100%" })
-});
-exports.scaleInBl = scaleInBl;
-var scaleInVerCenter = animations_1.animation(base, {
- params: __assign({}, baseInParams, { direction: "Y", fromScale: .4 })
-});
-exports.scaleInVerCenter = scaleInVerCenter;
-var scaleInTop = animations_1.animation(base, {
- params: __assign({}, baseInParams, { xPos: "50%", yPos: "0" })
-});
-exports.scaleInTop = scaleInTop;
-var scaleInLeft = animations_1.animation(base, {
- params: __assign({}, baseInParams, { xPos: "0", yPos: "50%" })
-});
-exports.scaleInLeft = scaleInLeft;
-var scaleInVerTop = animations_1.animation(base, {
- params: __assign({}, baseInParams, { direction: "Y", fromScale: .4, xPos: "100%", yPos: "0" })
-});
-exports.scaleInVerTop = scaleInVerTop;
-var scaleInTr = animations_1.animation(base, {
- params: __assign({}, baseInParams, { xPos: "100%", yPos: "0" })
-});
-exports.scaleInTr = scaleInTr;
-var scaleInTl = animations_1.animation(base, {
- params: __assign({}, baseInParams, { xPos: "0", yPos: "0" })
-});
-exports.scaleInTl = scaleInTl;
-var scaleInVerBottom = animations_1.animation(base, {
- params: __assign({}, baseInParams, { direction: "Y", fromScale: .4, xPos: "0", yPos: "100%" })
-});
-exports.scaleInVerBottom = scaleInVerBottom;
-var scaleInRight = animations_1.animation(base, {
- params: __assign({}, baseInParams, { xPos: "100%", yPos: "50%" })
-});
-exports.scaleInRight = scaleInRight;
-var scaleInHorCenter = animations_1.animation(base, {
- params: __assign({}, baseInParams, { direction: "X", fromScale: .4 })
-});
-exports.scaleInHorCenter = scaleInHorCenter;
-var scaleInBr = animations_1.animation(base, {
- params: __assign({}, baseInParams, { xPos: "100%", yPos: "100%" })
-});
-exports.scaleInBr = scaleInBr;
-var scaleInHorLeft = animations_1.animation(base, {
- params: __assign({}, baseInParams, { direction: "X", fromScale: .4, xPos: "0", yPos: "0" })
-});
-exports.scaleInHorLeft = scaleInHorLeft;
-var scaleInBottom = animations_1.animation(base, {
- params: __assign({}, baseInParams, { xPos: "50%", yPos: "100%" })
-});
-exports.scaleInBottom = scaleInBottom;
-var scaleInHorRight = animations_1.animation(base, {
- params: __assign({}, baseInParams, { direction: "X", fromScale: .4, xPos: "100%", yPos: "100%" })
-});
-exports.scaleInHorRight = scaleInHorRight;
-var scaleOutCenter = animations_1.animation(base, { params: baseOutParams });
-exports.scaleOutCenter = scaleOutCenter;
-var scaleOutBl = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { xPos: "0", yPos: "100%" })
-});
-exports.scaleOutBl = scaleOutBl;
-var scaleOutBr = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { xPos: "100%", yPos: "100%" })
-});
-exports.scaleOutBr = scaleOutBr;
-var scaleOutVerCenter = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { direction: "Y", toScale: .3 })
-});
-exports.scaleOutVerCenter = scaleOutVerCenter;
-var scaleOutVerTop = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { direction: "Y", toScale: .3, xPos: "100%", yPos: "0" })
-});
-exports.scaleOutVerTop = scaleOutVerTop;
-var scaleOutVerBottom = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { direction: "Y", toScale: .3, xPos: "0", yPos: "100%" })
-});
-exports.scaleOutVerBottom = scaleOutVerBottom;
-var scaleOutTop = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { xPos: "50%", yPos: "0" })
-});
-exports.scaleOutTop = scaleOutTop;
-var scaleOutLeft = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { xPos: "0", yPos: "50%" })
-});
-exports.scaleOutLeft = scaleOutLeft;
-var scaleOutTr = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { xPos: "100%", yPos: "0" })
-});
-exports.scaleOutTr = scaleOutTr;
-var scaleOutTl = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { xPos: "0", yPos: "0" })
-});
-exports.scaleOutTl = scaleOutTl;
-var scaleOutRight = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { xPos: "100%", yPos: "50%" })
-});
-exports.scaleOutRight = scaleOutRight;
-var scaleOutBottom = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { xPos: "50%", yPos: "100%" })
-});
-exports.scaleOutBottom = scaleOutBottom;
-var scaleOutHorCenter = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { direction: "X", toScale: .3 })
-});
-exports.scaleOutHorCenter = scaleOutHorCenter;
-var scaleOutHorLeft = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { direction: "X", toScale: .3, xPos: "0", yPos: "0" })
-});
-exports.scaleOutHorLeft = scaleOutHorLeft;
-var scaleOutHorRight = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { direction: "X", toScale: .3, xPos: "100%", yPos: "100%" })
-});
-exports.scaleOutHorRight = scaleOutHorRight;
-
-//# sourceMappingURL=index.js.map
diff --git a/projects/igniteui-angular/src/lib/animations/slide/index.js b/projects/igniteui-angular/src/lib/animations/slide/index.js
deleted file mode 100644
index ce8c0733c33..00000000000
--- a/projects/igniteui-angular/src/lib/animations/slide/index.js
+++ /dev/null
@@ -1,94 +0,0 @@
-"use strict";
-var __assign = (this && this.__assign) || Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-var animations_1 = require("@angular/animations");
-var easings_1 = require("../easings");
-var base = [
- animations_1.style({
- opacity: "{{startOpacity}}",
- transform: "{{fromPosition}}"
- }),
- animations_1.animate("{{duration}} {{delay}} {{easing}}", animations_1.style({
- opacity: "{{endOpacity}}",
- transform: "{{toPosition}}"
- }))
-];
-var baseInParams = {
- delay: "0s",
- duration: "350ms",
- easing: easings_1.EaseOut.quad,
- endOpacity: 1,
- fromPosition: "translateY(-500px)",
- startOpacity: 0,
- toPosition: "translateY(0)"
-};
-var baseOutParams = __assign({}, baseInParams, { easing: easings_1.EaseIn.quad, endOpacity: 0, fromPosition: "translateY(0)", startOpacity: 1, toPosition: "translateY(-500px)" });
-var slideInTop = animations_1.animation(base, { params: baseInParams });
-exports.slideInTop = slideInTop;
-var slideInLeft = animations_1.animation(base, {
- params: __assign({}, baseInParams, { fromPosition: "translateX(-500px)" })
-});
-exports.slideInLeft = slideInLeft;
-var slideInRight = animations_1.animation(base, {
- params: __assign({}, baseInParams, { fromPosition: "translateX(500px)" })
-});
-exports.slideInRight = slideInRight;
-var slideInBottom = animations_1.animation(base, {
- params: __assign({}, baseInParams, { fromPosition: "translateY(500px)" })
-});
-exports.slideInBottom = slideInBottom;
-var slideInTr = animations_1.animation(base, {
- params: __assign({}, baseInParams, { fromPosition: "translateY(-500px) translateX(500px)", toPosition: "translateY(0) translateX(0)" })
-});
-exports.slideInTr = slideInTr;
-var slideInTl = animations_1.animation(base, {
- params: __assign({}, baseInParams, { fromPosition: "translateY(-500px) translateX(-500px)", toPosition: "translateY(0) translateX(0)" })
-});
-exports.slideInTl = slideInTl;
-var slideInBr = animations_1.animation(base, {
- params: __assign({}, baseInParams, { fromPosition: "translateY(500px) translateX(500px)", toPosition: "translateY(0) translateX(0)" })
-});
-exports.slideInBr = slideInBr;
-var slideInBl = animations_1.animation(base, {
- params: __assign({}, baseInParams, { fromPosition: "translateY(500px) translateX(-500px)", toPosition: "translateY(0) translateX(0)" })
-});
-exports.slideInBl = slideInBl;
-var slideOutTop = animations_1.animation(base, { params: baseOutParams });
-exports.slideOutTop = slideOutTop;
-var slideOutRight = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { toPosition: "translateX(500px)" })
-});
-exports.slideOutRight = slideOutRight;
-var slideOutBottom = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { toPosition: "translateY(500px)" })
-});
-exports.slideOutBottom = slideOutBottom;
-var slideOutLeft = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { toPosition: "translateX(-500px)" })
-});
-exports.slideOutLeft = slideOutLeft;
-var slideOutTr = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { fromPosition: "translateY(0) translateX(0)", toPosition: "translateY(-500px) translateX(500px)" })
-});
-exports.slideOutTr = slideOutTr;
-var slideOutBr = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { fromPosition: "translateY(0) translateX(0)", toPosition: "translateY(500px) translateX(500px)" })
-});
-exports.slideOutBr = slideOutBr;
-var slideOutBl = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { fromPosition: "translateY(0) translateX(0)", toPosition: "translateY(500px) translateX(-500px)" })
-});
-exports.slideOutBl = slideOutBl;
-var slideOutTl = animations_1.animation(base, {
- params: __assign({}, baseOutParams, { fromPosition: "translateY(0) translateX(0)", toPosition: "translateY(-500px) translateX(-500px)" })
-});
-exports.slideOutTl = slideOutTl;
-
-//# sourceMappingURL=index.js.map
diff --git a/projects/igniteui-angular/src/lib/animations/swing/index.js b/projects/igniteui-angular/src/lib/animations/swing/index.js
deleted file mode 100644
index 6e18f97bf03..00000000000
--- a/projects/igniteui-angular/src/lib/animations/swing/index.js
+++ /dev/null
@@ -1,103 +0,0 @@
-"use strict";
-var __assign = (this && this.__assign) || Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-var animations_1 = require("@angular/animations");
-var easings_1 = require("../easings");
-var swingBase = [
- animations_1.style({
- opacity: "{{startOpacity}}",
- transform: "rotate{{direction}}({{startAngle}}deg)",
- transformOrigin: "{{xPos}} {{yPos}}"
- }),
- animations_1.animate("{{duration}} {{delay}} {{easing}}", animations_1.style({
- opacity: "{{endOpacity}}",
- transform: "rotate{{direction}}({{endAngle}}deg)",
- transformOrigin: "{{xPos}} {{yPos}}"
- }))
-];
-var swingParams = {
- delay: "0s",
- direction: "X",
- duration: ".5s",
- easing: easings_1.EaseOut.back,
- endAngle: 0,
- endOpacity: 1,
- startAngle: -100,
- startOpacity: 0,
- xPos: "top",
- yPos: "center"
-};
-var swingOutParams = __assign({}, swingParams, { duration: ".55s", easing: easings_1.EaseIn.back, endAngle: 70, endOpacity: 0, startAngle: 0, startOpacity: 1 });
-var swingInTopFwd = animations_1.animation(swingBase, {
- params: __assign({}, swingParams)
-});
-exports.swingInTopFwd = swingInTopFwd;
-var swingInRightFwd = animations_1.animation(swingBase, {
- params: __assign({}, swingParams, { direction: "Y", xPos: "center", yPos: "right" })
-});
-exports.swingInRightFwd = swingInRightFwd;
-var swingInBottomFwd = animations_1.animation(swingBase, {
- params: __assign({}, swingParams, { startAngle: 100, xPos: "bottom" })
-});
-exports.swingInBottomFwd = swingInBottomFwd;
-var swingInLeftFwd = animations_1.animation(swingBase, {
- params: __assign({}, swingParams, { direction: "Y", startAngle: 100, xPos: "center", yPos: "left" })
-});
-exports.swingInLeftFwd = swingInLeftFwd;
-var swingInTopBck = animations_1.animation(swingBase, {
- params: __assign({}, swingParams, { duration: ".6s", startAngle: 70 })
-});
-exports.swingInTopBck = swingInTopBck;
-var swingInRightBck = animations_1.animation(swingBase, {
- params: __assign({}, swingParams, { direction: "Y", duration: ".6s", startAngle: 70, xPos: "center", yPos: "right" })
-});
-exports.swingInRightBck = swingInRightBck;
-var swingInBottomBck = animations_1.animation(swingBase, {
- params: __assign({}, swingParams, { duration: ".6s", startAngle: -70, xPos: "bottom" })
-});
-exports.swingInBottomBck = swingInBottomBck;
-var swingInLeftBck = animations_1.animation(swingBase, {
- params: __assign({}, swingParams, { direction: "Y", duration: ".6s", startAngle: -70, xPos: "center", yPos: "left" })
-});
-exports.swingInLeftBck = swingInLeftBck;
-var swingOutTopFwd = animations_1.animation(swingBase, {
- params: __assign({}, swingOutParams)
-});
-exports.swingOutTopFwd = swingOutTopFwd;
-var swingOutRightFwd = animations_1.animation(swingBase, {
- params: __assign({}, swingOutParams, { direction: "Y", xPos: "center", yPos: "right" })
-});
-exports.swingOutRightFwd = swingOutRightFwd;
-var swingOutBottomFwd = animations_1.animation(swingBase, {
- params: __assign({}, swingOutParams, { endAngle: -70, xPos: "bottom" })
-});
-exports.swingOutBottomFwd = swingOutBottomFwd;
-var swingOutLefttFwd = animations_1.animation(swingBase, {
- params: __assign({}, swingOutParams, { direction: "Y", endAngle: -70, xPos: "center", yPos: "left" })
-});
-exports.swingOutLefttFwd = swingOutLefttFwd;
-var swingOutTopBck = animations_1.animation(swingBase, {
- params: __assign({}, swingOutParams, { duration: ".45s", endAngle: -100 })
-});
-exports.swingOutTopBck = swingOutTopBck;
-var swingOutRightBck = animations_1.animation(swingBase, {
- params: __assign({}, swingOutParams, { direction: "Y", duration: ".45s", endAngle: -100, xPos: "center", yPos: "right" })
-});
-exports.swingOutRightBck = swingOutRightBck;
-var swingOutBottomBck = animations_1.animation(swingBase, {
- params: __assign({}, swingOutParams, { duration: ".45s", endAngle: 100, xPos: "bottom" })
-});
-exports.swingOutBottomBck = swingOutBottomBck;
-var swingOutLeftBck = animations_1.animation(swingBase, {
- params: __assign({}, swingOutParams, { direction: "Y", duration: ".45s", endAngle: 100, xPos: "center", yPos: "left" })
-});
-exports.swingOutLeftBck = swingOutLeftBck;
-
-//# sourceMappingURL=index.js.map
diff --git a/projects/igniteui-angular/src/lib/avatar/avatar.component.spec.ts b/projects/igniteui-angular/src/lib/avatar/avatar.component.spec.ts
index 4d77697cf4c..04e9fb80e69 100644
--- a/projects/igniteui-angular/src/lib/avatar/avatar.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/avatar/avatar.component.spec.ts
@@ -1,7 +1,6 @@
import { Component, ViewChild } from '@angular/core';
import { TestBed, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { IgxIconModule } from '../icon/public_api';
import { IgxAvatarComponent, IgxAvatarType, IgxAvatarSize } from './avatar.component';
import { configureTestSuite } from '../test-utils/configure-suite';
@@ -23,16 +22,14 @@ describe('Avatar', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
InitAvatarComponent,
AvatarWithAttribsComponent,
IgxAvatarComponent,
InitIconAvatarComponent,
InitImageAvatarComponent
- ],
- imports: [IgxIconModule]
- })
- .compileComponents();
+ ]
+ }).compileComponents();
}));
it('Initializes avatar with auto-incremented id', () => {
@@ -190,20 +187,25 @@ describe('Avatar', () => {
});
@Component({
- template: `TEST `
+ template: `TEST `,
+ standalone: true,
+ imports: [IgxAvatarComponent]
})
class InitAvatarComponent {
@ViewChild(IgxAvatarComponent, { static: true }) public avatar: IgxAvatarComponent;
}
@Component({
- template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxAvatarComponent]
})
class AvatarWithAttribsComponent {
@ViewChild(IgxAvatarComponent, { static: true }) public avatar: IgxAvatarComponent;
@@ -214,14 +216,18 @@ class AvatarWithAttribsComponent {
}
@Component({
- template: ` `
+ template: ` `,
+ standalone: true,
+ imports: [IgxAvatarComponent]
})
class InitIconAvatarComponent {
@ViewChild(IgxAvatarComponent, { static: true }) public avatar: IgxAvatarComponent;
}
@Component({
- template: ` `
+ template: ` `,
+ standalone: true,
+ imports: [IgxAvatarComponent]
})
class InitImageAvatarComponent {
@ViewChild(IgxAvatarComponent, { static: true }) public avatar: IgxAvatarComponent;
diff --git a/projects/igniteui-angular/src/lib/avatar/avatar.component.ts b/projects/igniteui-angular/src/lib/avatar/avatar.component.ts
index 3400fe9580d..3abefab0371 100644
--- a/projects/igniteui-angular/src/lib/avatar/avatar.component.ts
+++ b/projects/igniteui-angular/src/lib/avatar/avatar.component.ts
@@ -1,16 +1,16 @@
-import { CommonModule } from '@angular/common';
+import { NgTemplateOutlet } from '@angular/common';
import {
Component,
ElementRef,
HostBinding,
Input,
- NgModule,
OnInit,
TemplateRef,
ViewChild
} from '@angular/core';
-import { IgxIconModule } from '../icon/public_api';
+
import { mkenum } from '../core/utils';
+import { IgxIconComponent } from '../icon/icon.component';
let NEXT_ID = 0;
export const IgxAvatarSize = mkenum({
@@ -52,7 +52,9 @@ export type IgxAvatarType = (typeof IgxAvatarType)[keyof typeof IgxAvatarType];
*/
@Component({
selector: 'igx-avatar',
- templateUrl: 'avatar.component.html'
+ templateUrl: 'avatar.component.html',
+ standalone: true,
+ imports: [IgxIconComponent, NgTemplateOutlet]
})
export class IgxAvatarComponent implements OnInit {
/**
@@ -377,12 +379,3 @@ export class IgxAvatarComponent implements OnInit {
}
}
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxAvatarComponent],
- exports: [IgxAvatarComponent],
- imports: [CommonModule, IgxIconModule]
-})
-export class IgxAvatarModule { }
diff --git a/projects/igniteui-angular/src/lib/avatar/avatar.module.ts b/projects/igniteui-angular/src/lib/avatar/avatar.module.ts
new file mode 100644
index 00000000000..d2742d06293
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/avatar/avatar.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxAvatarComponent } from './avatar.component';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxAvatarComponent],
+ exports: [IgxAvatarComponent]
+})
+export class IgxAvatarModule { }
diff --git a/projects/igniteui-angular/src/lib/badge/badge.component.spec.ts b/projects/igniteui-angular/src/lib/badge/badge.component.spec.ts
index 858755c8e22..50afe888b5e 100644
--- a/projects/igniteui-angular/src/lib/badge/badge.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/badge/badge.component.spec.ts
@@ -1,7 +1,6 @@
import { Component, ViewChild } from '@angular/core';
import { TestBed, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { IgxIconModule } from '../icon/public_api';
import { IgxBadgeComponent, IgxBadgeType } from './badge.component';
import { configureTestSuite } from '../test-utils/configure-suite';
@@ -10,14 +9,13 @@ describe('Badge', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
InitBadgeComponent,
InitBadgeWithDefaultsComponent,
InitBadgeWithIconComponent,
IgxBadgeComponent,
InitBadgeWithIconARIAComponent
- ],
- imports: [IgxIconModule]
+ ]
}).compileComponents();
}));
@@ -90,22 +88,38 @@ describe('Badge', () => {
});
});
-@Component({ template: ` ` })
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [IgxBadgeComponent]
+})
class InitBadgeComponent {
@ViewChild(IgxBadgeComponent, { static: true }) public badge: IgxBadgeComponent;
}
-@Component({ template: ` ` })
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [IgxBadgeComponent]
+})
class InitBadgeWithDefaultsComponent {
@ViewChild(IgxBadgeComponent, { static: true }) public badge: IgxBadgeComponent;
}
-@Component({ template: ` ` })
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [IgxBadgeComponent]
+})
class InitBadgeWithIconComponent {
@ViewChild(IgxBadgeComponent, { static: true }) public badge: IgxBadgeComponent;
}
-@Component({ template: ` ` })
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [IgxBadgeComponent]
+})
class InitBadgeWithIconARIAComponent {
@ViewChild(IgxBadgeComponent, { static: true }) public badge: IgxBadgeComponent;
}
diff --git a/projects/igniteui-angular/src/lib/badge/badge.component.ts b/projects/igniteui-angular/src/lib/badge/badge.component.ts
index 83690c77477..a72f338c256 100644
--- a/projects/igniteui-angular/src/lib/badge/badge.component.ts
+++ b/projects/igniteui-angular/src/lib/badge/badge.component.ts
@@ -1,7 +1,8 @@
-import { CommonModule } from '@angular/common';
-import { Component, HostBinding, Input, NgModule } from '@angular/core';
-import { IgxIconModule } from '../icon/public_api';
+import { NgIf } from '@angular/common';
+import { Component, HostBinding, Input } from '@angular/core';
+
import { mkenum } from '../core/utils';
+import { IgxIconComponent } from '../icon/icon.component';
let NEXT_ID = 0;
@@ -40,7 +41,9 @@ export type IgxBadgeType = (typeof IgxBadgeType)[keyof typeof IgxBadgeType];
*/
@Component({
selector: 'igx-badge',
- templateUrl: 'badge.component.html'
+ templateUrl: 'badge.component.html',
+ standalone: true,
+ imports: [NgIf, IgxIconComponent]
})
export class IgxBadgeComponent {
@@ -202,13 +205,3 @@ export class IgxBadgeComponent {
return this.type === IgxBadgeType.ERROR;
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxBadgeComponent],
- exports: [IgxBadgeComponent],
- imports: [CommonModule, IgxIconModule]
-})
-export class IgxBadgeModule { }
diff --git a/projects/igniteui-angular/src/lib/badge/badge.module.ts b/projects/igniteui-angular/src/lib/badge/badge.module.ts
new file mode 100644
index 00000000000..c114ff7d4a3
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/badge/badge.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxBadgeComponent } from './badge.component';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ exports: [IgxBadgeComponent],
+ imports: [IgxBadgeComponent]
+})
+export class IgxBadgeModule { }
diff --git a/projects/igniteui-angular/src/lib/banner/banner.component.html b/projects/igniteui-angular/src/lib/banner/banner.component.html
index a6ce66edc55..f7e292c5b62 100644
--- a/projects/igniteui-angular/src/lib/banner/banner.component.html
+++ b/projects/igniteui-angular/src/lib/banner/banner.component.html
@@ -11,14 +11,14 @@
-
-
- {{ resourceStrings.igx_banner_button_dismiss }}
-
-
-
-
-
+
+
+ {{ resourceStrings.igx_banner_button_dismiss }}
+
+
+
+
+
diff --git a/projects/igniteui-angular/src/lib/banner/banner.component.spec.ts b/projects/igniteui-angular/src/lib/banner/banner.component.spec.ts
index 01256c06653..54633b0a2e8 100644
--- a/projects/igniteui-angular/src/lib/banner/banner.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/banner/banner.component.spec.ts
@@ -1,15 +1,13 @@
import { Component, ViewChild, DebugElement } from '@angular/core';
import { TestBed, ComponentFixture, tick, fakeAsync, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { IgxAvatarModule } from '../avatar/avatar.component';
-import { IgxBannerComponent, IgxBannerModule } from './banner.component';
-import { IgxCardModule } from '../card/card.component';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxExpansionPanelModule } from '../expansion-panel/public_api';
+import { IgxBannerComponent } from './banner.component';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
-import { IgxButtonModule } from '../directives/button/button.directive';
import { configureTestSuite } from '../test-utils/configure-suite';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxBannerActionsDirective } from './banner.directives';
+import { IgxCardComponent, IgxCardContentDirective, IgxCardHeaderComponent } from '../card/card.component';
+import { IgxAvatarComponent } from '../avatar/avatar.component';
const CSS_CLASS_EXPANSION_PANEL = 'igx-expansion-panel';
const CSS_CLASS_EXPANSION_PANEL_BODY = 'igx-expansion-panel__body';
@@ -18,7 +16,6 @@ const CSS_CLASS_BANNER_MESSAGE = 'igx-banner__message';
const CSS_CLASS_BANNER_ILLUSTRATION = 'igx-banner__illustration';
const CSS_CLASS_BANNER_TEXT = 'igx-banner__text';
const CSS_CLASS_BANNER_ACTIONS = 'igx-banner__actions';
-const CSS_CLASS_BANNER_ROW = 'igx-banner__row';
describe('igxBanner', () => {
let bannerElement: DebugElement = null;
@@ -30,22 +27,13 @@ describe('igxBanner', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxBannerEmptyComponent,
IgxBannerOneButtonComponent,
IgxBannerSampleComponent,
IgxBannerCustomTemplateComponent,
SimpleBannerEventsComponent
- ],
- imports: [
- IgxBannerModule,
- IgxExpansionPanelModule,
- NoopAnimationsModule,
- IgxRippleModule,
- IgxButtonModule,
- IgxAvatarModule,
- IgxCardModule,
- IgxIconModule
]
}).compileComponents();
}));
@@ -503,7 +491,9 @@ describe('igxBanner', () => {
- SOME PAGE CONTENT
`
+ SOME PAGE CONTENT
`,
+ standalone: true,
+ imports: [ IgxBannerComponent ]
})
export class IgxBannerEmptyComponent {
@ViewChild(IgxBannerComponent, { read: IgxBannerComponent, static: true })
@@ -521,7 +511,9 @@ export class IgxBannerEmptyComponent {
SOME PAGE CONTENT
- `
+ `,
+ standalone: true,
+ imports: [ IgxBannerComponent, IgxBannerActionsDirective ]
})
export class IgxBannerOneButtonComponent {
@ViewChild(IgxBannerComponent, { read: IgxBannerComponent, static: true })
@@ -541,7 +533,9 @@ export class IgxBannerOneButtonComponent {
SOME PAGE CONTENT
- `
+ `,
+ standalone: true,
+ imports: [ IgxBannerComponent, IgxBannerActionsDirective, IgxIconComponent ]
})
export class IgxBannerSampleComponent {
@ViewChild(IgxBannerComponent, { read: IgxBannerComponent, static: true })
@@ -566,13 +560,15 @@ export class IgxBannerSampleComponent {
Brad Stanley has requested to follow you.
-
+
Dismiss
Approve
- SOME PAGE CONTENT
`
+ SOME PAGE CONTENT
`,
+ standalone: true,
+ imports: [ IgxBannerComponent, IgxCardComponent, IgxCardHeaderComponent, IgxCardContentDirective, IgxBannerActionsDirective, IgxAvatarComponent ]
})
export class IgxBannerCustomTemplateComponent {
@ViewChild(IgxBannerComponent, { read: IgxBannerComponent, static: true })
@@ -584,7 +580,9 @@ export class IgxBannerCustomTemplateComponent {
Simple message
- SOME PAGE CONTENT
`
+ SOME PAGE CONTENT
`,
+ standalone: true,
+ imports: [ IgxBannerComponent ]
})
export class SimpleBannerEventsComponent {
@ViewChild(IgxBannerComponent, { read: IgxBannerComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/banner/banner.component.ts b/projects/igniteui-angular/src/lib/banner/banner.component.ts
index eeb47c722d5..c3f30fa8fe6 100644
--- a/projects/igniteui-angular/src/lib/banner/banner.component.ts
+++ b/projects/igniteui-angular/src/lib/banner/banner.component.ts
@@ -5,20 +5,20 @@ import {
EventEmitter,
HostBinding,
Input,
- NgModule,
Output,
ViewChild
} from '@angular/core';
-import { IgxExpansionPanelModule } from '../expansion-panel/expansion-panel.module';
-import { IgxExpansionPanelComponent } from '../expansion-panel/public_api';
-import { IgxIconModule, IgxIconComponent } from '../icon/public_api';
+
+import { IgxIconComponent } from '../icon/icon.component';
import { IToggleView } from '../core/navigation';
-import { IgxButtonModule } from '../directives/button/button.directive';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { IgxRippleDirective } from '../directives/ripple/ripple.directive';
import { IgxBannerActionsDirective } from './banner.directives';
-import { CommonModule } from '@angular/common';
+import { NgIf } from '@angular/common';
import { CancelableEventArgs, IBaseEventArgs } from '../core/utils';
import { ToggleAnimationSettings } from '../expansion-panel/toggle-animation-component';
+import { IgxExpansionPanelBodyComponent } from '../expansion-panel/expansion-panel-body.component';
+import { IgxExpansionPanelComponent } from '../expansion-panel/expansion-panel.component';
import { IBannerResourceStrings } from '../core/i18n/banner-resources';
import { CurrentResourceStrings } from '../core/i18n/resources';
@@ -52,7 +52,9 @@ export interface BannerCancelEventArgs extends BannerEventArgs, CancelableEventA
*/
@Component({
selector: 'igx-banner',
- templateUrl: 'banner.component.html'
+ templateUrl: 'banner.component.html',
+ standalone: true,
+ imports: [ IgxExpansionPanelComponent, IgxExpansionPanelBodyComponent, NgIf, IgxButtonDirective, IgxRippleDirective ]
})
export class IgxBannerComponent implements IToggleView {
/**
@@ -122,6 +124,18 @@ export class IgxBannerComponent implements IToggleView {
return !this._bannerActionTemplate;
}
+ /**
+ * Set the animation settings used by the banner open/close methods
+ * ```typescript
+ * import { slideInLeft, slideOutRight } from 'igniteui-angular';
+ * ...
+ * banner.animationSettings: ToggleAnimationSettings = { openAnimation: slideInLeft, closeAnimation: slideOutRight };
+ * ```
+ */
+ public set animationSettings(settings: ToggleAnimationSettings) {
+ this._animationSettings = settings;
+ }
+
/**
* Get the animation settings used by the banner open/close methods
* ```typescript
@@ -151,18 +165,6 @@ export class IgxBannerComponent implements IToggleView {
}
return this._resourceStrings;
}
-
- /**
- * Set the animation settings used by the banner open/close methods
- * ```typescript
- * import { slideInLeft, slideOutRight } from 'igniteui-angular';
- * ...
- * banner.animationSettings: ToggleAnimationSettings = { openAnimation: slideInLeft, closeAnimation: slideOutRight };
- * ```
- */
- public set animationSettings(settings: ToggleAnimationSettings) {
- this._animationSettings = settings;
- }
/**
* Gets whether banner is collapsed
*
@@ -301,9 +303,4 @@ export class IgxBannerComponent implements IToggleView {
/**
* @hidden
*/
-@NgModule({
- declarations: [IgxBannerComponent, IgxBannerActionsDirective],
- exports: [IgxBannerComponent, IgxBannerActionsDirective],
- imports: [CommonModule, IgxExpansionPanelModule, IgxIconModule, IgxButtonModule, IgxRippleModule]
-})
-export class IgxBannerModule { }
+
diff --git a/projects/igniteui-angular/src/lib/banner/banner.directives.ts b/projects/igniteui-angular/src/lib/banner/banner.directives.ts
index bc9ded96409..84e437b2970 100644
--- a/projects/igniteui-angular/src/lib/banner/banner.directives.ts
+++ b/projects/igniteui-angular/src/lib/banner/banner.directives.ts
@@ -1,5 +1,7 @@
import { Directive } from '@angular/core';
-/* eslint-disable @angular-eslint/directive-selector */
-@Directive({ selector: 'igx-banner-actions' })
+@Directive({
+ selector: 'igx-banner-actions',
+ standalone: true
+})
export class IgxBannerActionsDirective { }
diff --git a/projects/igniteui-angular/src/lib/banner/banner.module.ts b/projects/igniteui-angular/src/lib/banner/banner.module.ts
new file mode 100644
index 00000000000..6473a7f1814
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/banner/banner.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IGX_BANNER_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [...IGX_BANNER_DIRECTIVES],
+ exports: [...IGX_BANNER_DIRECTIVES]
+})
+export class IgxBannerModule { }
diff --git a/projects/igniteui-angular/src/lib/banner/public_api.ts b/projects/igniteui-angular/src/lib/banner/public_api.ts
index 5b503ca6eee..0433362fde6 100644
--- a/projects/igniteui-angular/src/lib/banner/public_api.ts
+++ b/projects/igniteui-angular/src/lib/banner/public_api.ts
@@ -1,2 +1,11 @@
+import { IgxBannerComponent } from './banner.component';
+import { IgxBannerActionsDirective } from './banner.directives';
+
export * from './banner.component';
export * from './banner.directives';
+
+/* Banner directives collection for ease-of-use import in standalone components scenario */
+export const IGX_BANNER_DIRECTIVES = [
+ IgxBannerComponent,
+ IgxBannerActionsDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component.ts b/projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component.ts
index 997b8ef5a50..42cd8c63eef 100644
--- a/projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component.ts
+++ b/projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component.ts
@@ -1,4 +1,4 @@
-import { CommonModule } from '@angular/common';
+import { NgFor, NgIf } from '@angular/common';
import {
AfterContentInit,
AfterViewInit,
@@ -9,7 +9,6 @@ import {
HostBinding,
Inject,
Input,
- NgModule,
Output,
Optional,
QueryList,
@@ -18,13 +17,14 @@ import {
OnDestroy
} from '@angular/core';
import { Subject } from 'rxjs';
-import { IgxButtonDirective, IgxButtonModule } from '../directives/button/button.directive';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
-import { IgxIconModule } from '../icon/public_api';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { IgxRippleDirective } from '../directives/ripple/ripple.directive';
+
import { takeUntil } from 'rxjs/operators';
import { DisplayDensityBase, DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
import { IBaseEventArgs } from '../core/utils';
import { mkenum } from '../core/utils';
+import { IgxIconComponent } from '../icon/icon.component';
/**
* Determines the Button Group alignment
@@ -59,7 +59,9 @@ let NEXT_ID = 0;
*/
@Component({
selector: 'igx-buttongroup',
- templateUrl: 'buttongroup-content.component.html'
+ templateUrl: 'buttongroup-content.component.html',
+ standalone: true,
+ imports: [NgFor, IgxButtonDirective, IgxRippleDirective, NgIf, IgxIconComponent]
})
export class IgxButtonGroupComponent extends DisplayDensityBase implements AfterContentInit, AfterViewInit, OnDestroy {
/**
@@ -460,9 +462,4 @@ export interface IButtonGroupEventArgs extends IBaseEventArgs {
/**
* @hidden
*/
-@NgModule({
- declarations: [IgxButtonGroupComponent],
- exports: [IgxButtonGroupComponent],
- imports: [IgxButtonModule, CommonModule, IgxRippleModule, IgxIconModule]
-})
-export class IgxButtonGroupModule {}
+
diff --git a/projects/igniteui-angular/src/lib/buttonGroup/buttongroup.component.spec.ts b/projects/igniteui-angular/src/lib/buttonGroup/buttongroup.component.spec.ts
index d8bfff948c1..b8c433e711a 100644
--- a/projects/igniteui-angular/src/lib/buttonGroup/buttongroup.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/buttonGroup/buttongroup.component.spec.ts
@@ -1,10 +1,10 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { TestBed, waitForAsync } from '@angular/core/testing';
-import { ButtonGroupAlignment, IgxButtonGroupComponent, IgxButtonGroupModule } from './buttonGroup.component';
-import { IgxButtonModule } from '../directives/button/button.directive';
+import { ButtonGroupAlignment, IgxButtonGroupComponent } from './buttonGroup.component';
import { configureTestSuite } from '../test-utils/configure-suite';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { UIInteractions } from '../test-utils/ui-interactions.spec';
+import { IgxButtonDirective } from '../directives/button/button.directive';
interface IButton {
type?: string;
@@ -47,19 +47,14 @@ describe('IgxButtonGroup', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
InitButtonGroupComponent,
InitButtonGroupWithValuesComponent,
TemplatedButtonGroupComponent,
TemplatedButtonGroupDesplayDensityComponent
- ],
- imports: [
- IgxButtonGroupModule,
- IgxButtonModule,
- NoopAnimationsModule
]
- })
- .compileComponents();
+ }).compileComponents();
}));
it('should initialize buttonGroup with default values', () => {
@@ -273,7 +268,11 @@ describe('IgxButtonGroup', () => {
});
-@Component({ template: ` ` })
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [ IgxButtonGroupComponent ]
+})
class InitButtonGroupComponent implements OnInit {
@ViewChild(IgxButtonGroupComponent, { static: true }) public buttonGroup: IgxButtonGroupComponent;
@@ -300,9 +299,15 @@ class InitButtonGroupComponent implements OnInit {
}
}
-@Component({ template: `
- ` })
+@Component({
+ template: `
+
+
+ `,
+ standalone: true,
+ imports: [ IgxButtonGroupComponent ]
+})
class InitButtonGroupWithValuesComponent implements OnInit {
@ViewChild(IgxButtonGroupComponent, { static: true }) public buttonGroup: IgxButtonGroupComponent;
@@ -341,12 +346,18 @@ class InitButtonGroupWithValuesComponent implements OnInit {
}
-@Component({ template: `
- Sofia
- London
- New York
- Tokio
- ` })
+@Component({
+ template: `
+
+ Sofia
+ London
+ New York
+ Tokio
+
+ `,
+ standalone: true,
+ imports: [ IgxButtonGroupComponent, IgxButtonDirective ]
+})
class TemplatedButtonGroupComponent {
@ViewChild(IgxButtonGroupComponent, { static: true }) public buttonGroup: IgxButtonGroupComponent;
@@ -354,10 +365,16 @@ class TemplatedButtonGroupComponent {
public multiselection = true;
}
-@Component({ template: `
- Sofia
- London
- ` })
+@Component({
+ template: `
+
+ Sofia
+ London
+
+ `,
+ standalone: true,
+ imports: [ IgxButtonGroupComponent, IgxButtonDirective ]
+})
class TemplatedButtonGroupDesplayDensityComponent {
@ViewChild(IgxButtonGroupComponent, { static: true }) public buttonGroup: IgxButtonGroupComponent;
}
diff --git a/projects/igniteui-angular/src/lib/buttonGroup/buttongroup.module.ts b/projects/igniteui-angular/src/lib/buttonGroup/buttongroup.module.ts
new file mode 100644
index 00000000000..fcc0f6a5e5f
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/buttonGroup/buttongroup.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IGX_BUTTON_GROUP_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [...IGX_BUTTON_GROUP_DIRECTIVES],
+ exports: [...IGX_BUTTON_GROUP_DIRECTIVES]
+})
+export class IgxButtonGroupModule {}
diff --git a/projects/igniteui-angular/src/lib/buttonGroup/public_api.ts b/projects/igniteui-angular/src/lib/buttonGroup/public_api.ts
new file mode 100644
index 00000000000..23477806aa0
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/buttonGroup/public_api.ts
@@ -0,0 +1,10 @@
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { IgxButtonGroupComponent } from './buttonGroup.component';
+
+export * from './buttonGroup.component';
+
+/* Button group directives collection for ease-of-use import in standalone components scenario */
+export const IGX_BUTTON_GROUP_DIRECTIVES = [
+ IgxButtonGroupComponent,
+ IgxButtonDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/calendar/calendar-base.ts b/projects/igniteui-angular/src/lib/calendar/calendar-base.ts
index 8181fb0c613..29472edeb76 100644
--- a/projects/igniteui-angular/src/lib/calendar/calendar-base.ts
+++ b/projects/igniteui-angular/src/lib/calendar/calendar-base.ts
@@ -1,39 +1,18 @@
import { Input, Output, EventEmitter, Directive, Inject, LOCALE_ID, HostListener } from '@angular/core';
-import { WEEKDAYS, Calendar, isDateInRanges, IFormattingOptions, IFormattingViews } from './calendar';
+import { WEEKDAYS, Calendar, isDateInRanges, IFormattingOptions, IFormattingViews, IViewDateChangeEventArgs, ScrollMonth, IgxCalendarView, CalendarSelection } from './calendar';
import { ControlValueAccessor } from '@angular/forms';
import { DateRangeDescriptor } from '../core/dates';
import { noop, Subject } from 'rxjs';
-import { isDate, mkenum, PlatformUtil } from '../core/utils';
-import { IgxCalendarView } from './month-picker-base';
+import { isDate, PlatformUtil } from '../core/utils';
import { CurrentResourceStrings } from '../core/i18n/resources';
import { ICalendarResourceStrings } from '../core/i18n/calendar-resources';
import { DateTimeUtil } from '../date-common/util/date-time.util';
import { getLocaleFirstDayOfWeek } from "@angular/common";
-/**
- * Sets the selection type - single, multi or range.
- */
-export const CalendarSelection = mkenum({
- SINGLE: 'single',
- MULTI: 'multi',
- RANGE: 'range'
-});
-export type CalendarSelection = (typeof CalendarSelection)[keyof typeof CalendarSelection];
-
-export enum ScrollMonth {
- PREV = 'prev',
- NEXT = 'next',
- NONE = 'none'
-}
-
-export interface IViewDateChangeEventArgs {
- previousValue: Date;
- currentValue: Date;
-}
-
/** @hidden @internal */
@Directive({
selector: '[igxCalendarBase]',
+ standalone: true
})
export class IgxCalendarBaseDirective implements ControlValueAccessor {
/**
@@ -118,7 +97,7 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor {
/**
* @hidden
*/
- public shiftKey: boolean = false;
+ public shiftKey = false;
/**
* @hidden
@@ -752,7 +731,7 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor {
/**
* @hidden
*/
- private selectRange(value: Date | Date[], excludeDisabledDates: boolean = false) {
+ private selectRange(value: Date | Date[], excludeDisabledDates = false) {
if (Array.isArray(value)) {
value.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());
this._startDate = this.getDateOnly(value[0]);
diff --git a/projects/igniteui-angular/src/lib/calendar/calendar-multi-view.component.spec.ts b/projects/igniteui-angular/src/lib/calendar/calendar-multi-view.component.spec.ts
index 812d47c9d53..47736aa5d68 100644
--- a/projects/igniteui-angular/src/lib/calendar/calendar-multi-view.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/calendar/calendar-multi-view.component.spec.ts
@@ -4,10 +4,10 @@ import { FormsModule } from '@angular/forms';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { configureTestSuite } from '../test-utils/configure-suite';
import { UIInteractions, wait } from '../test-utils/ui-interactions.spec';
-import { IgxCalendarComponent, IgxCalendarModule } from './public_api';
-import { IgxDatePickerComponent, IgxDatePickerModule } from '../date-picker/public_api';
+import { IgxCalendarComponent } from './public_api';
+import { IgxDatePickerComponent } from '../date-picker/public_api';
import { DateRangeType } from '../core/dates';
-import { HelperTestFunctions } from './calendar-helper-utils';
+import { HelperTestFunctions } from '../test-utils/calendar-helper-utils';
describe('Multi-View Calendar - ', () => {
let fixture; let calendar;
@@ -15,8 +15,12 @@ describe('Multi-View Calendar - ', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [MultiViewCalendarSampleComponent, MultiViewDatePickerSampleComponent, MultiViewNgModelSampleComponent],
- imports: [IgxCalendarModule, IgxDatePickerModule, FormsModule, NoopAnimationsModule]
+ imports: [
+ NoopAnimationsModule,
+ MultiViewCalendarSampleComponent,
+ MultiViewDatePickerSampleComponent,
+ MultiViewNgModelSampleComponent
+ ]
}).compileComponents();
}));
@@ -1362,7 +1366,9 @@ describe('Multi-View Calendar - ', () => {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxCalendarComponent]
})
export class MultiViewCalendarSampleComponent {
@ViewChild(IgxCalendarComponent, { static: true }) public calendar: IgxCalendarComponent;
@@ -1372,7 +1378,9 @@ export class MultiViewCalendarSampleComponent {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxDatePickerComponent]
})
export class MultiViewDatePickerSampleComponent {
@ViewChild(IgxDatePickerComponent, { static: true }) public datePicker: IgxDatePickerComponent;
@@ -1383,7 +1391,9 @@ export class MultiViewDatePickerSampleComponent {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxCalendarComponent, FormsModule]
})
export class MultiViewNgModelSampleComponent {
@ViewChild(IgxCalendarComponent, { static: true }) public calendar: IgxCalendarComponent;
diff --git a/projects/igniteui-angular/src/lib/calendar/calendar.component.spec.ts b/projects/igniteui-angular/src/lib/calendar/calendar.component.spec.ts
index bd86b61718c..97c86c85258 100644
--- a/projects/igniteui-angular/src/lib/calendar/calendar.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/calendar/calendar.component.spec.ts
@@ -4,7 +4,8 @@ import { FormsModule } from '@angular/forms';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import {
- Calendar, IgxCalendarComponent, IgxCalendarModule, isLeap,
+ Calendar, IgxCalendarComponent, IgxCalendarView, isLeap,
+ IViewDateChangeEventArgs,
monthRange, weekDay, WEEKDAYS
} from './public_api';
import { UIInteractions } from '../test-utils/ui-interactions.spec';
@@ -12,9 +13,7 @@ import { DateRangeDescriptor, DateRangeType } from '../core/dates/dateRange';
import { configureTestSuite } from '../test-utils/configure-suite';
import { IgxDayItemComponent } from './days-view/day-item.component';
-import { HelperTestFunctions } from './calendar-helper-utils';
-import { IgxCalendarView } from './month-picker-base';
-import { IViewDateChangeEventArgs } from './calendar-base';
+import { HelperTestFunctions } from '../test-utils/calendar-helper-utils';
describe('IgxCalendar - ', () => {
@@ -174,9 +173,13 @@ describe('IgxCalendar - ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [IgxCalendarSampleComponent, IgxCalendarRangeComponent, IgxCalendarDisabledSpecialDatesComponent,
- IgxCalendarValueComponent],
- imports: [IgxCalendarModule, FormsModule, NoopAnimationsModule]
+ imports: [
+ NoopAnimationsModule,
+ IgxCalendarSampleComponent,
+ IgxCalendarRangeComponent,
+ IgxCalendarDisabledSpecialDatesComponent,
+ IgxCalendarValueComponent
+ ]
}).compileComponents();
}));
@@ -2255,7 +2258,9 @@ describe('IgxCalendar - ', () => {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxCalendarComponent, FormsModule]
})
export class IgxCalendarSampleComponent {
@ViewChild(IgxCalendarComponent, { static: true }) public calendar: IgxCalendarComponent;
@@ -2266,7 +2271,9 @@ export class IgxCalendarSampleComponent {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxCalendarComponent]
})
export class IgxCalendarRangeComponent {
@ViewChild(IgxCalendarComponent, { static: true }) public calendar: IgxCalendarComponent;
@@ -2277,7 +2284,9 @@ export class IgxCalendarRangeComponent {
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxCalendarComponent, FormsModule]
})
export class IgxCalendarDisabledSpecialDatesComponent {
@ViewChild(IgxCalendarComponent, { static: true }) public calendar: IgxCalendarComponent;
@@ -2290,7 +2299,9 @@ export class IgxCalendarDisabledSpecialDatesComponent {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxCalendarComponent]
})
export class IgxCalendarValueComponent {
@ViewChild(IgxCalendarComponent, { static: true }) public calendar: IgxCalendarComponent;
diff --git a/projects/igniteui-angular/src/lib/calendar/calendar.component.ts b/projects/igniteui-angular/src/lib/calendar/calendar.component.ts
index 905149b421e..0ef3a8b89d0 100644
--- a/projects/igniteui-angular/src/lib/calendar/calendar.component.ts
+++ b/projects/igniteui-angular/src/lib/calendar/calendar.component.ts
@@ -15,19 +15,18 @@ import {
} from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { fadeIn, scaleInCenter, slideInLeft, slideInRight } from '../animations/main';
-import {
- IgxCalendarHeaderTemplateDirective,
- IgxCalendarSubheaderTemplateDirective
-} from './calendar.directives';
-import { ICalendarDate, monthRange } from './calendar';
-import { CalendarView, IgxCalendarView, IgxMonthPickerBaseDirective } from './month-picker-base';
+import { IgxCalendarHeaderTemplateDirective, IgxCalendarSubheaderTemplateDirective, IgxCalendarScrollMonthDirective } from './calendar.directives';
+import { ICalendarDate, IgxCalendarView, ScrollMonth, monthRange } from './calendar';
+import { IgxMonthPickerBaseDirective } from './month-picker/month-picker-base';
import { IgxMonthsViewComponent } from './months-view/months-view.component';
import { IgxYearsViewComponent } from './years-view/years-view.component';
import { IgxDaysViewComponent } from './days-view/days-view.component';
import { interval, Subscription } from 'rxjs';
import { takeUntil, debounce, skipLast, switchMap } from 'rxjs/operators';
-import { ScrollMonth } from './calendar-base';
import { IViewChangingEventArgs } from './days-view/days-view.interface';
+import { IgxMonthViewSlotsCalendar, IgxGetViewDateCalendar } from './months-view.pipe';
+import { IgxIconComponent } from '../icon/icon.component';
+import { NgIf, NgTemplateOutlet, NgStyle, NgFor, DatePipe } from '@angular/common';
let NEXT_ID = 0;
@@ -83,7 +82,9 @@ let NEXT_ID = 0;
])
],
selector: 'igx-calendar',
- templateUrl: 'calendar.component.html'
+ templateUrl: 'calendar.component.html',
+ standalone: true,
+ imports: [NgIf, NgTemplateOutlet, IgxCalendarScrollMonthDirective, NgStyle, IgxIconComponent, NgFor, IgxDaysViewComponent, IgxMonthsViewComponent, IgxYearsViewComponent, DatePipe, IgxMonthViewSlotsCalendar, IgxGetViewDateCalendar]
})
export class IgxCalendarComponent extends IgxMonthPickerBaseDirective implements AfterViewInit, OnDestroy {
/**
@@ -258,7 +259,7 @@ export class IgxCalendarComponent extends IgxMonthPickerBaseDirective implements
* @internal
*/
public get isYearView(): boolean {
- return this.activeView === CalendarView.YEAR || this.activeView === IgxCalendarView.Year;
+ return this.activeView === IgxCalendarView.Year;
}
/**
@@ -919,9 +920,9 @@ export class IgxCalendarComponent extends IgxMonthPickerBaseDirective implements
}
let monthView = this.daysView as IgxDaysViewComponent;
- let date = monthView.dates.find((d) => d.selected);
+ let date = monthView?.dates.find((d) => d.selected);
- while (!date && monthView.nextMonthView) {
+ while (!date && monthView?.nextMonthView) {
monthView = monthView.nextMonthView;
date = monthView.dates.find((d) => d.selected);
}
diff --git a/projects/igniteui-angular/src/lib/calendar/calendar.directives.ts b/projects/igniteui-angular/src/lib/calendar/calendar.directives.ts
index 5748eb69813..e9a4dc8b736 100644
--- a/projects/igniteui-angular/src/lib/calendar/calendar.directives.ts
+++ b/projects/igniteui-angular/src/lib/calendar/calendar.directives.ts
@@ -26,7 +26,8 @@ import { PlatformUtil } from '../core/utils';
* @hidden
*/
@Directive({
- selector: '[igxCalendarYear]'
+ selector: '[igxCalendarYear]',
+ standalone: true
})
export class IgxCalendarYearDirective {
@@ -77,7 +78,8 @@ export class IgxCalendarYearDirective {
}
@Directive({
- selector: '[igxCalendarMonth]'
+ selector: '[igxCalendarMonth]',
+ standalone: true
})
export class IgxCalendarMonthDirective {
@@ -119,7 +121,8 @@ export class IgxCalendarMonthDirective {
* @hidden
*/
@Directive({
- selector: '[igxCalendarHeader]'
+ selector: '[igxCalendarHeader]',
+ standalone: true
})
export class IgxCalendarHeaderTemplateDirective {
@@ -130,7 +133,8 @@ export class IgxCalendarHeaderTemplateDirective {
* @hidden
*/
@Directive({
- selector: '[igxCalendarSubheader]'
+ selector: '[igxCalendarSubheader]',
+ standalone: true
})
export class IgxCalendarSubheaderTemplateDirective {
constructor(public template: TemplateRef) { }
@@ -140,7 +144,8 @@ export class IgxCalendarSubheaderTemplateDirective {
* @hidden
*/
@Directive({
- selector: '[igxCalendarScrollMonth]'
+ selector: '[igxCalendarScrollMonth]',
+ standalone: true
})
export class IgxCalendarScrollMonthDirective implements AfterViewInit, OnDestroy {
diff --git a/projects/igniteui-angular/src/lib/calendar/calendar.module.ts b/projects/igniteui-angular/src/lib/calendar/calendar.module.ts
index d2936769d14..88df25cfaf9 100644
--- a/projects/igniteui-angular/src/lib/calendar/calendar.module.ts
+++ b/projects/igniteui-angular/src/lib/calendar/calendar.module.ts
@@ -1,56 +1,16 @@
-import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxCalendarComponent } from './calendar.component';
-import {
- IgxCalendarHeaderTemplateDirective,
- IgxCalendarMonthDirective,
- IgxCalendarSubheaderTemplateDirective,
- IgxCalendarYearDirective,
- IgxCalendarScrollMonthDirective
-} from './calendar.directives';
-import { IgxMonthsViewComponent } from './months-view/months-view.component';
-import { IgxYearsViewComponent } from './years-view/years-view.component';
-import { IgxDaysViewComponent } from './days-view/days-view.component';
-import { IgxDayItemComponent } from './days-view/day-item.component';
-import { IgxMonthPickerComponent } from './month-picker/month-picker.component';
-import { IgxCalendarBaseDirective } from './calendar-base';
-import { IgxMonthPickerBaseDirective } from './month-picker-base';
-import { IgxMonthViewSlotsCalendar, IgxGetViewDateCalendar } from './months-view.pipe';
+import { IGX_CALENDAR_DIRECTIVES } from './public_api';
/**
* @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
*/
@NgModule({
- declarations: [
- IgxCalendarBaseDirective,
- IgxMonthPickerBaseDirective,
- IgxDayItemComponent,
- IgxDaysViewComponent,
- IgxCalendarComponent,
- IgxCalendarHeaderTemplateDirective,
- IgxCalendarMonthDirective,
- IgxCalendarYearDirective,
- IgxCalendarSubheaderTemplateDirective,
- IgxCalendarScrollMonthDirective,
- IgxMonthsViewComponent,
- IgxYearsViewComponent,
- IgxMonthPickerComponent,
- IgxMonthViewSlotsCalendar,
- IgxGetViewDateCalendar
+ imports: [
+ ...IGX_CALENDAR_DIRECTIVES
],
exports: [
- IgxCalendarComponent,
- IgxDaysViewComponent,
- IgxMonthsViewComponent,
- IgxYearsViewComponent,
- IgxMonthPickerComponent,
- IgxCalendarHeaderTemplateDirective,
- IgxCalendarMonthDirective,
- IgxCalendarYearDirective,
- IgxCalendarSubheaderTemplateDirective
- ],
- imports: [CommonModule, FormsModule, IgxIconModule]
+ ...IGX_CALENDAR_DIRECTIVES
+ ]
})
export class IgxCalendarModule { }
diff --git a/projects/igniteui-angular/src/lib/calendar/calendar.ts b/projects/igniteui-angular/src/lib/calendar/calendar.ts
index af6d414dcf7..6715e413a3b 100644
--- a/projects/igniteui-angular/src/lib/calendar/calendar.ts
+++ b/projects/igniteui-angular/src/lib/calendar/calendar.ts
@@ -1,4 +1,37 @@
import { DateRangeDescriptor, DateRangeType } from '../core/dates';
+import { mkenum } from '../core/utils';
+
+/**
+ * Sets the selection type - single, multi or range.
+ */
+export const CalendarSelection = mkenum({
+ SINGLE: 'single',
+ MULTI: 'multi',
+ RANGE: 'range'
+});
+export type CalendarSelection = (typeof CalendarSelection)[keyof typeof CalendarSelection];
+
+export enum ScrollMonth {
+ PREV = 'prev',
+ NEXT = 'next',
+ NONE = 'none'
+}
+
+export interface IViewDateChangeEventArgs {
+ previousValue: Date;
+ currentValue: Date;
+}
+
+export const IgxCalendarView = mkenum({
+ Month: 'month',
+ Year: 'year',
+ Decade: 'decade'
+});
+
+/**
+ * Determines the Calendar active view - days, months or years.
+ */
+export type IgxCalendarView = (typeof IgxCalendarView)[keyof typeof IgxCalendarView];
/**
* @hidden
@@ -199,7 +232,7 @@ export class Calendar {
*
* @memberof Calendar
*/
- public monthdates(year: number, month: number, extraWeek: boolean = false): ICalendarDate[] {
+ public monthdates(year: number, month: number, extraWeek = false): ICalendarDate[] {
let date = new Date(year, month, 1);
let days = (date.getDay() - this.firstWeekDay) % 7;
if (days < 0) {
@@ -209,6 +242,7 @@ export class Calendar {
const res = [];
let value: ICalendarDate;
+ // eslint-disable-next-line no-constant-condition
while (true) {
value = this.generateICalendarDate(date, year, month);
@@ -240,7 +274,7 @@ export class Calendar {
*
* @memberof Calendar
*/
- public monthdatescalendar(year: number, month: number, extraWeek: boolean = false): ICalendarDate[][] {
+ public monthdatescalendar(year: number, month: number, extraWeek = false): ICalendarDate[][] {
const dates = this.monthdates(year, month, extraWeek);
const res = [];
for (const i of range(0, dates.length, 7)) {
diff --git a/projects/igniteui-angular/src/lib/calendar/days-view/day-item.component.ts b/projects/igniteui-angular/src/lib/calendar/days-view/day-item.component.ts
index db056c253bf..752e4b11be2 100644
--- a/projects/igniteui-angular/src/lib/calendar/days-view/day-item.component.ts
+++ b/projects/igniteui-angular/src/lib/calendar/days-view/day-item.component.ts
@@ -1,14 +1,14 @@
import { Component, Input, Output, EventEmitter, HostBinding, ElementRef, HostListener } from '@angular/core';
-import { ICalendarDate, isDateInRanges } from '../calendar';
+import { CalendarSelection, ICalendarDate, isDateInRanges } from '../calendar';
import { DateRangeDescriptor } from '../../core/dates';
-import { CalendarSelection } from '../calendar-base';
/**
* @hidden
*/
@Component({
selector: 'igx-day-item',
- templateUrl: 'day-item.component.html'
+ templateUrl: 'day-item.component.html',
+ standalone: true
})
export class IgxDayItemComponent {
@Input()
diff --git a/projects/igniteui-angular/src/lib/calendar/days-view/days-view.component.ts b/projects/igniteui-angular/src/lib/calendar/days-view/days-view.component.ts
index b8792a8860d..4effb108582 100644
--- a/projects/igniteui-angular/src/lib/calendar/days-view/days-view.component.ts
+++ b/projects/igniteui-angular/src/lib/calendar/days-view/days-view.component.ts
@@ -11,14 +11,15 @@ import {
OnInit,
Inject, LOCALE_ID
} from '@angular/core';
-import { ICalendarDate, isDateInRanges } from '../../calendar/calendar';
+import { CalendarSelection, ICalendarDate, isDateInRanges } from '../../calendar/calendar';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { IgxDayItemComponent } from './day-item.component';
import { DateRangeDescriptor, DateRangeType } from '../../core/dates';
-import { IgxCalendarBaseDirective, CalendarSelection } from '../calendar-base';
+import { IgxCalendarBaseDirective } from '../calendar-base';
import { isEqual, PlatformUtil } from '../../core/utils';
import { IViewChangingEventArgs } from './days-view.interface';
import { IgxDaysViewNavigationService } from '../days-view/daysview-navigation.service';
+import { NgIf, NgFor, TitleCasePipe } from '@angular/common';
let NEXT_ID = 0;
@@ -32,7 +33,9 @@ let NEXT_ID = 0;
{ provide: IgxDaysViewNavigationService, useClass: IgxDaysViewNavigationService }
],
selector: 'igx-days-view',
- templateUrl: 'days-view.component.html'
+ templateUrl: 'days-view.component.html',
+ standalone: true,
+ imports: [NgIf, NgFor, IgxDayItemComponent, TitleCasePipe]
})
export class IgxDaysViewComponent extends IgxCalendarBaseDirective implements DoCheck, OnInit {
/**
diff --git a/projects/igniteui-angular/src/lib/calendar/days-view/daysview-navigation.service.ts b/projects/igniteui-angular/src/lib/calendar/days-view/daysview-navigation.service.ts
index d080dd9a71f..032f25a5aca 100644
--- a/projects/igniteui-angular/src/lib/calendar/days-view/daysview-navigation.service.ts
+++ b/projects/igniteui-angular/src/lib/calendar/days-view/daysview-navigation.service.ts
@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { IgxDayItemComponent } from './day-item.component';
import { IgxDaysViewComponent } from './days-view.component';
-import { ScrollMonth } from '../calendar-base';
+import { ScrollMonth } from '../calendar';
enum Direction {
Up = 'ArrowUp',
diff --git a/projects/igniteui-angular/src/lib/calendar/month-picker-base.ts b/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker-base.ts
similarity index 78%
rename from projects/igniteui-angular/src/lib/calendar/month-picker-base.ts
rename to projects/igniteui-angular/src/lib/calendar/month-picker/month-picker-base.ts
index dc9c8c1a34f..38b1f7772a1 100644
--- a/projects/igniteui-angular/src/lib/calendar/month-picker-base.ts
+++ b/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker-base.ts
@@ -1,30 +1,10 @@
-import { IgxCalendarBaseDirective } from './calendar-base';
+import { IgxCalendarView } from '../calendar';
+import { IgxCalendarBaseDirective } from '../calendar-base';
import { Directive, ViewChildren, ElementRef, QueryList, Input } from '@angular/core';
-import { mkenum } from '../core/utils';
-
-export const IgxCalendarView = mkenum({
- Month: 'month',
- Year: 'year',
- Decade: 'decade'
-});
-
-
-/**
- * @hidden
- */
-export enum CalendarView {
- DEFAULT,
- YEAR,
- DECADE
-}
-
-/**
- * Determines the Calendar active view - days, months or years.
- */
-export type IgxCalendarView = (typeof IgxCalendarView)[keyof typeof IgxCalendarView] | CalendarView;
@Directive({
- selector: '[igxMonthPickerBase]'
+ selector: '[igxMonthPickerBase]',
+ standalone: true
})
export class IgxMonthPickerBaseDirective extends IgxCalendarBaseDirective {
/**
@@ -77,14 +57,14 @@ export class IgxMonthPickerBaseDirective extends IgxCalendarBaseDirective {
* @hidden
*/
public get isDefaultView(): boolean {
- return this._activeView === CalendarView.DEFAULT || this._activeView === IgxCalendarView.Month;
+ return this._activeView === IgxCalendarView.Month;
}
/**
* @hidden
*/
public get isDecadeView(): boolean {
- return this._activeView === CalendarView.DECADE || this._activeView === IgxCalendarView.Decade;
+ return this._activeView === IgxCalendarView.Decade;
}
/**
diff --git a/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.spec.ts b/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.spec.ts
index 50c2d43d1bc..f6dc0c74f24 100644
--- a/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.spec.ts
@@ -6,15 +6,14 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { IgxMonthPickerComponent } from './month-picker.component';
-import { IgxCalendarModule } from '../calendar.module';
+import { IFormattingOptions } from '../calendar';
describe('IgxMonthPicker', () => {
configureTestSuite();
beforeEach(() => {
TestBed.configureTestingModule({
- declarations: [IgxMonthPickerSampleComponent],
- imports: [FormsModule, NoopAnimationsModule, IgxCalendarModule]
+ imports: [NoopAnimationsModule, IgxMonthPickerSampleComponent]
}).compileComponents();
});
@@ -90,7 +89,7 @@ describe('IgxMonthPicker', () => {
const instance = fixture.componentInstance;
const monthPicker = fixture.componentInstance.monthPicker;
- const format = {
+ const format: IFormattingOptions = {
day: '2-digit',
month: 'long',
weekday: 'long',
@@ -463,7 +462,9 @@ describe('IgxMonthPicker', () => {
[viewDate]="viewDate"
[formatOptions]="formatOptions"
[locale]="locale">
- `
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxMonthPickerComponent]
})
export class IgxMonthPickerSampleComponent {
@ViewChild(IgxMonthPickerComponent, { static: true }) public monthPicker: IgxMonthPickerComponent;
@@ -472,7 +473,7 @@ export class IgxMonthPickerSampleComponent {
public viewDate = new Date(2019, 1, 7);
public locale = 'en';
- public formatOptions = {
+ public formatOptions: IFormattingOptions = {
day: 'numeric',
month: 'short',
weekday: 'short',
diff --git a/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.ts b/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.ts
index 2e3db498dfd..e714a338f13 100644
--- a/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.ts
+++ b/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.ts
@@ -6,14 +6,17 @@ import {
Input,
ElementRef
} from '@angular/core';
+import { NgIf, NgStyle } from '@angular/common';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { trigger, transition, useAnimation } from '@angular/animations';
+
import { fadeIn, scaleInCenter, slideInLeft, slideInRight } from '../../animations/main';
import { IgxMonthsViewComponent } from '../months-view/months-view.component';
-import { IgxMonthPickerBaseDirective, IgxCalendarView } from '../month-picker-base';
+import { IgxMonthPickerBaseDirective } from './month-picker-base';
import { IgxYearsViewComponent } from '../years-view/years-view.component';
import { IgxDaysViewComponent } from '../days-view/days-view.component';
-import { ScrollMonth } from '../calendar-base';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { IgxCalendarView, ScrollMonth } from '../calendar';
let NEXT_ID = 0;
@Component({
@@ -48,7 +51,9 @@ let NEXT_ID = 0;
])
],
selector: 'igx-month-picker',
- templateUrl: 'month-picker.component.html'
+ templateUrl: 'month-picker.component.html',
+ standalone: true,
+ imports: [NgIf, NgStyle, IgxIconComponent, IgxMonthsViewComponent, IgxYearsViewComponent]
})
export class IgxMonthPickerComponent extends IgxMonthPickerBaseDirective {
/**
diff --git a/projects/igniteui-angular/src/lib/calendar/months-view.pipe.ts b/projects/igniteui-angular/src/lib/calendar/months-view.pipe.ts
index 9ce51f46f69..447edf0d7d3 100644
--- a/projects/igniteui-angular/src/lib/calendar/months-view.pipe.ts
+++ b/projects/igniteui-angular/src/lib/calendar/months-view.pipe.ts
@@ -1,8 +1,12 @@
import { Pipe, PipeTransform } from '@angular/core';
import { Calendar } from './calendar';
+/**
+ * @hidden
+ */
@Pipe({
- name: 'IgxMonthViewSlots'
+ name: 'IgxMonthViewSlots',
+ standalone: true
})
export class IgxMonthViewSlotsCalendar implements PipeTransform {
public transform(monthViews: number) {
@@ -10,8 +14,12 @@ export class IgxMonthViewSlotsCalendar implements PipeTransform {
}
}
+/**
+ * @hidden
+ */
@Pipe({
- name: 'IgxGetViewDate'
+ name: 'IgxGetViewDate',
+ standalone: true
})
export class IgxGetViewDateCalendar implements PipeTransform {
private calendar: Calendar;
diff --git a/projects/igniteui-angular/src/lib/calendar/months-view/months-view.component.ts b/projects/igniteui-angular/src/lib/calendar/months-view/months-view.component.ts
index 0ce616701cc..32d943cd9b4 100644
--- a/projects/igniteui-angular/src/lib/calendar/months-view/months-view.component.ts
+++ b/projects/igniteui-angular/src/lib/calendar/months-view/months-view.component.ts
@@ -13,13 +13,16 @@ import { Calendar } from '../calendar';
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
import { IgxCalendarMonthDirective } from '../calendar.directives';
import { noop } from 'rxjs';
+import { NgFor, TitleCasePipe, DatePipe } from '@angular/common';
let NEXT_ID = 0;
@Component({
providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxMonthsViewComponent, multi: true }],
selector: 'igx-months-view',
- templateUrl: 'months-view.component.html'
+ templateUrl: 'months-view.component.html',
+ standalone: true,
+ imports: [NgFor, IgxCalendarMonthDirective, TitleCasePipe, DatePipe]
})
export class IgxMonthsViewComponent implements ControlValueAccessor {
/**
diff --git a/projects/igniteui-angular/src/lib/calendar/public_api.ts b/projects/igniteui-angular/src/lib/calendar/public_api.ts
index c1573a08cc9..08ceffccb57 100644
--- a/projects/igniteui-angular/src/lib/calendar/public_api.ts
+++ b/projects/igniteui-angular/src/lib/calendar/public_api.ts
@@ -1,10 +1,28 @@
+import { IgxCalendarComponent } from './calendar.component';
+import { IgxCalendarHeaderTemplateDirective, IgxCalendarMonthDirective, IgxCalendarSubheaderTemplateDirective, IgxCalendarYearDirective } from './calendar.directives';
+import { IgxDaysViewComponent } from './days-view/days-view.component';
+import { IgxMonthPickerComponent } from './month-picker/month-picker.component';
+import { IgxMonthsViewComponent } from './months-view/months-view.component';
+import { IgxYearsViewComponent } from './years-view/years-view.component';
+
export * from './calendar';
-export * from './calendar-base';
export * from './calendar.component';
+export * from './calendar.directives';
export * from './days-view/days-view.component';
export * from './months-view/months-view.component';
export * from './years-view/years-view.component';
export * from './month-picker/month-picker.component';
-export * from './month-picker-base';
-export * from './calendar.directives';
-export * from './calendar.module';
+
+/* NOTE: Calendar directives collection for ease-of-use import in standalone components scenario */
+export const IGX_CALENDAR_DIRECTIVES = [
+ IgxCalendarComponent,
+ IgxDaysViewComponent,
+ IgxMonthsViewComponent,
+ IgxYearsViewComponent,
+ IgxMonthPickerComponent,
+ IgxCalendarHeaderTemplateDirective,
+ IgxCalendarMonthDirective,
+ IgxCalendarYearDirective,
+ IgxCalendarSubheaderTemplateDirective
+] as const;
+
diff --git a/projects/igniteui-angular/src/lib/calendar/years-view/years-view.component.ts b/projects/igniteui-angular/src/lib/calendar/years-view/years-view.component.ts
index ee34740b765..617b2362493 100644
--- a/projects/igniteui-angular/src/lib/calendar/years-view/years-view.component.ts
+++ b/projects/igniteui-angular/src/lib/calendar/years-view/years-view.component.ts
@@ -15,6 +15,7 @@ import { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';
import { HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
import { IgxCalendarYearDirective } from '../calendar.directives';
import { noop } from 'rxjs';
+import { NgFor } from '@angular/common';
@Injectable()
export class CalendarHammerConfig extends HammerGestureConfig {
@@ -36,7 +37,9 @@ export class CalendarHammerConfig extends HammerGestureConfig {
}
],
selector: 'igx-years-view',
- templateUrl: 'years-view.component.html'
+ templateUrl: 'years-view.component.html',
+ standalone: true,
+ imports: [NgFor, IgxCalendarYearDirective]
})
export class IgxYearsViewComponent implements ControlValueAccessor {
/**
diff --git a/projects/igniteui-angular/src/lib/card/card.component.ts b/projects/igniteui-angular/src/lib/card/card.component.ts
index d91d28cc401..119e5f9fa22 100644
--- a/projects/igniteui-angular/src/lib/card/card.component.ts
+++ b/projects/igniteui-angular/src/lib/card/card.component.ts
@@ -1,4 +1,3 @@
-import { CommonModule } from '@angular/common';
import {
Component,
Directive,
@@ -6,12 +5,11 @@ import {
Optional,
Inject,
Input,
- NgModule,
OnInit,
OnChanges,
SimpleChanges
} from '@angular/core';
-import { IgxButtonModule } from '../directives/button/button.directive';
+
import { mkenum } from '../core/utils';
let NEXT_ID = 0;
@@ -22,7 +20,8 @@ let NEXT_ID = 0;
*/
@Directive({
// eslint-disable-next-line @angular-eslint/directive-selector
- selector: 'igx-card-media'
+ selector: 'igx-card-media',
+ standalone: true
})
export class IgxCardMediaDirective {
/** @hidden @internal */
@@ -69,7 +68,8 @@ export class IgxCardMediaDirective {
*/
@Component({
selector: 'igx-card-header',
- templateUrl: 'card-header.component.html'
+ templateUrl: 'card-header.component.html',
+ standalone: true
})
export class IgxCardHeaderComponent {
/** @hidden @internal */
@@ -95,7 +95,8 @@ export class IgxCardHeaderComponent {
* Use it to wrap anything you want to be used as a thumbnail.
*/
@Directive({
- selector: '[igxCardThumbnail]'
+ selector: '[igxCardThumbnail]',
+ standalone: true
})
export class IgxCardThumbnailDirective { }
@@ -104,7 +105,8 @@ export class IgxCardThumbnailDirective { }
* Use it to tag text nodes.
*/
@Directive({
- selector: '[igxCardHeaderTitle]'
+ selector: '[igxCardHeaderTitle]',
+ standalone: true
})
export class IgxCardHeaderTitleDirective {
/** @hidden @internal */
@@ -117,7 +119,8 @@ export class IgxCardHeaderTitleDirective {
* Use it to tag text nodes.
*/
@Directive({
- selector: '[igxCardHeaderSubtitle]'
+ selector: '[igxCardHeaderSubtitle]',
+ standalone: true
})
export class IgxCardHeaderSubtitleDirective {
/** @hidden @internal */
@@ -129,7 +132,8 @@ export class IgxCardHeaderSubtitleDirective {
*/
@Directive({
// eslint-disable-next-line @angular-eslint/directive-selector
- selector: 'igx-card-content'
+ selector: 'igx-card-content',
+ standalone: true
})
export class IgxCardContentDirective {
/** @hidden @internal */
@@ -142,7 +146,8 @@ export class IgxCardContentDirective {
*/
@Directive({
// eslint-disable-next-line @angular-eslint/directive-selector
- selector: 'igx-card-footer'
+ selector: 'igx-card-footer',
+ standalone: true
})
export class IgxCardFooterDirective {
/**
@@ -197,7 +202,8 @@ export type IgxCardType = (typeof IgxCardType)[keyof typeof IgxCardType];
@Component({
selector: 'igx-card',
- templateUrl: 'card.component.html'
+ templateUrl: 'card.component.html',
+ standalone: true
})
export class IgxCardComponent {
/**
@@ -278,7 +284,8 @@ export type IgxCardActionsLayout = (typeof IgxCardActionsLayout)[keyof typeof Ig
@Component({
// eslint-disable-next-line @angular-eslint/directive-selector
selector: 'igx-card-actions',
- templateUrl: 'card-actions.component.html'
+ templateUrl: 'card-actions.component.html',
+ standalone: true
})
export class IgxCardActionsComponent implements OnInit, OnChanges {
/**
@@ -315,7 +322,7 @@ export class IgxCardActionsComponent implements OnInit, OnChanges {
/**
* @deprecated in version 15.1.0.
- *
+ *
* An @Input property that reverses the order of the buttons in the actions area.
*
* @example
@@ -350,36 +357,7 @@ export class IgxCardActionsComponent implements OnInit, OnChanges {
public ngOnInit() {
if (!this.isVerticalSet && this.card.horizontal) {
this.vertical = true;
- };
+ }
}
}
-/**
- * @hidden
- */
-@NgModule({
- declarations: [
- IgxCardComponent,
- IgxCardHeaderComponent,
- IgxCardMediaDirective,
- IgxCardContentDirective,
- IgxCardActionsComponent,
- IgxCardFooterDirective,
- IgxCardHeaderTitleDirective,
- IgxCardHeaderSubtitleDirective,
- IgxCardThumbnailDirective,
- ],
- exports: [
- IgxCardComponent,
- IgxCardHeaderComponent,
- IgxCardMediaDirective,
- IgxCardContentDirective,
- IgxCardActionsComponent,
- IgxCardFooterDirective,
- IgxCardHeaderTitleDirective,
- IgxCardHeaderSubtitleDirective,
- IgxCardThumbnailDirective,
- ],
- imports: [CommonModule, IgxButtonModule]
-})
-export class IgxCardModule { }
diff --git a/projects/igniteui-angular/src/lib/card/card.module.ts b/projects/igniteui-angular/src/lib/card/card.module.ts
new file mode 100644
index 00000000000..19d252da76f
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/card/card.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IGX_CARD_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ ...IGX_CARD_DIRECTIVES
+ ],
+ exports: [
+ ...IGX_CARD_DIRECTIVES
+ ]
+})
+export class IgxCardModule { }
diff --git a/projects/igniteui-angular/src/lib/card/card.spec.ts b/projects/igniteui-angular/src/lib/card/card.spec.ts
index f933a0d1ccc..041ebe3ef9b 100644
--- a/projects/igniteui-angular/src/lib/card/card.spec.ts
+++ b/projects/igniteui-angular/src/lib/card/card.spec.ts
@@ -2,7 +2,6 @@ import { Component, ViewChild } from '@angular/core';
import { TestBed, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import {
- IgxCardModule,
IgxCardComponent,
IgxCardType,
IgxCardThumbnailDirective,
@@ -10,14 +9,17 @@ import {
IgxCardHeaderSubtitleDirective,
IgxCardActionsComponent,
IgxCardMediaDirective,
+ IgxCardHeaderComponent,
+ IgxCardContentDirective,
} from './card.component';
-import { IgxButtonModule } from '../directives/button/button.directive';
-import { IgxIconModule } from '../icon/public_api';
import { configureTestSuite } from '../test-utils/configure-suite';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { IgxIconComponent } from '../icon/icon.component';
describe('Card', () => {
configureTestSuite();
+ // TODO: Refactor card tests to reuse components
const baseClass = 'igx-card';
const classes = {
@@ -64,17 +66,12 @@ describe('Card', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
InitCardComponent,
InitOutlinedCardComponent,
CardWithHeaderComponent,
VerticalCardComponent,
HorizontalCardComponent
- ],
- imports: [
- IgxCardModule,
- IgxIconModule,
- IgxButtonModule
]
}).compileComponents();
}));
@@ -262,12 +259,16 @@ describe('Card', () => {
});
@Component({
- template: ` `
+ template: ` `,
+ standalone: true,
+ imports: [IgxCardComponent]
})
class InitCardComponent { }
@Component({
- template: ` `
+ template: ` `,
+ standalone: true,
+ imports: [IgxCardComponent]
})
class InitOutlinedCardComponent {
@ViewChild(IgxCardComponent, { static: true })
@@ -277,7 +278,9 @@ class InitOutlinedCardComponent {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxCardComponent, IgxCardHeaderComponent]
})
class CardWithHeaderComponent { }
@@ -301,21 +304,37 @@ class CardWithHeaderComponent { }
home
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxCardComponent,
+ IgxCardMediaDirective,
+ IgxCardHeaderComponent,
+ IgxCardThumbnailDirective,
+ IgxCardHeaderTitleDirective,
+ IgxCardHeaderSubtitleDirective,
+ IgxCardContentDirective,
+ IgxCardActionsComponent,
+ IgxButtonDirective,
+ IgxIconComponent
+ ]
})
class VerticalCardComponent {
@ViewChild(IgxCardMediaDirective, { static: true }) public media: IgxCardMediaDirective;
}
@Component({
- template: `
+ template: `
+
Test
home
- `
+ `,
+ standalone: true,
+ imports: [IgxCardComponent, IgxCardActionsComponent, IgxButtonDirective, IgxIconComponent]
})
class HorizontalCardComponent {
@ViewChild(IgxCardComponent, { static: true }) public card: IgxCardComponent;
diff --git a/projects/igniteui-angular/src/lib/card/public_api.ts b/projects/igniteui-angular/src/lib/card/public_api.ts
new file mode 100644
index 00000000000..c243c9588c2
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/card/public_api.ts
@@ -0,0 +1,26 @@
+import {
+ IgxCardActionsComponent,
+ IgxCardComponent,
+ IgxCardContentDirective,
+ IgxCardFooterDirective,
+ IgxCardHeaderComponent,
+ IgxCardHeaderSubtitleDirective,
+ IgxCardHeaderTitleDirective,
+ IgxCardMediaDirective,
+ IgxCardThumbnailDirective
+} from './card.component';
+
+export * from './card.component';
+
+/* NOTE: Card directives collection for ease-of-use import in standalone components scenario */
+export const IGX_CARD_DIRECTIVES = [
+ IgxCardComponent,
+ IgxCardHeaderComponent,
+ IgxCardMediaDirective,
+ IgxCardContentDirective,
+ IgxCardActionsComponent,
+ IgxCardFooterDirective,
+ IgxCardHeaderTitleDirective,
+ IgxCardHeaderSubtitleDirective,
+ IgxCardThumbnailDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/carousel/carousel.component.spec.ts b/projects/igniteui-angular/src/lib/carousel/carousel.component.spec.ts
index 612fba3d567..dc7926d28f3 100644
--- a/projects/igniteui-angular/src/lib/carousel/carousel.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/carousel/carousel.component.spec.ts
@@ -3,7 +3,6 @@ import { TestBed, fakeAsync, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import {
IgxCarouselComponent,
- IgxCarouselModule,
ISlideEventArgs,
CarouselIndicatorsOrientation
} from './carousel.component';
@@ -12,6 +11,8 @@ import { configureTestSuite } from '../test-utils/configure-suite';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxSlideComponent } from './slide.component';
import { HorizontalAnimationType } from './carousel-base';
+import { IgxCarouselIndicatorDirective, IgxCarouselNextButtonDirective, IgxCarouselPrevButtonDirective } from './carousel.directives';
+import { NgFor, NgIf } from '@angular/common';
describe('Carousel', () => {
configureTestSuite();
@@ -20,16 +21,15 @@ describe('Carousel', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
CarouselTestComponent,
CarouselTemplateSetInMarkupTestComponent,
CarouselTemplateSetInTypescriptTestComponent,
CarouselAnimationsComponent,
CarouselDynamicSlidesComponent
- ],
- imports: [IgxCarouselModule, NoopAnimationsModule]
- })
- .compileComponents();
+ ]
+ }).compileComponents();
}));
describe('Base Tests: ', () => {
@@ -939,7 +939,9 @@ class HelperTestFunctions {
Slide3
Slide4
- `
+ `,
+ standalone: true,
+ imports: [IgxCarouselComponent, IgxSlideComponent]
})
class CarouselTestComponent {
@ViewChild('carousel', { static: true }) public carousel: IgxCarouselComponent;
@@ -957,7 +959,9 @@ class CarouselTestComponent {
Slide3
Slide4
- `
+ `,
+ standalone: true,
+ imports: [IgxCarouselComponent, IgxSlideComponent]
})
class CarouselAnimationsComponent {
@ViewChild('carousel', { static: true }) public carousel: IgxCarouselComponent;
@@ -984,7 +988,9 @@ class CarouselAnimationsComponent {
prev
- `
+ `,
+ standalone: true,
+ imports: [IgxCarouselComponent, IgxSlideComponent, IgxCarouselIndicatorDirective, IgxCarouselNextButtonDirective, IgxCarouselPrevButtonDirective]
})
class CarouselTemplateSetInMarkupTestComponent {
@ViewChild('carousel', { static: true }) public carousel: IgxCarouselComponent;
@@ -1015,7 +1021,9 @@ class CarouselTemplateSetInMarkupTestComponent {
Slide3
Slide4
- `
+ `,
+ standalone: true,
+ imports: [IgxCarouselComponent, IgxSlideComponent, NgIf]
})
class CarouselTemplateSetInTypescriptTestComponent {
@ViewChild('carousel', { static: true }) public carousel: IgxCarouselComponent;
@@ -1032,11 +1040,13 @@ class CarouselTemplateSetInTypescriptTestComponent {
@Component({
template: `
-
+
{{slide.text}}
- `
+ `,
+ standalone: true,
+ imports: [IgxCarouselComponent, IgxSlideComponent, NgFor]
})
class CarouselDynamicSlidesComponent {
@ViewChild('carousel', { static: true }) public carousel: IgxCarouselComponent;
diff --git a/projects/igniteui-angular/src/lib/carousel/carousel.component.ts b/projects/igniteui-angular/src/lib/carousel/carousel.component.ts
index 7d50fffa13d..2cccb2422e8 100644
--- a/projects/igniteui-angular/src/lib/carousel/carousel.component.ts
+++ b/projects/igniteui-angular/src/lib/carousel/carousel.component.ts
@@ -1,4 +1,4 @@
-import { CommonModule } from '@angular/common';
+import { NgIf, NgClass, NgFor, NgTemplateOutlet } from '@angular/common';
import {
AfterContentInit,
ChangeDetectorRef,
@@ -15,7 +15,6 @@ import {
IterableChangeRecord,
IterableDiffer,
IterableDiffers,
- NgModule,
OnDestroy,
Output,
QueryList,
@@ -28,12 +27,13 @@ import { takeUntil } from 'rxjs/operators';
import { ICarouselResourceStrings } from '../core/i18n/carousel-resources';
import { CurrentResourceStrings } from '../core/i18n/resources';
import { IBaseEventArgs, mkenum, PlatformUtil } from '../core/utils';
-import { IgxIconModule } from '../icon/public_api';
+
import { IgxAngularAnimationService } from '../services/animation/angular-animation-service';
import { AnimationService } from '../services/animation/animation';
import { Direction, HorizontalAnimationType, IgxCarouselComponentBase } from './carousel-base';
import { IgxCarouselIndicatorDirective, IgxCarouselNextButtonDirective, IgxCarouselPrevButtonDirective } from './carousel.directives';
import { IgxSlideComponent } from './slide.component';
+import { IgxIconComponent } from '../icon/icon.component';
let NEXT_ID = 0;
@@ -83,7 +83,9 @@ export class CarouselHammerConfig extends HammerGestureConfig {
:host {
display: block;
outline-style: none;
- }`]
+ }`],
+ standalone: true,
+ imports: [IgxIconComponent, NgIf, NgClass, NgFor, NgTemplateOutlet]
})
export class IgxCarouselComponent extends IgxCarouselComponentBase implements OnDestroy, AfterContentInit {
@@ -1026,26 +1028,3 @@ export interface ISlideEventArgs extends IBaseEventArgs {
carousel: IgxCarouselComponent;
slide: IgxSlideComponent;
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [
- IgxCarouselComponent,
- IgxSlideComponent,
- IgxCarouselIndicatorDirective,
- IgxCarouselNextButtonDirective,
- IgxCarouselPrevButtonDirective
- ],
- exports: [
- IgxCarouselComponent,
- IgxSlideComponent,
- IgxCarouselIndicatorDirective,
- IgxCarouselNextButtonDirective,
- IgxCarouselPrevButtonDirective
- ],
- imports: [CommonModule, IgxIconModule]
-})
-export class IgxCarouselModule {
-}
diff --git a/projects/igniteui-angular/src/lib/carousel/carousel.directives.ts b/projects/igniteui-angular/src/lib/carousel/carousel.directives.ts
index 366d6fcc03e..3803cd6cc75 100644
--- a/projects/igniteui-angular/src/lib/carousel/carousel.directives.ts
+++ b/projects/igniteui-angular/src/lib/carousel/carousel.directives.ts
@@ -1,19 +1,22 @@
import { Directive } from '@angular/core';
@Directive({
- selector: '[igxCarouselIndicator]'
+ selector: '[igxCarouselIndicator]',
+ standalone: true
})
export class IgxCarouselIndicatorDirective {
}
@Directive({
- selector: '[igxCarouselNextButton]'
+ selector: '[igxCarouselNextButton]',
+ standalone: true
})
export class IgxCarouselNextButtonDirective {
}
@Directive({
- selector: '[igxCarouselPrevButton]'
+ selector: '[igxCarouselPrevButton]',
+ standalone: true
})
export class IgxCarouselPrevButtonDirective {
}
diff --git a/projects/igniteui-angular/src/lib/carousel/carousel.module.ts b/projects/igniteui-angular/src/lib/carousel/carousel.module.ts
new file mode 100644
index 00000000000..a12ed7eb531
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/carousel/carousel.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { IGX_CAROUSEL_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ ...IGX_CAROUSEL_DIRECTIVES
+ ],
+ exports: [
+ ...IGX_CAROUSEL_DIRECTIVES
+ ]
+})
+export class IgxCarouselModule {
+}
diff --git a/projects/igniteui-angular/src/lib/carousel/public_api.ts b/projects/igniteui-angular/src/lib/carousel/public_api.ts
index 619ce8843f6..e9d09055084 100644
--- a/projects/igniteui-angular/src/lib/carousel/public_api.ts
+++ b/projects/igniteui-angular/src/lib/carousel/public_api.ts
@@ -1,4 +1,17 @@
-export * from './carousel-base';
+import { IgxCarouselComponent } from './carousel.component';
+import { IgxCarouselIndicatorDirective, IgxCarouselNextButtonDirective, IgxCarouselPrevButtonDirective } from './carousel.directives';
+import { IgxSlideComponent } from './slide.component';
+
+export { Direction, HorizontalAnimationType, CarouselAnimationSettings } from './carousel-base';
export * from './carousel.component';
export * from './slide.component';
export * from './carousel.directives';
+
+/* NOTE: Carousel directives collection for ease-of-use import in standalone components scenario */
+export const IGX_CAROUSEL_DIRECTIVES = [
+ IgxCarouselComponent,
+ IgxSlideComponent,
+ IgxCarouselIndicatorDirective,
+ IgxCarouselNextButtonDirective,
+ IgxCarouselPrevButtonDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/carousel/slide.component.ts b/projects/igniteui-angular/src/lib/carousel/slide.component.ts
index da25be022f6..ea7c4769863 100644
--- a/projects/igniteui-angular/src/lib/carousel/slide.component.ts
+++ b/projects/igniteui-angular/src/lib/carousel/slide.component.ts
@@ -16,7 +16,8 @@ import { Direction, IgxSlideComponentBase } from './carousel-base';
*/
@Component({
selector: 'igx-slide',
- templateUrl: 'slide.component.html'
+ templateUrl: 'slide.component.html',
+ standalone: true
})
export class IgxSlideComponent implements AfterContentChecked, OnDestroy, IgxSlideComponentBase {
diff --git a/projects/igniteui-angular/src/lib/checkbox/checkbox.component.spec.ts b/projects/igniteui-angular/src/lib/checkbox/checkbox.component.spec.ts
index c9f0fb9e9e0..e24e574d27b 100644
--- a/projects/igniteui-angular/src/lib/checkbox/checkbox.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/checkbox/checkbox.component.spec.ts
@@ -2,7 +2,6 @@ import { Component, ViewChild } from '@angular/core';
import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { UntypedFormBuilder, FormsModule, ReactiveFormsModule, Validators, NgForm } from '@angular/forms';
import { By } from '@angular/platform-browser';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
import { IgxCheckboxComponent } from './checkbox.component';
import { configureTestSuite } from '../test-utils/configure-suite';
@@ -12,7 +11,8 @@ describe('IgxCheckbox', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
InitCheckboxComponent,
CheckboxSimpleComponent,
CheckboxReadonlyComponent,
@@ -24,8 +24,7 @@ describe('IgxCheckbox', () => {
CheckboxFormComponent,
CheckboxFormGroupComponent,
IgxCheckboxComponent
- ],
- imports: [FormsModule, ReactiveFormsModule, IgxRippleModule, NoopAnimationsModule]
+ ]
}).compileComponents();
}));
@@ -413,14 +412,20 @@ describe('IgxCheckbox', () => {
});
});
-@Component({ template: `Init ` })
+@Component({
+ template: `Init `,
+ standalone: true,
+ imports: [IgxCheckboxComponent]
+})
class InitCheckboxComponent {
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
}
@Component({
template: `Simple `
+ [(ngModel)]="subscribed">Simple`,
+ standalone: true,
+ imports: [IgxCheckboxComponent, FormsModule]
})
class CheckboxSimpleComponent {
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
@@ -438,7 +443,10 @@ class CheckboxSimpleComponent {
template: `Indeterminate `})
+ >Indeterminate`,
+ standalone: true,
+ imports: [IgxCheckboxComponent, FormsModule]
+})
class CheckboxIndeterminateComponent {
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
@@ -446,7 +454,9 @@ class CheckboxIndeterminateComponent {
}
@Component({
- template: `Required `
+ template: `Required `,
+ standalone: true,
+ imports: [IgxCheckboxComponent]
})
class CheckboxRequiredComponent {
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
@@ -457,7 +467,10 @@ class CheckboxRequiredComponent {
[(ngModel)]="subscribed"
[checked]="subscribed"
[indeterminate]="true"
- [readonly]="true">Readonly`})
+ [readonly]="true">Readonly`,
+ standalone: true,
+ imports: [IgxCheckboxComponent, FormsModule]
+})
class CheckboxReadonlyComponent {
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
@@ -466,7 +479,9 @@ class CheckboxReadonlyComponent {
@Component({
template: `{{label}}
- `
+ `,
+ standalone: true,
+ imports: [IgxCheckboxComponent]
})
class CheckboxExternalLabelComponent {
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
@@ -474,7 +489,9 @@ class CheckboxExternalLabelComponent {
}
@Component({
- template: ` `
+ template: ` `,
+ standalone: true,
+ imports: [IgxCheckboxComponent]
})
class CheckboxInvisibleLabelComponent {
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
@@ -482,14 +499,18 @@ class CheckboxInvisibleLabelComponent {
}
@Component({
- template: ` `
+ template: ` `,
+ standalone: true,
+ imports: [IgxCheckboxComponent]
})
class CheckboxDisabledTransitionsComponent {
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
}
@Component({
- template: ``
+ template: ``,
+ standalone: true,
+ imports: [IgxCheckboxComponent, ReactiveFormsModule]
})
class CheckboxFormGroupComponent {
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
@@ -503,7 +524,9 @@ class CheckboxFormGroupComponent {
-`
+ `,
+ standalone: true,
+ imports: [IgxCheckboxComponent, FormsModule]
})
class CheckboxFormComponent {
@ViewChild('checkbox', { read: IgxCheckboxComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/checkbox/checkbox.component.ts b/projects/igniteui-angular/src/lib/checkbox/checkbox.component.ts
index d3d11d854e4..f7eda5d15ce 100644
--- a/projects/igniteui-angular/src/lib/checkbox/checkbox.component.ts
+++ b/projects/igniteui-angular/src/lib/checkbox/checkbox.component.ts
@@ -4,7 +4,6 @@ import {
HostListener,
HostBinding,
Input,
- NgModule,
Output,
ViewChild,
ElementRef,
@@ -12,10 +11,10 @@ import {
ChangeDetectorRef,
Renderer2,
Optional,
- Self,
+ Self
} from '@angular/core';
import { ControlValueAccessor, NgControl, Validators } from '@angular/forms';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
+import { IgxRippleDirective } from '../directives/ripple/ripple.directive';
import { IBaseEventArgs, mkenum } from '../core/utils';
import { EditorProvider, EDITOR_PROVIDER } from '../core/edit-provider';
import { noop, Subject } from 'rxjs';
@@ -58,12 +57,14 @@ let nextId = 0;
@Component({
selector: 'igx-checkbox',
providers: [{
- provide: EDITOR_PROVIDER,
- useExisting: IgxCheckboxComponent,
+ provide: EDITOR_PROVIDER,
+ useExisting: IgxCheckboxComponent,
multi: true
}],
preserveWhitespaces: false,
- templateUrl: 'checkbox.component.html'
+ templateUrl: 'checkbox.component.html',
+ standalone: true,
+ imports: [IgxRippleDirective]
})
export class IgxCheckboxComponent implements EditorProvider, AfterViewInit, ControlValueAccessor {
private static ngAcceptInputType_required: boolean | '';
@@ -607,13 +608,3 @@ export class IgxCheckboxComponent implements EditorProvider, AfterViewInit, Cont
}
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxCheckboxComponent],
- exports: [IgxCheckboxComponent],
- imports: [IgxRippleModule]
-})
-export class IgxCheckboxModule {}
diff --git a/projects/igniteui-angular/src/lib/checkbox/checkbox.module.ts b/projects/igniteui-angular/src/lib/checkbox/checkbox.module.ts
new file mode 100644
index 00000000000..5ad2cd5dbe9
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/checkbox/checkbox.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxCheckboxComponent } from './checkbox.component';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxCheckboxComponent],
+ exports: [IgxCheckboxComponent]
+})
+export class IgxCheckboxModule {}
diff --git a/projects/igniteui-angular/src/lib/chips/chip.component.ts b/projects/igniteui-angular/src/lib/chips/chip.component.ts
index 10e8ebc2ee7..e1a19a1e049 100644
--- a/projects/igniteui-angular/src/lib/chips/chip.component.ts
+++ b/projects/igniteui-angular/src/lib/chips/chip.component.ts
@@ -14,19 +14,15 @@
Optional,
OnDestroy
} from '@angular/core';
-import { IDisplayDensityOptions, DisplayDensityToken, DisplayDensityBase } from '../core/displayDensity';
-import {
- IgxDragDirective,
- IDragBaseEventArgs,
- IDragStartEventArgs,
- IDropBaseEventArgs,
- IDropDroppedEventArgs
-} from '../directives/drag-drop/drag-drop.directive';
+import { IDisplayDensityOptions, DisplayDensityToken, DisplayDensityBase } from '../core/density';
+import { IgxDragDirective, IDragBaseEventArgs, IDragStartEventArgs, IDropBaseEventArgs, IDropDroppedEventArgs, IgxDropDirective } from '../directives/drag-drop/drag-drop.directive';
import { IBaseEventArgs } from '../core/utils';
import { IChipResourceStrings } from '../core/i18n/chip-resources';
import { CurrentResourceStrings } from '../core/i18n/resources';
import { fromEvent, Subject } from 'rxjs';
import { take, filter } from 'rxjs/operators';
+import { IgxIconComponent } from '../icon/icon.component';
+import { NgClass, NgTemplateOutlet, NgIf } from '@angular/common';
export interface IBaseChipEventArgs extends IBaseEventArgs {
originalEvent: IDragBaseEventArgs | IDropBaseEventArgs | KeyboardEvent | MouseEvent | TouchEvent;
@@ -78,7 +74,9 @@ let CHIP_ID = 0;
*/
@Component({
selector: 'igx-chip',
- templateUrl: 'chip.component.html'
+ templateUrl: 'chip.component.html',
+ standalone: true,
+ imports: [IgxDropDirective, IgxDragDirective, NgClass, NgTemplateOutlet, NgIf, IgxIconComponent]
})
export class IgxChipComponent extends DisplayDensityBase implements OnDestroy {
/**
@@ -591,7 +589,7 @@ export class IgxChipComponent extends DisplayDensityBase implements OnDestroy {
}
public onSelectTransitionDone(event) {
- if (!!event.target.tagName) {
+ if (event.target.tagName) {
// Trigger onSelectionDone on when `width` property is changed and the target is valid element(not comment).
this.selectedChanged.emit({
owner: this,
diff --git a/projects/igniteui-angular/src/lib/chips/chip.spec.ts b/projects/igniteui-angular/src/lib/chips/chip.spec.ts
index 173a433c088..1fef7aad5ef 100644
--- a/projects/igniteui-angular/src/lib/chips/chip.spec.ts
+++ b/projects/igniteui-angular/src/lib/chips/chip.spec.ts
@@ -1,18 +1,17 @@
import { Component, ViewChild, ViewChildren, QueryList, ChangeDetectorRef } from '@angular/core';
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
-import { FormsModule } from '@angular/forms';
import { By } from '@angular/platform-browser';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxChipsModule } from './chips.module';
import { IgxChipComponent } from './chip.component';
import { IgxChipsAreaComponent } from './chips-area.component';
import { IgxPrefixDirective } from './../directives/prefix/prefix.directive';
import { IgxLabelDirective } from './../directives/label/label.directive';
import { IgxSuffixDirective } from './../directives/suffix/suffix.directive';
-import { DisplayDensity } from '../core/displayDensity';
+import { DisplayDensity } from '../core/density';
import { UIInteractions, wait } from '../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../test-utils/configure-suite';
import { ControlsFunction } from '../test-utils/controls-functions.spec';
+import { IgxIconComponent } from '../icon/icon.component';
+import { NgFor } from '@angular/common';
@Component({
template: `
@@ -40,7 +39,9 @@ import { ControlsFunction } from '../test-utils/controls-functions.spec';
Tab Chip
- `
+ `,
+ standalone: true,
+ imports: [IgxChipComponent, IgxChipsAreaComponent, IgxIconComponent, IgxPrefixDirective, NgFor]
})
class TestChipComponent {
@@ -73,7 +74,9 @@ class TestChipComponent {
suf
- `
+ `,
+ standalone: true,
+ imports: [IgxChipsAreaComponent, IgxChipComponent, IgxLabelDirective, IgxSuffixDirective, NgFor]
})
class TestChipsLabelAndSuffixComponent {
@@ -107,12 +110,7 @@ describe('IgxChip', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestChipComponent,
- TestChipsLabelAndSuffixComponent,
- IgxLabelDirective
- ],
- imports: [FormsModule, IgxIconModule, IgxChipsModule]
+ imports: [TestChipComponent, TestChipsLabelAndSuffixComponent]
}).compileComponents();
}));
diff --git a/projects/igniteui-angular/src/lib/chips/chips-area.component.ts b/projects/igniteui-angular/src/lib/chips/chips-area.component.ts
index f302f556da5..5f6fc37899c 100644
--- a/projects/igniteui-angular/src/lib/chips/chips-area.component.ts
+++ b/projects/igniteui-angular/src/lib/chips/chips-area.component.ts
@@ -63,6 +63,7 @@ export interface IChipsAreaSelectEventArgs extends IBaseChipsAreaEventArgs {
@Component({
selector: 'igx-chips-area',
templateUrl: 'chips-area.component.html',
+ standalone: true
})
export class IgxChipsAreaComponent implements DoCheck, AfterViewInit, OnDestroy {
diff --git a/projects/igniteui-angular/src/lib/chips/chips-area.spec.ts b/projects/igniteui-angular/src/lib/chips/chips-area.spec.ts
index 7d2a559c3bd..cace759c6f6 100644
--- a/projects/igniteui-angular/src/lib/chips/chips-area.spec.ts
+++ b/projects/igniteui-angular/src/lib/chips/chips-area.spec.ts
@@ -1,15 +1,13 @@
import { Component, ViewChild, ViewChildren, QueryList, ChangeDetectorRef } from '@angular/core';
import { TestBed, waitForAsync } from '@angular/core/testing';
-import { FormsModule } from '@angular/forms';
import { By } from '@angular/platform-browser';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxChipsModule } from './chips.module';
-import { IgxPrefixModule } from '../directives/prefix/prefix.directive';
-import { IgxSuffixModule } from '../directives/suffix/suffix.directive';
import { IgxChipComponent } from './chip.component';
import { IgxChipsAreaComponent } from './chips-area.component';
import { configureTestSuite } from '../test-utils/configure-suite';
import { wait, UIInteractions } from '../test-utils/ui-interactions.spec';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxPrefixDirective } from './public_api';
+import { NgFor } from '@angular/common';
@Component({
template: `
@@ -20,7 +18,9 @@ import { wait, UIInteractions } from '../test-utils/ui-interactions.spec';
{{chip.text}}
- `
+ `,
+ standalone: true,
+ imports: [IgxChipsAreaComponent, IgxChipComponent, IgxIconComponent, IgxPrefixDirective, NgFor]
})
class TestChipComponent {
@ViewChild('chipsArea', { read: IgxChipsAreaComponent, static: true })
@@ -50,7 +50,9 @@ class TestChipComponent {
third chip
- `
+ `,
+ standalone: true,
+ imports: [IgxChipsAreaComponent, IgxChipComponent]
})
class TestChipSelectComponent extends TestChipComponent {
}
@@ -64,7 +66,9 @@ class TestChipSelectComponent extends TestChipComponent {
{{chip.text}}
- `
+ `,
+ standalone: true,
+ imports: [IgxChipsAreaComponent, IgxChipComponent, IgxIconComponent, IgxPrefixDirective, NgFor]
})
class TestChipReorderComponent {
@ViewChild('chipsArea', { read: IgxChipsAreaComponent, static: true })
@@ -110,12 +114,11 @@ describe('IgxChipsArea ', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
TestChipComponent,
TestChipReorderComponent,
TestChipSelectComponent
- ],
- imports: [FormsModule, IgxIconModule, IgxChipsModule, IgxPrefixModule, IgxSuffixModule]
+ ]
}).compileComponents();
}));
diff --git a/projects/igniteui-angular/src/lib/chips/chips.module.ts b/projects/igniteui-angular/src/lib/chips/chips.module.ts
index e4e36282313..88e0c339e9a 100644
--- a/projects/igniteui-angular/src/lib/chips/chips.module.ts
+++ b/projects/igniteui-angular/src/lib/chips/chips.module.ts
@@ -1,38 +1,16 @@
-import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
-import { IgxButtonModule } from '../directives/button/button.directive';
-import { IgxAvatarModule } from '../avatar/avatar.component';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxChipComponent } from './chip.component';
-import { IgxChipsAreaComponent } from './chips-area.component';
-import { IgxDragDropModule } from '../directives/drag-drop/drag-drop.directive';
-import { IgxPrefixModule, IgxPrefixDirective} from '../directives/prefix/prefix.directive';
-import { IgxSuffixModule, IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IGX_CHIPS_DIRECTIVES } from './public_api';
/**
* @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
*/
@NgModule({
- declarations: [
- IgxChipsAreaComponent,
- IgxChipComponent
- ],
- exports: [
- IgxChipsAreaComponent,
- IgxChipComponent,
- IgxPrefixDirective,
- IgxSuffixDirective
- ],
- imports: [
- CommonModule,
- IgxRippleModule,
- IgxIconModule,
- IgxButtonModule,
- IgxAvatarModule,
- IgxDragDropModule,
- IgxPrefixModule,
- IgxSuffixModule
- ]
+ exports: [
+ ...IGX_CHIPS_DIRECTIVES
+ ],
+ imports: [
+ ...IGX_CHIPS_DIRECTIVES
+ ]
})
export class IgxChipsModule { }
diff --git a/projects/igniteui-angular/src/lib/chips/public_api.ts b/projects/igniteui-angular/src/lib/chips/public_api.ts
index 98832c937ab..82ae3e9a1b7 100644
--- a/projects/igniteui-angular/src/lib/chips/public_api.ts
+++ b/projects/igniteui-angular/src/lib/chips/public_api.ts
@@ -1,5 +1,17 @@
+import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxChipComponent } from './chip.component';
+import { IgxChipsAreaComponent } from './chips-area.component';
+
export * from './chip.component';
export * from './chips-area.component';
-export * from './chips.module';
export * from '../directives/prefix/prefix.directive';
export * from '../directives/suffix/suffix.directive';
+
+/* NOTE: Chips directives collection for ease-of-use import in standalone components scenario */
+export const IGX_CHIPS_DIRECTIVES = [
+ IgxChipsAreaComponent,
+ IgxChipComponent,
+ IgxPrefixDirective,
+ IgxSuffixDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/combo/combo-add-item.component.ts b/projects/igniteui-angular/src/lib/combo/combo-add-item.component.ts
index 23a6f348e9d..3cde2cd29bc 100644
--- a/projects/igniteui-angular/src/lib/combo/combo-add-item.component.ts
+++ b/projects/igniteui-angular/src/lib/combo/combo-add-item.component.ts
@@ -7,7 +7,8 @@ import { Component } from '@angular/core';
@Component({
selector: 'igx-combo-add-item',
template: ' ',
- providers: [{ provide: IgxComboItemComponent, useExisting: IgxComboAddItemComponent}]
+ providers: [{ provide: IgxComboItemComponent, useExisting: IgxComboAddItemComponent }],
+ standalone: true
})
export class IgxComboAddItemComponent extends IgxComboItemComponent {
public override get selected(): boolean {
diff --git a/projects/igniteui-angular/src/lib/combo/combo-dropdown.component.ts b/projects/igniteui-angular/src/lib/combo/combo-dropdown.component.ts
index 42fc9699677..60d797cb01e 100644
--- a/projects/igniteui-angular/src/lib/combo/combo-dropdown.component.ts
+++ b/projects/igniteui-angular/src/lib/combo/combo-dropdown.component.ts
@@ -11,12 +11,16 @@ import { IgxDropDownItemBaseDirective } from '../drop-down/drop-down-item.base';
import { IgxSelectionAPIService } from '../core/selection';
import { IgxComboItemComponent } from './combo-item.component';
import { DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
+import { NgIf } from '@angular/common';
+import { IgxToggleDirective } from '../directives/toggle/toggle.directive';
/** @hidden */
@Component({
selector: 'igx-combo-drop-down',
templateUrl: '../drop-down/drop-down.component.html',
- providers: [{ provide: IGX_DROPDOWN_BASE, useExisting: IgxComboDropDownComponent }]
+ providers: [{ provide: IGX_DROPDOWN_BASE, useExisting: IgxComboDropDownComponent }],
+ standalone: true,
+ imports: [IgxToggleDirective, NgIf]
})
export class IgxComboDropDownComponent extends IgxDropDownComponent implements IDropDownBase, OnDestroy, AfterViewInit {
/** @hidden @internal */
diff --git a/projects/igniteui-angular/src/lib/combo/combo-item.component.ts b/projects/igniteui-angular/src/lib/combo/combo-item.component.ts
index 13bfdb9e4e7..39a3c43af06 100644
--- a/projects/igniteui-angular/src/lib/combo/combo-item.component.ts
+++ b/projects/igniteui-angular/src/lib/combo/combo-item.component.ts
@@ -10,11 +10,15 @@ import { IGX_DROPDOWN_BASE, IDropDownBase, Navigate } from '../drop-down/drop-do
import { IgxComboAPIService } from './combo.api';
import { IgxSelectionAPIService } from '../core/selection';
import { rem } from '../core/utils';
+import { IgxCheckboxComponent } from '../checkbox/checkbox.component';
+import { NgIf } from '@angular/common';
/** @hidden */
@Component({
selector: 'igx-combo-item',
- templateUrl: 'combo-item.component.html'
+ templateUrl: 'combo-item.component.html',
+ standalone: true,
+ imports: [NgIf, IgxCheckboxComponent]
})
export class IgxComboItemComponent extends IgxDropDownItemComponent {
diff --git a/projects/igniteui-angular/src/lib/combo/combo.common.ts b/projects/igniteui-angular/src/lib/combo/combo.common.ts
index f416ac71735..4334c69371e 100644
--- a/projects/igniteui-angular/src/lib/combo/combo.common.ts
+++ b/projects/igniteui-angular/src/lib/combo/combo.common.ts
@@ -27,12 +27,12 @@ import { AbstractControl, ControlValueAccessor, NgControl } from '@angular/forms
import { caseSensitive } from '@igniteui/material-icons-extended';
import { noop, Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
-import { DisplayDensityBase, DisplayDensityToken, IDisplayDensityOptions } from '../core/displayDensity';
+import { DisplayDensityBase, DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
import { IgxSelectionAPIService } from '../core/selection';
import { CancelableBrowserEventArgs, cloneArray, IBaseCancelableBrowserEventArgs, IBaseEventArgs, isNaNvalue, rem } from '../core/utils';
import { SortingDirection } from '../data-operations/sorting-strategy';
import { IForOfState, IgxForOfDirective } from '../directives/for-of/for_of.directive';
-import { IgxIconService } from '../icon/public_api';
+import { IgxIconService } from '../icon/icon.service';
import { IgxInputGroupType, IGX_INPUT_GROUP_TYPE } from '../input-group/inputGroupType';
import { IgxInputDirective, IgxInputGroupComponent, IgxInputState, IgxLabelDirective, IgxPrefixDirective, IgxSuffixDirective } from '../input-group/public_api';
import { AbsoluteScrollStrategy, AutoPositionStrategy, OverlaySettings } from '../services/public_api';
diff --git a/projects/igniteui-angular/src/lib/combo/combo.component.spec.ts b/projects/igniteui-angular/src/lib/combo/combo.component.spec.ts
index 4a826f8c0e1..ab2ddf37c7a 100644
--- a/projects/igniteui-angular/src/lib/combo/combo.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/combo/combo.component.spec.ts
@@ -1,3 +1,4 @@
+import { AsyncPipe } from '@angular/common';
import { AfterViewInit, ChangeDetectorRef, Component, DebugElement, Injectable, OnDestroy, OnInit, ViewChild } from '@angular/core';
import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing';
import {
@@ -13,9 +14,8 @@ import { IBaseCancelableBrowserEventArgs } from '../core/utils';
import { SortingDirection } from '../data-operations/sorting-strategy';
import { IForOfState } from '../directives/for-of/for_of.directive';
import { IgxInputState } from '../directives/input/input.directive';
-import { IgxToggleModule } from '../directives/toggle/toggle.directive';
-import { IgxDropDownItemBaseDirective } from '../drop-down/public_api';
import { IgxIconService } from '../icon/public_api';
+import { IgxLabelDirective } from '../input-group/public_api';
import { AbsoluteScrollStrategy, ConnectedPositioningStrategy } from '../services/public_api';
import { configureTestSuite } from '../test-utils/configure-suite';
import { UIInteractions, wait } from '../test-utils/ui-interactions.spec';
@@ -24,10 +24,11 @@ import { IgxComboDropDownComponent } from './combo-dropdown.component';
import { IgxComboItemComponent } from './combo-item.component';
import { IComboFilteringOptions, IgxComboState } from './combo.common';
import {
- IComboItemAdditionEvent, IComboSearchInputEventArgs, IComboSelectionChangingEventArgs, IgxComboComponent,
- IgxComboModule
+ IComboItemAdditionEvent, IComboSearchInputEventArgs, IComboSelectionChangingEventArgs, IgxComboComponent
} from './combo.component';
+import { IgxComboFooterDirective, IgxComboHeaderDirective, IgxComboItemDirective } from './combo.directives';
import { IgxComboFilteringPipe } from './combo.pipes';
+import { IgxDropDownItemBaseDirective } from '../drop-down/drop-down-item.base';
const CSS_CLASS_COMBO = 'igx-combo';
const CSS_CLASS_COMBO_DROPDOWN = 'igx-combo__drop-down';
@@ -792,7 +793,8 @@ describe('igxCombo', () => {
describe('Combo feature tests: ', () => {
configureTestSuite(() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxComboSampleComponent,
IgxComboInContainerTestComponent,
IgxComboRemoteDataComponent,
@@ -800,13 +802,6 @@ describe('igxCombo', () => {
IgxComboBindingDataAfterInitComponent,
IgxComboFormComponent,
IgxComboInTemplatedFormComponent
- ],
- imports: [
- IgxComboModule,
- NoopAnimationsModule,
- IgxToggleModule,
- ReactiveFormsModule,
- FormsModule
]
});
});
@@ -3153,24 +3148,25 @@ describe('igxCombo', () => {
@Component({
template: `
-
-
-
-
-
State: {{display[key]}}
-
Region: {{display.region}}
-
-
-
-
-
-
-
-
-
-`
+
+
+
+
+
State: {{display[key]}}
+
Region: {{display.region}}
+
+
+
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxComboComponent, IgxComboItemDirective, IgxComboHeaderDirective, IgxComboFooterDirective]
})
class IgxComboSampleComponent {
/**
@@ -3225,50 +3221,30 @@ class IgxComboSampleComponent {
@Component({
template: `
-
-`
+
+ `,
+ standalone: true,
+ imports: [IgxComboComponent, IgxLabelDirective, ReactiveFormsModule]
})
-
-@Component({
- template: `
-
-`
-})
-
class IgxComboFormComponent {
@ViewChild('comboReactive', { read: IgxComboComponent, static: true })
public combo: IgxComboComponent;
@@ -3335,8 +3311,10 @@ class IgxComboFormComponent {
[groupKey]="'field' ? 'region' : ''" [width]="'100%'">
Combo Label
-
-`
+
+ `,
+ standalone: true,
+ imports: [IgxComboComponent, IgxLabelDirective, FormsModule]
})
class IgxComboInTemplatedFormComponent {
@ViewChild('testCombo', { read: IgxComboComponent, static: true })
@@ -3396,15 +3374,18 @@ export class LocalService {
return dummyData;
}
}
+
@Component({
template: `
-Combo Label
-
-
-`,
- providers: [LocalService]
+ Combo Label
+
+
+ `,
+ standalone: true,
+ providers: [LocalService],
+ imports: [IgxComboComponent]
})
export class IgxComboBindingTestComponent {
@@ -3422,15 +3403,16 @@ export class IgxComboBindingTestComponent {
}
@Component({
template: `
-
-
->
-
-
-`
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxComboComponent]
})
class IgxComboInContainerTestComponent {
@ViewChild('combo', { read: IgxComboComponent, static: true })
@@ -3453,8 +3435,8 @@ class IgxComboInContainerTestComponent {
'Padua',
'Palermo',
'Palma de Mallorca'];
-
}
+
@Injectable()
export class RemoteDataService {
public records: Observable;
@@ -3492,14 +3474,16 @@ export class RemoteDataService {
}
}
@Component({
- providers: [RemoteDataService],
template: `
Combo Label
+ [itemHeight]='40' [valueKey]="'id'" [displayKey]="'product'" [width]="'400px'"
+ [ariaLabelledBy]="'mockID'">
- `
+ `,
+ standalone: true,
+ providers: [RemoteDataService],
+ imports: [IgxComboComponent, AsyncPipe]
})
export class IgxComboRemoteDataComponent implements OnInit, AfterViewInit, OnDestroy {
@ViewChild('combo', { read: IgxComboComponent, static: true })
@@ -3527,8 +3511,11 @@ export class IgxComboRemoteDataComponent implements OnInit, AfterViewInit, OnDes
this.cdr.detach();
}
}
+
@Component({
- template: ` `
+ template: ` `,
+ standalone: true,
+ imports: [IgxComboComponent, FormsModule]
})
export class ComboModelBindingComponent implements OnInit {
@ViewChild(IgxComboComponent, { read: IgxComboComponent, static: true })
@@ -3544,7 +3531,9 @@ export class ComboModelBindingComponent implements OnInit {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxComboComponent, FormsModule]
})
export class IgxComboBindingDataAfterInitComponent implements AfterViewInit {
public items: any[] = [];
diff --git a/projects/igniteui-angular/src/lib/combo/combo.component.ts b/projects/igniteui-angular/src/lib/combo/combo.component.ts
index fceab5bbaa2..fa62b531212 100644
--- a/projects/igniteui-angular/src/lib/combo/combo.component.ts
+++ b/projects/igniteui-angular/src/lib/combo/combo.component.ts
@@ -1,31 +1,20 @@
-import { CommonModule } from '@angular/common';
+import { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
import {
- AfterViewInit, ChangeDetectorRef, Component, ElementRef, NgModule, OnInit, OnDestroy,
- Optional, Inject, Injector, ViewChild, Input, Output, EventEmitter, HostListener, AfterContentChecked
+ AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnInit, OnDestroy,
+ Optional, Inject, Injector, ViewChild, Input, Output, EventEmitter, HostListener
} from '@angular/core';
-import {
- IgxComboItemDirective,
- IgxComboEmptyDirective,
- IgxComboHeaderItemDirective,
- IgxComboHeaderDirective,
- IgxComboFooterDirective,
- IgxComboAddItemDirective,
- IgxComboToggleIconDirective,
- IgxComboClearIconDirective
-} from './combo.directives';
-import { FormsModule, ReactiveFormsModule, ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
-import { IgxCheckboxModule } from '../checkbox/checkbox.component';
+
+import { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
+
import { IgxSelectionAPIService } from '../core/selection';
import { IBaseEventArgs, IBaseCancelableEventArgs, CancelableEventArgs } from '../core/utils';
import { IgxStringFilteringOperand, IgxBooleanFilteringOperand } from '../data-operations/filtering-condition';
import { FilteringLogic } from '../data-operations/filtering-expression.interface';
-import { IgxForOfModule } from '../directives/for-of/for_of.directive';
-import { IgxIconModule, IgxIconService } from '../icon/public_api';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
-import { IgxToggleModule } from '../directives/toggle/toggle.directive';
-import { IgxButtonModule } from '../directives/button/button.directive';
-import { IgxDropDownModule } from '../drop-down/public_api';
-import { IgxInputGroupModule } from '../input-group/input-group.component';
+import { IgxForOfDirective } from '../directives/for-of/for_of.directive';
+import { IgxIconService } from '../icon/icon.service';
+import { IgxRippleDirective } from '../directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { IgxInputGroupComponent } from '../input-group/input-group.component';
import { IgxComboItemComponent } from './combo-item.component';
import { IgxComboDropDownComponent } from './combo-dropdown.component';
import { IgxComboFilteringPipe, IgxComboGroupingPipe } from './combo.pipes';
@@ -34,10 +23,11 @@ import { IGX_COMBO_COMPONENT, IgxComboBaseDirective } from './combo.common';
import { IgxComboAddItemComponent } from './combo-add-item.component';
import { IgxComboAPIService } from './combo.api';
import { EditorProvider } from '../core/edit-provider';
-import {
- IgxInputGroupType,
- IGX_INPUT_GROUP_TYPE
-} from '../input-group/public_api';
+import { IgxInputGroupType, IGX_INPUT_GROUP_TYPE } from '../input-group/public_api';
+import { IgxDropDownItemNavigationDirective } from '../drop-down/drop-down-navigation.directive';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxInputDirective } from '../directives/input/input.directive';
/** Event emitted when an igx-combo's selection is changing */
export interface IComboSelectionChangingEventArgs extends IBaseCancelableEventArgs {
@@ -108,10 +98,30 @@ const diffInSets = (set1: Set, set2: Set): any[] => {
IgxComboAPIService,
{ provide: IGX_COMBO_COMPONENT, useExisting: IgxComboComponent },
{ provide: NG_VALUE_ACCESSOR, useExisting: IgxComboComponent, multi: true }
+ ],
+ standalone: true,
+ imports: [
+ NgIf,
+ NgTemplateOutlet,
+ NgClass,
+ FormsModule,
+ IgxInputGroupComponent,
+ IgxInputDirective,
+ IgxSuffixDirective,
+ IgxIconComponent,
+ IgxComboDropDownComponent,
+ IgxDropDownItemNavigationDirective,
+ IgxForOfDirective,
+ IgxComboItemComponent,
+ IgxComboAddItemComponent,
+ IgxButtonDirective,
+ IgxRippleDirective,
+ IgxComboFilteringPipe,
+ IgxComboGroupingPipe
]
})
export class IgxComboComponent extends IgxComboBaseDirective implements AfterViewInit, ControlValueAccessor, OnInit,
- OnDestroy, EditorProvider, AfterContentChecked {
+ OnDestroy, EditorProvider {
/**
* An @Input property that controls whether the combo's search box
* should be focused after the `opened` event is called
@@ -449,56 +459,3 @@ export class IgxComboComponent extends IgxComboBaseDirective implements AfterVie
return value;
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [
- IgxComboAddItemComponent,
- IgxComboAddItemDirective,
- IgxComboClearIconDirective,
- IgxComboComponent,
- IgxComboDropDownComponent,
- IgxComboEmptyDirective,
- IgxComboFilteringPipe,
- IgxComboFooterDirective,
- IgxComboGroupingPipe,
- IgxComboHeaderDirective,
- IgxComboHeaderItemDirective,
- IgxComboItemComponent,
- IgxComboItemDirective,
- IgxComboToggleIconDirective
- ],
- exports: [
- IgxComboAddItemComponent,
- IgxComboAddItemDirective,
- IgxComboClearIconDirective,
- IgxComboComponent,
- IgxComboDropDownComponent,
- IgxComboEmptyDirective,
- IgxComboFilteringPipe,
- IgxComboFooterDirective,
- IgxComboGroupingPipe,
- IgxComboHeaderDirective,
- IgxComboHeaderItemDirective,
- IgxComboItemComponent,
- IgxComboItemDirective,
- IgxComboToggleIconDirective,
- IgxInputGroupModule
- ],
- imports: [
- CommonModule,
- FormsModule,
- IgxButtonModule,
- IgxCheckboxModule,
- IgxDropDownModule,
- IgxForOfModule,
- IgxIconModule,
- IgxInputGroupModule,
- IgxRippleModule,
- IgxToggleModule,
- ReactiveFormsModule
- ]
-})
-export class IgxComboModule { }
diff --git a/projects/igniteui-angular/src/lib/combo/combo.directives.ts b/projects/igniteui-angular/src/lib/combo/combo.directives.ts
index 75e561e2b33..741b693fd1e 100644
--- a/projects/igniteui-angular/src/lib/combo/combo.directives.ts
+++ b/projects/igniteui-angular/src/lib/combo/combo.directives.ts
@@ -16,7 +16,10 @@ import { Directive } from '@angular/core';
*
*
*/
-@Directive({ selector: '[igxComboHeader]' })
+@Directive({
+ selector: '[igxComboHeader]',
+ standalone: true
+})
export class IgxComboHeaderDirective { }
/**
@@ -35,7 +38,10 @@ export class IgxComboHeaderDirective { }
*
*
*/
-@Directive({ selector: '[igxComboFooter]' })
+@Directive({
+ selector: '[igxComboFooter]',
+ standalone: true
+})
export class IgxComboFooterDirective { }
/**
@@ -56,7 +62,10 @@ export class IgxComboFooterDirective { }
*
*
*/
-@Directive({ selector: '[igxComboItem]' })
+@Directive({
+ selector: '[igxComboItem]',
+ standalone: true
+})
export class IgxComboItemDirective { }
/**
@@ -76,7 +85,10 @@ export class IgxComboItemDirective { }
*
*
*/
-@Directive({ selector: '[igxComboEmpty]' })
+@Directive({
+ selector: '[igxComboEmpty]',
+ standalone: true
+})
export class IgxComboEmptyDirective { }
/**
@@ -94,7 +106,10 @@ export class IgxComboEmptyDirective { }
*
*
*/
-@Directive({ selector: '[igxComboHeaderItem]' })
+@Directive({
+ selector: '[igxComboHeaderItem]',
+ standalone: true
+})
export class IgxComboHeaderItemDirective { }
/**
@@ -116,7 +131,10 @@ export class IgxComboHeaderItemDirective { }
*
*
*/
-@Directive({ selector: '[igxComboAddItem]' })
+@Directive({
+ selector: '[igxComboAddItem]',
+ standalone: true
+})
export class IgxComboAddItemDirective { }
/**
@@ -134,7 +152,10 @@ export class IgxComboAddItemDirective { }
*
*
*/
-@Directive({ selector: '[igxComboToggleIcon]' })
+@Directive({
+ selector: '[igxComboToggleIcon]',
+ standalone: true
+})
export class IgxComboToggleIconDirective { }
/**
@@ -152,5 +173,8 @@ export class IgxComboToggleIconDirective { }
*
*
*/
-@Directive({ selector: '[igxComboClearIcon]' })
+@Directive({
+ selector: '[igxComboClearIcon]',
+ standalone: true
+})
export class IgxComboClearIconDirective { }
diff --git a/projects/igniteui-angular/src/lib/combo/combo.module.ts b/projects/igniteui-angular/src/lib/combo/combo.module.ts
new file mode 100644
index 00000000000..16c3036eac5
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/combo/combo.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IGX_COMBO_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ ...IGX_COMBO_DIRECTIVES
+ ],
+ exports: [
+ ...IGX_COMBO_DIRECTIVES
+ ]
+})
+export class IgxComboModule { }
diff --git a/projects/igniteui-angular/src/lib/combo/combo.pipes.ts b/projects/igniteui-angular/src/lib/combo/combo.pipes.ts
index ef4a0dd2374..db997d5a6c2 100644
--- a/projects/igniteui-angular/src/lib/combo/combo.pipes.ts
+++ b/projects/igniteui-angular/src/lib/combo/combo.pipes.ts
@@ -5,7 +5,10 @@ import { DefaultSortingStrategy, SortingDirection } from '../data-operations/sor
import { IComboFilteringOptions, IgxComboBase, IGX_COMBO_COMPONENT } from './combo.common';
/** @hidden */
-@Pipe({ name: 'comboFiltering' })
+@Pipe({
+ name: 'comboFiltering',
+ standalone: true
+})
export class IgxComboFilteringPipe implements PipeTransform {
public transform(
collection: any[],
@@ -25,7 +28,10 @@ export class IgxComboFilteringPipe implements PipeTransform {
}
/** @hidden */
-@Pipe({ name: 'comboGrouping' })
+@Pipe({
+ name: 'comboGrouping',
+ standalone: true
+})
export class IgxComboGroupingPipe implements PipeTransform {
constructor(@Inject(IGX_COMBO_COMPONENT) public combo: IgxComboBase) { }
diff --git a/projects/igniteui-angular/src/lib/combo/public_api.ts b/projects/igniteui-angular/src/lib/combo/public_api.ts
index 1b30a4657e1..6ec7a9d28e7 100644
--- a/projects/igniteui-angular/src/lib/combo/public_api.ts
+++ b/projects/igniteui-angular/src/lib/combo/public_api.ts
@@ -1,7 +1,36 @@
-export { IgxComboAddItemComponent } from './combo-add-item.component';
-export { IgxComboDropDownComponent } from './combo-dropdown.component';
-export { IgxComboItemComponent } from './combo-item.component';
+import { IgxHintDirective } from '../directives/hint/hint.directive';
+import { IgxLabelDirective } from '../directives/label/label.directive';
+import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxComboComponent } from './combo.component';
+import {
+ IgxComboAddItemDirective,
+ IgxComboClearIconDirective,
+ IgxComboEmptyDirective,
+ IgxComboFooterDirective,
+ IgxComboHeaderDirective,
+ IgxComboHeaderItemDirective,
+ IgxComboItemDirective,
+ IgxComboToggleIconDirective
+} from './combo.directives';
+
export { IComboFilteringOptions } from './combo.common';
export * from './combo.component';
export * from './combo.directives';
-export * from './combo.pipes';
+
+/* NOTE: Combo directives collection for ease-of-use import in standalone components scenario */
+export const IGX_COMBO_DIRECTIVES = [
+ IgxComboComponent,
+ IgxComboAddItemDirective,
+ IgxComboClearIconDirective,
+ IgxComboEmptyDirective,
+ IgxComboFooterDirective,
+ IgxComboHeaderDirective,
+ IgxComboHeaderItemDirective,
+ IgxComboItemDirective,
+ IgxComboToggleIconDirective,
+ IgxLabelDirective,
+ IgxPrefixDirective,
+ IgxSuffixDirective,
+ IgxHintDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/core/density.ts b/projects/igniteui-angular/src/lib/core/density.ts
index f9895cab55f..5ee6044c518 100644
--- a/projects/igniteui-angular/src/lib/core/density.ts
+++ b/projects/igniteui-angular/src/lib/core/density.ts
@@ -1 +1,125 @@
-export * from './displayDensity';
+import { InjectionToken, Input, Output, EventEmitter, DoCheck, OnInit, Directive, Optional, Inject } from '@angular/core';
+import { IBaseEventArgs, mkenum } from './utils';
+
+/**
+ * Defines the possible values of the components' display density.
+ */
+export const DisplayDensity = mkenum({
+ comfortable: 'comfortable',
+ cosy: 'cosy',
+ compact: 'compact'
+});
+export type DisplayDensity = (typeof DisplayDensity)[keyof typeof DisplayDensity];
+
+/**
+ * Describes the object used to configure the DisplayDensity in Angular DI.
+ */
+export interface IDisplayDensityOptions {
+ displayDensity: DisplayDensity;
+}
+
+export interface IDensityChangedEventArgs extends IBaseEventArgs {
+ oldDensity: DisplayDensity;
+ newDensity: DisplayDensity;
+}
+
+/**
+ * @hidden
+ * Defines the DisplayDensity DI token.
+ */
+export const DisplayDensityToken = new InjectionToken('DisplayDensity');
+
+/**
+ * @hidden
+ * Base class containing all logic required for implementing DisplayDensity.
+ */
+@Directive({
+ selector: '[igxDisplayDensityBase]',
+ standalone: true
+})
+// eslint-disable-next-line @angular-eslint/directive-class-suffix
+export class DisplayDensityBase implements DoCheck, OnInit {
+ @Output()
+ public densityChanged = new EventEmitter();
+
+ /**
+ * Returns the theme of the component.
+ * The default theme is `comfortable`.
+ * Available options are `comfortable`, `cosy`, `compact`.
+ * ```typescript
+ * let componentTheme = this.component.displayDensity;
+ * ```
+ */
+ @Input()
+ public get displayDensity(): DisplayDensity {
+ return this._displayDensity ||
+ ((this.displayDensityOptions && this.displayDensityOptions.displayDensity) || DisplayDensity.comfortable);
+ }
+
+ /**
+ * Sets the theme of the component.
+ */
+ public set displayDensity(val: DisplayDensity) {
+ const currentDisplayDensity = this._displayDensity;
+ this._displayDensity = val as DisplayDensity;
+
+ if (currentDisplayDensity !== this._displayDensity) {
+ const densityChangedArgs: IDensityChangedEventArgs = {
+ oldDensity: currentDisplayDensity,
+ newDensity: this._displayDensity
+ };
+
+ this.densityChanged.emit(densityChangedArgs);
+ }
+ }
+
+ /**
+ * @hidden
+ */
+ public initialDensity: DisplayDensity;
+
+ protected oldDisplayDensityOptions: IDisplayDensityOptions = { displayDensity: DisplayDensity.comfortable };
+ protected _displayDensity: DisplayDensity;
+
+
+ constructor(@Optional() @Inject(DisplayDensityToken) protected displayDensityOptions: IDisplayDensityOptions) {
+ Object.assign(this.oldDisplayDensityOptions, displayDensityOptions);
+ }
+
+ /**
+ * @hidden
+ */
+ public ngOnInit(): void {
+ this.initialDensity = this._displayDensity;
+ }
+
+ public ngDoCheck() {
+ if (!this._displayDensity && this.displayDensityOptions &&
+ this.oldDisplayDensityOptions.displayDensity !== this.displayDensityOptions.displayDensity) {
+ const densityChangedArgs: IDensityChangedEventArgs = {
+ oldDensity: this.oldDisplayDensityOptions.displayDensity,
+ newDensity: this.displayDensityOptions.displayDensity
+ };
+
+ this.densityChanged.emit(densityChangedArgs);
+ this.oldDisplayDensityOptions = Object.assign(this.oldDisplayDensityOptions, this.displayDensityOptions);
+ }
+ }
+
+ /**
+ * Given a style class of a component/element returns the modified version of it based
+ * on the current display density.
+ */
+ protected getComponentDensityClass(baseStyleClass: string): string {
+ switch (this.displayDensity) {
+ case DisplayDensity.cosy:
+ return `${baseStyleClass}--${DisplayDensity.cosy}`;
+ case DisplayDensity.compact:
+ return `${baseStyleClass}--${DisplayDensity.compact}`;
+ default:
+ return baseStyleClass;
+ }
+ }
+}
+
+
diff --git a/projects/igniteui-angular/src/lib/core/displayDensity.ts b/projects/igniteui-angular/src/lib/core/displayDensity.ts
deleted file mode 100644
index 496a9834d4f..00000000000
--- a/projects/igniteui-angular/src/lib/core/displayDensity.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-import { InjectionToken, Input, Output, EventEmitter, DoCheck, OnInit, Directive, NgModule, Optional, Inject } from '@angular/core';
-import { IBaseEventArgs, mkenum } from './utils';
-
-/**
- * Defines the possible values of the components' display density.
- */
-export const DisplayDensity = mkenum({
- comfortable: 'comfortable',
- cosy: 'cosy',
- compact: 'compact'
-});
-export type DisplayDensity = (typeof DisplayDensity)[keyof typeof DisplayDensity];
-
-/**
- * Describes the object used to configure the DisplayDensity in Angular DI.
- */
-export interface IDisplayDensityOptions {
- displayDensity: DisplayDensity;
-}
-
-export interface IDensityChangedEventArgs extends IBaseEventArgs {
- oldDensity: DisplayDensity;
- newDensity: DisplayDensity;
-}
-
-/**
- * Defines the DisplayDensity DI token.
- */
-export const DisplayDensityToken = new InjectionToken('DisplayDensity');
-
-/**
- * Base class containing all logic required for implementing DisplayDensity.
- */
-@Directive({
- selector: '[igxDisplayDensityBase]'
-})
-// eslint-disable-next-line @angular-eslint/directive-class-suffix
-export class DisplayDensityBase implements DoCheck, OnInit {
- @Output()
- public densityChanged = new EventEmitter();
-
- /**
- * Returns the theme of the component.
- * The default theme is `comfortable`.
- * Available options are `comfortable`, `cosy`, `compact`.
- * ```typescript
- * let componentTheme = this.component.displayDensity;
- * ```
- */
- @Input()
- public get displayDensity(): DisplayDensity {
- return this._displayDensity ||
- ((this.displayDensityOptions && this.displayDensityOptions.displayDensity) || DisplayDensity.comfortable);
- }
-
- /**
- * Sets the theme of the component.
- */
- public set displayDensity(val: DisplayDensity) {
- const currentDisplayDensity = this._displayDensity;
- this._displayDensity = val as DisplayDensity;
-
- if (currentDisplayDensity !== this._displayDensity) {
- const densityChangedArgs: IDensityChangedEventArgs = {
- oldDensity: currentDisplayDensity,
- newDensity: this._displayDensity
- };
-
- this.densityChanged.emit(densityChangedArgs);
- }
- }
-
- /**
- * @hidden
- */
- public initialDensity: DisplayDensity;
-
- protected oldDisplayDensityOptions: IDisplayDensityOptions = { displayDensity: DisplayDensity.comfortable };
- protected _displayDensity: DisplayDensity;
-
-
- constructor(@Optional() @Inject(DisplayDensityToken) protected displayDensityOptions: IDisplayDensityOptions) {
- Object.assign(this.oldDisplayDensityOptions, displayDensityOptions);
- }
-
- /**
- * @hidden
- */
- public ngOnInit(): void {
- this.initialDensity = this._displayDensity;
- }
-
- public ngDoCheck() {
- if (!this._displayDensity && this.displayDensityOptions &&
- this.oldDisplayDensityOptions.displayDensity !== this.displayDensityOptions.displayDensity) {
- const densityChangedArgs: IDensityChangedEventArgs = {
- oldDensity: this.oldDisplayDensityOptions.displayDensity,
- newDensity: this.displayDensityOptions.displayDensity
- };
-
- this.densityChanged.emit(densityChangedArgs);
- this.oldDisplayDensityOptions = Object.assign(this.oldDisplayDensityOptions, this.displayDensityOptions);
- }
- }
-
- /**
- * Given a style class of a component/element returns the modified version of it based
- * on the current display density.
- */
- protected getComponentDensityClass(baseStyleClass: string): string {
- switch (this.displayDensity) {
- case DisplayDensity.cosy:
- return `${baseStyleClass}--${DisplayDensity.cosy}`;
- case DisplayDensity.compact:
- return `${baseStyleClass}--${DisplayDensity.compact}`;
- default:
- return baseStyleClass;
- }
- }
-}
-
-@NgModule({
- declarations: [
- DisplayDensityBase
- ],
- exports: [
- DisplayDensityBase
- ]
-})
-export class IgxDisplayDensityModule {}
diff --git a/projects/igniteui-angular/src/lib/core/navigation/IToggleView.ts b/projects/igniteui-angular/src/lib/core/navigation/IToggleView.ts
index 6e5f3cb1a91..3ff8a7915a5 100644
--- a/projects/igniteui-angular/src/lib/core/navigation/IToggleView.ts
+++ b/projects/igniteui-angular/src/lib/core/navigation/IToggleView.ts
@@ -7,5 +7,4 @@ export interface IToggleView {
open(...args);
close(...args);
toggle(...args);
-
}
diff --git a/projects/igniteui-angular/src/lib/core/navigation/directives.ts b/projects/igniteui-angular/src/lib/core/navigation/directives.ts
index 295d2cbfa1e..4b13d9c5e62 100644
--- a/projects/igniteui-angular/src/lib/core/navigation/directives.ts
+++ b/projects/igniteui-angular/src/lib/core/navigation/directives.ts
@@ -1,5 +1,5 @@
-import { Directive, HostListener, Input, NgModule } from '@angular/core';
-import {IgxNavigationService} from './nav.service';
+import { Directive, HostListener, Input } from '@angular/core';
+import { IgxNavigationService } from './nav.service';
/**
* Directive that can toggle targets through provided NavigationService.
@@ -10,7 +10,10 @@ import {IgxNavigationService} from './nav.service';
* ```
* Where the `ID` matches the ID of compatible `IToggleView` component.
*/
-@Directive({ selector: '[igxNavToggle]' })
+@Directive({
+ selector: '[igxNavToggle]',
+ standalone: true
+})
export class IgxNavigationToggleDirective {
@Input('igxNavToggle') private target;
@@ -35,7 +38,10 @@ export class IgxNavigationToggleDirective {
* ```
* Where the `ID` matches the ID of compatible `IToggleView` component.
*/
-@Directive({ selector: '[igxNavClose]' })
+@Directive({
+ selector: '[igxNavClose]',
+ standalone: true
+})
export class IgxNavigationCloseDirective {
@Input('igxNavClose') private target;
@@ -50,13 +56,3 @@ export class IgxNavigationCloseDirective {
this.state.close(this.target, true);
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxNavigationCloseDirective, IgxNavigationToggleDirective],
- exports: [IgxNavigationCloseDirective, IgxNavigationToggleDirective],
- providers: [IgxNavigationService]
-})
-export class IgxNavigationModule {}
diff --git a/projects/igniteui-angular/src/lib/core/navigation/nav.service.ts b/projects/igniteui-angular/src/lib/core/navigation/nav.service.ts
index 9a903812172..d8b5e6f667a 100644
--- a/projects/igniteui-angular/src/lib/core/navigation/nav.service.ts
+++ b/projects/igniteui-angular/src/lib/core/navigation/nav.service.ts
@@ -6,7 +6,7 @@ import { Injectable } from '@angular/core';
* ToggleView interface can register and toggle directives can call their methods.
* TODO: Track currently active? Events?
*/
-@Injectable()
+@Injectable({ providedIn: 'root' })
export class IgxNavigationService {
private navs: { [id: string]: IToggleView };
diff --git a/projects/igniteui-angular/src/lib/data-operations/data-util.ts b/projects/igniteui-angular/src/lib/data-operations/data-util.ts
index 8d776de8421..081db332e47 100644
--- a/projects/igniteui-angular/src/lib/data-operations/data-util.ts
+++ b/projects/igniteui-angular/src/lib/data-operations/data-util.ts
@@ -146,7 +146,7 @@ export class DataUtil {
* @param deleteRows Should delete rows with DELETE transaction type from data
* @returns Provided data collections updated with all provided transactions
*/
- public static mergeTransactions(data: T[], transactions: Transaction[], primaryKey?: any, cloneStrategy: IDataCloneStrategy = new DefaultDataCloneStrategy(), deleteRows: boolean = false): T[] {
+ public static mergeTransactions(data: T[], transactions: Transaction[], primaryKey?: any, cloneStrategy: IDataCloneStrategy = new DefaultDataCloneStrategy(), deleteRows = false): T[] {
data.forEach((item: any, index: number) => {
const rowId = primaryKey ? item[primaryKey] : item;
const transaction = transactions.find(t => t.id === rowId);
@@ -189,7 +189,7 @@ export class DataUtil {
childDataKey: any,
primaryKey?: any,
cloneStrategy: IDataCloneStrategy = new DefaultDataCloneStrategy(),
- deleteRows: boolean = false): any[] {
+ deleteRows = false): any[] {
for (const transaction of transactions) {
if (transaction.path) {
const parent = this.findParentFromPath(data, primaryKey, childDataKey, transaction.path);
diff --git a/projects/igniteui-angular/src/lib/data-operations/filtering-strategy.ts b/projects/igniteui-angular/src/lib/data-operations/filtering-strategy.ts
index 1c69ac6ad98..51f6c917a36 100644
--- a/projects/igniteui-angular/src/lib/data-operations/filtering-strategy.ts
+++ b/projects/igniteui-angular/src/lib/data-operations/filtering-strategy.ts
@@ -213,7 +213,7 @@ export class FilteringStrategy extends BaseFilteringStrategy {
return res;
}
- protected getFieldValue(rec: any, fieldName: string, isDate: boolean = false, isTime: boolean = false, grid?: GridType): any {
+ protected getFieldValue(rec: any, fieldName: string, isDate = false, isTime = false, grid?: GridType): any {
const column = grid?.getColumnByName(fieldName);
let value = resolveNestedPath(rec, fieldName);
diff --git a/projects/igniteui-angular/src/lib/data-operations/pivot-sort-strategy.ts b/projects/igniteui-angular/src/lib/data-operations/pivot-sort-strategy.ts
index 7cbc6570021..2db8244c61f 100644
--- a/projects/igniteui-angular/src/lib/data-operations/pivot-sort-strategy.ts
+++ b/projects/igniteui-angular/src/lib/data-operations/pivot-sort-strategy.ts
@@ -23,7 +23,7 @@ export class DefaultPivotGridRecordSortingStrategy extends DefaultSortingStrateg
return this.arraySort(data, cmpFunc);
}
- protected getFieldValue(obj: IPivotGridRecord, key: string, _isDate: boolean = false, _isTime: boolean = false): any {
+ protected getFieldValue(obj: IPivotGridRecord, key: string, _isDate = false, _isTime = false): any {
return obj.aggregationValues.get(key);
}
}
@@ -52,7 +52,7 @@ export class DefaultPivotSortingStrategy extends DefaultSortingStrategy {
return this.arraySort(data, cmpFunc);
}
- protected getFieldValue(obj: any, key: string, _isDate: boolean = false, isTime: boolean = false): any {
+ protected getFieldValue(obj: any, key: string, _isDate = false, isTime = false): any {
let resolvedValue = PivotUtil.extractValueFromDimension(this.dimension, obj) || obj[0];
const formatAsDate = this.dimension.dataType === GridColumnDataType.Date || this.dimension.dataType === GridColumnDataType.DateTime;
if (formatAsDate) {
diff --git a/projects/igniteui-angular/src/lib/data-operations/pivot-strategy.ts b/projects/igniteui-angular/src/lib/data-operations/pivot-strategy.ts
index 4d157b12881..09adf605896 100644
--- a/projects/igniteui-angular/src/lib/data-operations/pivot-strategy.ts
+++ b/projects/igniteui-angular/src/lib/data-operations/pivot-strategy.ts
@@ -131,7 +131,7 @@ export class DimensionValuesFilteringStrategy extends FilteringStrategy {
super();
}
- protected override getFieldValue(rec: any, fieldName: string, _isDate: boolean = false, _isTime: boolean = false,
+ protected override getFieldValue(rec: any, fieldName: string, _isDate = false, _isTime = false,
grid?: PivotGridType): any {
const allDimensions = grid.allDimensions;
const enabledDimensions = allDimensions.filter(x => x && x.enabled);
@@ -143,7 +143,7 @@ export class DimensionValuesFilteringStrategy extends FilteringStrategy {
public override getFilterItems(column: ColumnType, tree: IFilteringExpressionsTree): Promise {
const grid = (column.grid as any);
const enabledDimensions = grid.allDimensions.filter(x => x && x.enabled);
- let data = column.grid.gridAPI.filterDataByExpressions(tree);
+ const data = column.grid.gridAPI.filterDataByExpressions(tree);
const dim = enabledDimensions.find(x => x.memberName === column.field);
const allValuesHierarchy = PivotUtil.getFieldsHierarchy(
data,
@@ -174,7 +174,7 @@ export class DimensionValuesFilteringStrategy extends FilteringStrategy {
private _getDimensionValueHierarchy(dim: IPivotDimension, rec: any) : string[] {
let path = [];
- let value = PivotUtil.extractValueFromDimension(dim, rec);
+ const value = PivotUtil.extractValueFromDimension(dim, rec);
path.push(value);
if (dim.childLevel) {
const childVals = this._getDimensionValueHierarchy(dim.childLevel, rec);
diff --git a/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts b/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts
index b0159ac4720..9cc641201b0 100644
--- a/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts
+++ b/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts
@@ -119,8 +119,8 @@ export class GroupMemberCountSortingStrategy implements ISortingStrategy {
}
protected compareObjects(obj1: any, obj2: any, data: any[], fieldName: string, reverse: number) {
- let firstItemValuesLength = data[obj1[fieldName]].length;
- let secondItemValuesLength = data[obj2[fieldName]].length;
+ const firstItemValuesLength = data[obj1[fieldName]].length;
+ const secondItemValuesLength = data[obj2[fieldName]].length;
return reverse * (firstItemValuesLength - secondItemValuesLength);
}
diff --git a/projects/igniteui-angular/src/lib/date-common/calendar-container/calendar-container.component.spec.ts b/projects/igniteui-angular/src/lib/date-common/calendar-container/calendar-container.component.spec.ts
index 88ad60a93a0..09e00b63071 100644
--- a/projects/igniteui-angular/src/lib/date-common/calendar-container/calendar-container.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/date-common/calendar-container/calendar-container.component.spec.ts
@@ -3,10 +3,10 @@ import { ComponentFixture, fakeAsync, TestBed, waitForAsync } from '@angular/cor
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxCalendarComponent } from '../../calendar/public_api';
-import { IgxButtonDirective, IgxButtonModule } from '../../directives/button/button.directive';
+import { IgxButtonDirective } from '../../directives/button/button.directive';
import { configureTestSuite } from '../../test-utils/configure-suite';
-import { IgxPickerActionsDirective, IgxPickersCommonModule } from '../picker-icons.common';
-import { IgxCalendarContainerComponent, IgxCalendarContainerModule } from './calendar-container.component';
+import { IgxPickerActionsDirective } from '../picker-icons.common';
+import { IgxCalendarContainerComponent } from './calendar-container.component';
describe('Calendar Container', () => {
@@ -15,12 +15,8 @@ describe('Calendar Container', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxDatePickerTestComponent
- ],
- imports: [IgxCalendarContainerModule, IgxPickersCommonModule, IgxButtonModule, NoopAnimationsModule]
- })
- .compileComponents();
+ imports: [NoopAnimationsModule, IgxDatePickerTestComponent]
+ }).compileComponents();
}));
beforeEach(fakeAsync(() => {
@@ -77,7 +73,9 @@ describe('Calendar Container', () => {
action
- `
+ `,
+ standalone: true,
+ imports: [IgxCalendarContainerComponent, IgxPickerActionsDirective, IgxButtonDirective]
})
export class IgxDatePickerTestComponent {
@ViewChild(IgxCalendarContainerComponent) public container: IgxCalendarContainerComponent;
diff --git a/projects/igniteui-angular/src/lib/date-common/calendar-container/calendar-container.component.ts b/projects/igniteui-angular/src/lib/date-common/calendar-container/calendar-container.component.ts
index bcd14bd7a98..c8439e2fc30 100644
--- a/projects/igniteui-angular/src/lib/date-common/calendar-container/calendar-container.component.ts
+++ b/projects/igniteui-angular/src/lib/date-common/calendar-container/calendar-container.component.ts
@@ -1,17 +1,19 @@
-import { CommonModule } from '@angular/common';
-import { NgModule, Component, ViewChild, Output, EventEmitter, HostListener, HostBinding } from '@angular/core';
-import { IgxCalendarComponent, IgxCalendarModule } from '../../calendar/public_api';
+import { NgIf, NgTemplateOutlet } from '@angular/common';
+import { Component, ViewChild, Output, EventEmitter, HostListener, HostBinding } from '@angular/core';
import { IBaseEventArgs } from '../../core/utils';
import { PickerInteractionMode } from '../../date-common/types';
-import { IgxButtonModule } from '../../directives/button/button.directive';
-import { IgxRippleModule } from '../../directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../directives/button/button.directive';
+import { IgxRippleDirective } from '../../directives/ripple/ripple.directive';
import { IgxPickerActionsDirective } from '../picker-icons.common';
+import { IgxCalendarComponent } from '../../calendar/calendar.component';
/** @hidden */
@Component({
selector: 'igx-calendar-container',
styles: [':host {display: block;}'],
- templateUrl: 'calendar-container.component.html'
+ templateUrl: 'calendar-container.component.html',
+ standalone: true,
+ imports: [NgIf, IgxButtonDirective, IgxRippleDirective, IgxCalendarComponent, NgTemplateOutlet]
})
export class IgxCalendarContainerComponent {
@ViewChild(IgxCalendarComponent, { static: true })
@@ -54,14 +56,4 @@ export class IgxCalendarContainerComponent {
}
/** @hidden */
-@NgModule({
- declarations: [IgxCalendarContainerComponent],
- imports: [
- CommonModule,
- IgxButtonModule,
- IgxRippleModule,
- IgxCalendarModule
- ],
- exports: [IgxCalendarContainerComponent]
-})
-export class IgxCalendarContainerModule { }
+
diff --git a/projects/igniteui-angular/src/lib/date-common/picker-base.directive.ts b/projects/igniteui-angular/src/lib/date-common/picker-base.directive.ts
index a835a998fde..264f70a85e0 100644
--- a/projects/igniteui-angular/src/lib/date-common/picker-base.directive.ts
+++ b/projects/igniteui-angular/src/lib/date-common/picker-base.directive.ts
@@ -3,20 +3,25 @@ import {
AfterViewInit, ContentChildren, Directive, ElementRef, EventEmitter,
Inject, Input, LOCALE_ID, OnDestroy, Optional, Output, QueryList, ViewChild
} from '@angular/core';
+import { getLocaleFirstDayOfWeek } from "@angular/common";
+
import { merge, Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
+
import { DisplayDensityBase, DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
import { EditorProvider } from '../core/edit-provider';
import { IToggleView } from '../core/navigation';
import { IBaseCancelableBrowserEventArgs, IBaseEventArgs } from '../core/utils';
-import { DateRange } from '../date-range-picker/public_api';
import { IgxOverlayOutletDirective } from '../directives/toggle/toggle.directive';
-import { IgxInputGroupType, IGX_INPUT_GROUP_TYPE, IgxPrefixDirective, IgxSuffixDirective, IgxInputGroupComponent } from '../input-group/public_api';
import { OverlaySettings } from '../services/overlay/utilities';
import { IgxPickerToggleComponent } from './picker-icons.common';
import { PickerInteractionMode } from './types';
-import { getLocaleFirstDayOfWeek } from "@angular/common";
import { WEEKDAYS } from '../calendar/calendar';
+import { DateRange } from '../date-range-picker/date-range-picker-inputs.common';
+import { IGX_INPUT_GROUP_TYPE, IgxInputGroupType } from '../input-group/inputGroupType';
+import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxInputGroupComponent } from '../input-group/input-group.component';
@Directive()
export abstract class PickerBaseDirective extends DisplayDensityBase implements IToggleView, EditorProvider, AfterViewInit, AfterContentChecked, OnDestroy {
@@ -314,7 +319,7 @@ export abstract class PickerBaseDirective extends DisplayDensityBase implements
.pipe(takeUntil(merge(components.changes, this._destroy$)))
.subscribe(next);
});
- };
+ }
public abstract select(value: Date | DateRange | string): void;
public abstract open(settings?: OverlaySettings): void;
diff --git a/projects/igniteui-angular/src/lib/date-common/picker-icons.common.ts b/projects/igniteui-angular/src/lib/date-common/picker-icons.common.ts
index 51f5e58de8b..dea7d37bc9a 100644
--- a/projects/igniteui-angular/src/lib/date-common/picker-icons.common.ts
+++ b/projects/igniteui-angular/src/lib/date-common/picker-icons.common.ts
@@ -1,5 +1,4 @@
-import { CommonModule } from '@angular/common';
-import { Component, Output, EventEmitter, HostListener, NgModule, Directive, TemplateRef } from '@angular/core';
+import { Component, Output, EventEmitter, HostListener, Directive, TemplateRef } from '@angular/core';
/**
* Templates the default toggle icon in the picker.
@@ -17,7 +16,8 @@ import { Component, Output, EventEmitter, HostListener, NgModule, Directive, Tem
*/
@Component({
template: ` `,
- selector: 'igx-picker-toggle'
+ selector: 'igx-picker-toggle',
+ standalone: true
})
export class IgxPickerToggleComponent {
@Output()
@@ -47,7 +47,8 @@ export class IgxPickerToggleComponent {
*/
@Component({
template: ` `,
- selector: 'igx-picker-clear'
+ selector: 'igx-picker-clear',
+ standalone: true
})
export class IgxPickerClearComponent extends IgxPickerToggleComponent { }
@@ -58,25 +59,10 @@ export class IgxPickerClearComponent extends IgxPickerToggleComponent { }
*
*/
@Directive({
- selector: '[igxPickerActions]'
+ selector: '[igxPickerActions]',
+ standalone: true
})
export class IgxPickerActionsDirective {
constructor(public template: TemplateRef) { }
}
-
-/** @hidden */
-@NgModule({
- declarations: [
- IgxPickerToggleComponent,
- IgxPickerClearComponent,
- IgxPickerActionsDirective
- ],
- imports: [CommonModule],
- exports: [
- IgxPickerToggleComponent,
- IgxPickerClearComponent,
- IgxPickerActionsDirective
- ]
-})
-export class IgxPickersCommonModule { }
diff --git a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts
index 13e028a8842..76f0885be61 100644
--- a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts
@@ -3,16 +3,12 @@ import { UntypedFormControl, UntypedFormGroup, FormsModule, NgForm, ReactiveForm
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { UIInteractions } from '../test-utils/ui-interactions.spec';
import {
- IgxHintDirective, IgxInputGroupComponent, IgxInputGroupModule, IgxInputState, IgxLabelDirective, IgxPrefixDirective, IgxSuffixDirective
+ IgxHintDirective, IgxInputGroupComponent, IgxInputState, IgxLabelDirective, IgxPrefixDirective, IgxSuffixDirective
} from '../input-group/public_api';
-import { IgxTextSelectionModule } from '../directives/text-selection/text-selection.directive';
import { configureTestSuite } from '../test-utils/configure-suite';
-import { IgxButtonModule } from '../directives/button/button.directive';
-import { IFormattingViews, IgxCalendarComponent, IgxCalendarModule, WEEKDAYS } from '../calendar/public_api';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxCalendarContainerComponent, IgxCalendarContainerModule } from '../date-common/calendar-container/calendar-container.component';
+import { IFormattingViews, IgxCalendarComponent, WEEKDAYS } from '../calendar/public_api';
+import { IgxCalendarContainerComponent } from '../date-common/calendar-container/calendar-container.component';
import { IgxDatePickerComponent } from './date-picker.component';
-import { IgxDatePickerModule } from './date-picker.module';
import {
IgxOverlayService,
OverlayCancelableEventArgs, OverlayClosingEventArgs, OverlayEventArgs, OverlaySettings
@@ -21,12 +17,12 @@ import { Component, ElementRef, EventEmitter, QueryList, Renderer2, ViewChild }
import { By } from '@angular/platform-browser';
import { PickerHeaderOrientation, PickerInteractionMode } from '../date-common/types';
import { DatePart } from '../directives/date-time-editor/date-time-editor.common';
-import { DisplayDensity } from '../core/displayDensity';
+import { DisplayDensity } from '../core/density';
import { DateRangeDescriptor, DateRangeType } from '../core/dates';
import { IgxOverlayOutletDirective } from '../directives/toggle/toggle.directive';
import { IgxPickerClearComponent, IgxPickerToggleComponent } from '../date-common/public_api';
import { DateTimeUtil } from '../date-common/util/date-time.util';
-import { registerLocaleData } from "@angular/common";
+import { NgIf, registerLocaleData } from "@angular/common";
import localeES from "@angular/common/locales/es";
const CSS_CLASS_CALENDAR = 'igx-calendar';
@@ -44,20 +40,16 @@ describe('IgxDatePicker', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxDatePickerTestKbrdComponent,
IgxDatePickerTestComponent,
IgxDatePickerNgModelComponent,
IgxDatePickerWithProjectionsComponent,
IgxDatePickerInFormComponent,
IgxDatePickerReactiveFormComponent
- ],
- imports: [IgxDatePickerModule, FormsModule, ReactiveFormsModule,
- NoopAnimationsModule, IgxInputGroupModule, IgxCalendarModule,
- IgxButtonModule, IgxTextSelectionModule, IgxIconModule,
- IgxCalendarContainerModule]
- })
- .compileComponents();
+ ]
+ }).compileComponents();
}));
describe('Rendering', () => {
@@ -1295,8 +1287,10 @@ describe('IgxDatePicker', () => {
});
@Component({
template: `
-
- `
+
+ `,
+ standalone: true,
+ imports: [IgxDatePickerComponent]
})
export class IgxDatePickerTestComponent {
@ViewChild(IgxDatePickerComponent) public datePicker: IgxDatePickerComponent;
@@ -1309,7 +1303,9 @@ export class IgxDatePickerTestComponent {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxDatePickerComponent, FormsModule]
})
export class IgxDatePickerNgModelComponent {
@ViewChild(IgxDatePickerComponent) public datePicker: IgxDatePickerComponent;
@@ -1325,7 +1321,9 @@ export class IgxDatePickerNgModelComponent {
Select a Date
- `
+ `,
+ standalone: true,
+ imports: [IgxDatePickerComponent, IgxLabelDirective]
})
export class IgxDatePickerTestKbrdComponent {
@ViewChild(IgxDatePickerComponent) public datePicker: IgxDatePickerComponent;
@@ -1335,15 +1333,16 @@ export class IgxDatePickerTestKbrdComponent {
@Component({
template: `
-
- Label
- CustomToggle
- Prefix
- CustomClear
- Suffix
- Hint
-
-`
+
+ Label
+ CustomToggle
+ Prefix
+ CustomClear
+ Suffix
+ Hint
+ `,
+ standalone: true,
+ imports: [IgxDatePickerComponent, IgxPickerToggleComponent, IgxPrefixDirective, IgxPickerClearComponent, IgxLabelDirective, IgxSuffixDirective, IgxHintDirective, NgIf]
})
export class IgxDatePickerWithProjectionsComponent {
@ViewChild(IgxDatePickerComponent) public datePicker: IgxDatePickerComponent;
@@ -1359,7 +1358,9 @@ export class IgxDatePickerWithProjectionsComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxDatePickerComponent, FormsModule]
})
export class IgxDatePickerInFormComponent {
@ViewChild('form')
@@ -1373,14 +1374,16 @@ export class IgxDatePickerInFormComponent {
@Component({
template: `
-
- `
+
+ `,
+ standalone: true,
+ imports: [IgxDatePickerComponent, ReactiveFormsModule, IgxLabelDirective]
})
export class IgxDatePickerReactiveFormComponent {
@ViewChild(IgxDatePickerComponent)
diff --git a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts
index 36ec5a54f1e..97b927c6e59 100644
--- a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts
+++ b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts
@@ -24,6 +24,7 @@ import {
ViewChild,
ViewContainerRef
} from '@angular/core';
+import { NgIf } from '@angular/common';
import {
AbstractControl,
ControlValueAccessor,
@@ -33,17 +34,16 @@ import {
ValidationErrors,
Validator
} from '@angular/forms';
-import { fromEvent, MonoTypeOperatorFunction, noop, Subscription } from 'rxjs';
-import { filter, takeUntil } from 'rxjs/operators';
-import { fadeIn, fadeOut } from '../animations/fade';
import {
- IFormattingOptions,
- IFormattingViews,
- IgxCalendarComponent,
- IgxCalendarHeaderTemplateDirective,
- IgxCalendarSubheaderTemplateDirective,
- isDateInRanges
+ IgxCalendarComponent, IgxCalendarHeaderTemplateDirective, IgxCalendarSubheaderTemplateDirective,
+ isDateInRanges, IFormattingViews, IFormattingOptions
} from '../calendar/public_api';
+import {
+ IgxLabelDirective, IGX_INPUT_GROUP_TYPE, IgxInputGroupType, IgxInputState, IgxInputGroupComponent, IgxPrefixDirective, IgxInputDirective, IgxSuffixDirective
+} from '../input-group/public_api';
+import { fromEvent, Subscription, noop, MonoTypeOperatorFunction } from 'rxjs';
+import { filter, takeUntil } from 'rxjs/operators';
+import { fadeIn, fadeOut } from '../animations/fade';
import { DateRangeDescriptor, DateRangeType } from '../core/dates/dateRange';
import { DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
import { IDatePickerResourceStrings } from '../core/i18n/date-picker-resources';
@@ -56,14 +56,6 @@ import { PickerHeaderOrientation } from '../date-common/types';
import { DateTimeUtil } from '../date-common/util/date-time.util';
import { DatePart, DatePartDeltas, IgxDateTimeEditorDirective } from '../directives/date-time-editor/public_api';
import { IgxOverlayOutletDirective } from '../directives/toggle/toggle.directive';
-import {
- IgxInputDirective,
- IgxInputGroupComponent,
- IgxInputGroupType,
- IgxInputState,
- IgxLabelDirective,
- IGX_INPUT_GROUP_TYPE
-} from '../input-group/public_api';
import {
AbsoluteScrollStrategy,
AutoPositionStrategy,
@@ -73,6 +65,8 @@ import {
OverlaySettings
} from '../services/public_api';
import { IDatePickerValidationFailedEventArgs } from './date-picker.common';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxTextSelectionDirective } from '../directives/text-selection/text-selection.directive';
let NEXT_ID = 0;
@@ -95,7 +89,18 @@ let NEXT_ID = 0;
],
selector: 'igx-date-picker',
templateUrl: 'date-picker.component.html',
- styles: [':host { display: block; }']
+ styles: [':host { display: block; }'],
+ standalone: true,
+ imports: [
+ NgIf,
+ IgxInputGroupComponent,
+ IgxPrefixDirective,
+ IgxIconComponent,
+ IgxInputDirective,
+ IgxDateTimeEditorDirective,
+ IgxTextSelectionDirective,
+ IgxSuffixDirective
+ ]
})
export class IgxDatePickerComponent extends PickerBaseDirective implements ControlValueAccessor, Validator,
OnInit, AfterViewInit, OnDestroy, AfterViewChecked, AfterContentChecked {
diff --git a/projects/igniteui-angular/src/lib/date-picker/date-picker.directives.ts b/projects/igniteui-angular/src/lib/date-picker/date-picker.directives.ts
deleted file mode 100644
index a227875a82d..00000000000
--- a/projects/igniteui-angular/src/lib/date-picker/date-picker.directives.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Directive, TemplateRef } from '@angular/core';
-
-@Directive({
- selector: '[igxDatePickerTemplate]'
-})
-
-/**
- * IgxDatePickerTemplateDirective can be used to re-template the date-picker input-group.
- *
- * @hidden
- */
-export class IgxDatePickerTemplateDirective {
- constructor(public template: TemplateRef) { }
-}
diff --git a/projects/igniteui-angular/src/lib/date-picker/date-picker.module.ts b/projects/igniteui-angular/src/lib/date-picker/date-picker.module.ts
index 041534284c4..4a15b565b2b 100644
--- a/projects/igniteui-angular/src/lib/date-picker/date-picker.module.ts
+++ b/projects/igniteui-angular/src/lib/date-picker/date-picker.module.ts
@@ -1,37 +1,16 @@
-import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { IgxCalendarModule } from '../calendar/public_api';
-import { IgxCalendarContainerModule } from '../date-common/calendar-container/calendar-container.component';
-import { IgxPickersCommonModule } from '../date-common/picker-icons.common';
-import { IgxDateTimeEditorModule } from '../directives/date-time-editor/public_api';
-import { IgxMaskModule } from '../directives/mask/mask.directive';
-import { IgxTextSelectionModule } from '../directives/text-selection/text-selection.directive';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxInputGroupModule } from '../input-group/public_api';
-import { IgxDatePickerComponent } from './date-picker.component';
+import { IGX_DATE_PICKER_DIRECTIVES } from './public_api';
-/** @hidden */
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
@NgModule({
- declarations: [
- IgxDatePickerComponent
+ imports: [
+ ...IGX_DATE_PICKER_DIRECTIVES
],
exports: [
- IgxDatePickerComponent,
- IgxPickersCommonModule,
- IgxInputGroupModule
- ],
- imports: [
- FormsModule,
- CommonModule,
- IgxIconModule,
- IgxMaskModule,
- IgxCalendarModule,
- IgxInputGroupModule,
- IgxPickersCommonModule,
- IgxTextSelectionModule,
- IgxDateTimeEditorModule,
- IgxCalendarContainerModule,
+ ...IGX_DATE_PICKER_DIRECTIVES
]
})
export class IgxDatePickerModule { }
diff --git a/projects/igniteui-angular/src/lib/date-picker/public_api.ts b/projects/igniteui-angular/src/lib/date-picker/public_api.ts
index 96e209535d1..ce993452a99 100644
--- a/projects/igniteui-angular/src/lib/date-picker/public_api.ts
+++ b/projects/igniteui-angular/src/lib/date-picker/public_api.ts
@@ -1,2 +1,20 @@
+import { IgxPickerActionsDirective, IgxPickerClearComponent, IgxPickerToggleComponent } from '../date-common/picker-icons.common';
+import { IgxHintDirective } from '../directives/hint/hint.directive';
+import { IgxLabelDirective } from '../directives/label/label.directive';
+import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxDatePickerComponent } from './date-picker.component';
+
export * from './date-picker.component';
-export * from './date-picker.module';
+
+/* NOTE: Date picker directives collection for ease-of-use import in standalone components scenario */
+export const IGX_DATE_PICKER_DIRECTIVES = [
+ IgxDatePickerComponent,
+ IgxPickerToggleComponent,
+ IgxPickerClearComponent,
+ IgxPickerActionsDirective,
+ IgxLabelDirective,
+ IgxPrefixDirective,
+ IgxSuffixDirective,
+ IgxHintDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker-inputs.common.ts b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker-inputs.common.ts
index 296bab4f653..5c8067687aa 100644
--- a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker-inputs.common.ts
+++ b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker-inputs.common.ts
@@ -6,6 +6,11 @@ import { IgxInputGroupBase } from '../input-group/input-group.common';
import { DateTimeUtil } from '../date-common/util/date-time.util';
import { IgxDateTimeEditorDirective } from '../directives/date-time-editor/public_api';
import { isDate } from '../core/utils';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
+import { NgIf, NgTemplateOutlet, NgClass, NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';
/** Represents a range between two dates. */
export interface DateRange {
@@ -14,7 +19,10 @@ export interface DateRange {
}
/** @hidden @internal */
-@Pipe({ name: 'dateRange' })
+@Pipe({
+ name: 'dateRange',
+ standalone: true
+})
export class DateRangePickerFormatPipe implements PipeTransform {
public transform(values: DateRange, appliedFormat?: string,
locale?: string, formatter?: (_: DateRange) => string): string {
@@ -49,7 +57,8 @@ export class DateRangePickerFormatPipe implements PipeTransform {
@Component({
template: ``,
selector: `igx-date-range-base`,
- providers: [{ provide: IgxInputGroupBase, useExisting: IgxDateRangeInputsBaseComponent }]
+ providers: [{ provide: IgxInputGroupBase, useExisting: IgxDateRangeInputsBaseComponent }],
+ standalone: true
})
export class IgxDateRangeInputsBaseComponent extends IgxInputGroupComponent {
@ContentChild(IgxDateTimeEditorDirective)
@@ -116,7 +125,9 @@ export class IgxDateRangeInputsBaseComponent extends IgxInputGroupComponent {
providers: [
{ provide: IgxInputGroupBase, useExisting: IgxDateRangeStartComponent },
{ provide: IgxDateRangeInputsBaseComponent, useExisting: IgxDateRangeStartComponent }
- ]
+ ],
+ standalone: true,
+ imports: [NgIf, NgTemplateOutlet, IgxPrefixDirective, IgxButtonDirective, NgClass, IgxSuffixDirective, IgxIconComponent, NgSwitch, NgSwitchCase, NgSwitchDefault]
})
export class IgxDateRangeStartComponent extends IgxDateRangeInputsBaseComponent { }
@@ -150,7 +161,9 @@ export class IgxDateRangeStartComponent extends IgxDateRangeInputsBaseComponent
providers: [
{ provide: IgxInputGroupBase, useExisting: IgxDateRangeEndComponent },
{ provide: IgxDateRangeInputsBaseComponent, useExisting: IgxDateRangeEndComponent }
- ]
+ ],
+ standalone: true,
+ imports: [NgIf, NgTemplateOutlet, IgxPrefixDirective, IgxButtonDirective, NgClass, IgxSuffixDirective, IgxIconComponent, NgSwitch, NgSwitchCase, NgSwitchDefault]
})
export class IgxDateRangeEndComponent extends IgxDateRangeInputsBaseComponent { }
@@ -182,6 +195,7 @@ export class IgxDateRangeEndComponent extends IgxDateRangeInputsBaseComponent {
* ```
*/
@Directive({
- selector: '[igxDateRangeSeparator]'
+ selector: '[igxDateRangeSeparator]',
+ standalone: true
})
export class IgxDateRangeSeparatorDirective { }
diff --git a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.spec.ts b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.spec.ts
index ff879e885db..9355dc03e6e 100644
--- a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.spec.ts
@@ -1,33 +1,31 @@
import { ComponentFixture, TestBed, fakeAsync, tick, waitForAsync, flush } from '@angular/core/testing';
import { Component, OnInit, ViewChild, DebugElement, ChangeDetectionStrategy } from '@angular/core';
-import { IgxInputGroupModule, IgxInputState } from '../input-group/public_api';
+import { IgxInputDirective, IgxInputState, IgxLabelDirective, IgxPrefixDirective, IgxSuffixDirective } from '../input-group/public_api';
import { PickerInteractionMode } from '../date-common/types';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { FormsModule, ReactiveFormsModule, UntypedFormBuilder, UntypedFormControl, Validators } from '@angular/forms';
-import { IgxDateRangePickerModule } from './date-range-picker.module';
import { By } from '@angular/platform-browser';
import { ControlsFunction } from '../test-utils/controls-functions.spec';
import { UIInteractions } from '../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../test-utils/configure-suite';
-import { HelperTestFunctions } from '../calendar/calendar-helper-utils';
+import { HelperTestFunctions } from '../test-utils/calendar-helper-utils';
import { CancelableEventArgs } from '../core/utils';
-import { DateRange } from './date-range-picker-inputs.common';
-import { IgxDateTimeEditorModule, IgxDateTimeEditorDirective } from '../directives/date-time-editor/public_api';
+import { DateRange, IgxDateRangeSeparatorDirective, IgxDateRangeStartComponent } from './date-range-picker-inputs.common';
+import { IgxDateTimeEditorDirective } from '../directives/date-time-editor/public_api';
import { DateRangeType } from '../core/dates';
import { IgxDateRangePickerComponent, IgxDateRangeEndComponent } from './public_api';
-import { IgxIconModule } from '../icon/public_api';
import { AutoPositionStrategy, IgxOverlayService } from '../services/public_api';
import { AnimationMetadata, AnimationOptions } from '@angular/animations';
-import { IgxPickersCommonModule } from '../date-common/public_api';
-import { IgxCalendarContainerComponent, IgxCalendarContainerModule } from '../date-common/calendar-container/calendar-container.component';
+import { IgxCalendarContainerComponent } from '../date-common/calendar-container/calendar-container.component';
import { IgxCalendarComponent, WEEKDAYS } from '../calendar/public_api';
import { Subject } from 'rxjs';
-import { CommonModule } from '@angular/common';
+import { AsyncPipe } from '@angular/common';
import { AnimationService } from '../services/animation/animation';
import { IgxAngularAnimationService } from '../services/animation/angular-animation-service';
+import { IgxPickerToggleComponent } from '../date-common/picker-icons.common';
+import { IgxIconComponent } from '../icon/icon.component';
// The number of milliseconds in one day
-const ONE_DAY = 1000 * 60 * 60 * 24;
const DEBOUNCE_TIME = 16;
const DEFAULT_ICON_TEXT = 'date_range';
const DEFAULT_FORMAT_OPTIONS = { day: '2-digit', month: '2-digit', year: 'numeric' };
@@ -142,7 +140,7 @@ describe('IgxDateRangePicker', () => {
mockPlatformUtil = { isIOS: false };
mockAnimationService = new IgxAngularAnimationService(mockAnimationBuilder);
overlay = new IgxOverlayService(
- mockFactoryResolver, mockApplicationRef, mockInjector, mockAnimationBuilder, mockDocument, mockNgZone, mockPlatformUtil, mockAnimationService);
+ mockFactoryResolver, mockApplicationRef, mockInjector, mockDocument, mockNgZone, mockPlatformUtil, mockAnimationService);
mockCalendar = new IgxCalendarComponent(platform, 'en');
mockDaysView = {
@@ -337,26 +335,14 @@ describe('IgxDateRangePicker', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- DateRangeTestComponent,
+ imports: [
+ NoopAnimationsModule,
+ ReactiveFormsModule,
DateRangeDefaultComponent,
DateRangeDisabledComponent,
DateRangeReactiveFormComponent
- ],
- imports: [
- CommonModule,
- IgxDateRangePickerModule,
- IgxDateTimeEditorModule,
- IgxInputGroupModule,
- IgxIconModule,
- FormsModule,
- NoopAnimationsModule,
- IgxPickersCommonModule,
- IgxCalendarContainerModule,
- ReactiveFormsModule
]
- })
- .compileComponents();
+ }).compileComponents();
}));
beforeEach(fakeAsync(() => {
fixture = TestBed.createComponent(DateRangeDefaultComponent);
@@ -802,28 +788,16 @@ describe('IgxDateRangePicker', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- DateRangeTestComponent,
+ imports: [
+ NoopAnimationsModule,
+ ReactiveFormsModule,
DateRangeTwoInputsTestComponent,
DateRangeTwoInputsNgModelTestComponent,
DateRangeDisabledComponent,
DateRangeTwoInputsDisabledComponent,
DateRangeReactiveFormComponent
- ],
- imports: [
- CommonModule,
- IgxDateRangePickerModule,
- IgxDateTimeEditorModule,
- IgxPickersCommonModule,
- IgxCalendarContainerModule,
- IgxInputGroupModule,
- FormsModule,
- NoopAnimationsModule,
- IgxIconModule,
- ReactiveFormsModule
]
- })
- .compileComponents();
+ }).compileComponents();
}));
beforeEach(async () => {
fixture = TestBed.createComponent(DateRangeTwoInputsTestComponent);
@@ -1254,25 +1228,14 @@ describe('IgxDateRangePicker', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- DateRangeTestComponent,
+ imports: [
+ NoopAnimationsModule,
DateRangeDefaultComponent,
DateRangeCustomComponent,
DateRangeTemplatesComponent,
DateRangeTwoInputsTestComponent
- ],
- imports: [
- IgxDateRangePickerModule,
- IgxDateTimeEditorModule,
- IgxInputGroupModule,
- IgxIconModule,
- FormsModule,
- NoopAnimationsModule,
- IgxCalendarContainerModule,
- IgxPickersCommonModule
]
- })
- .compileComponents();
+ }).compileComponents();
}));
it('should render range separator', () => {
@@ -1446,7 +1409,8 @@ describe('IgxDateRangePicker', () => {
@Component({
selector: 'igx-date-range-test',
- template: ''
+ template: '',
+ standalone: true
})
export class DateRangeTestComponent implements OnInit {
[x: string]: any;
@@ -1463,12 +1427,15 @@ export class DateRangeTestComponent implements OnInit {
this.doneButtonText = 'Done';
}
}
+
@Component({
selector: 'igx-date-range-single-input-test',
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxDateRangePickerComponent]
})
export class DateRangeDefaultComponent extends DateRangeTestComponent {
public override disabled = false;
@@ -1493,7 +1460,20 @@ export class DateRangeDefaultComponent extends DateRangeTestComponent {
-`
+ `,
+ standalone: true,
+ imports: [
+ IgxDateRangePickerComponent,
+ IgxDateRangeStartComponent,
+ IgxDateRangeEndComponent,
+ IgxPickerToggleComponent,
+ IgxIconComponent,
+ IgxPrefixDirective,
+ IgxInputDirective,
+ IgxDateTimeEditorDirective,
+ IgxDateRangeSeparatorDirective,
+ FormsModule
+ ]
})
export class DateRangeTwoInputsTestComponent extends DateRangeTestComponent {
public range;
@@ -1511,7 +1491,9 @@ export class DateRangeTwoInputsTestComponent extends DateRangeTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxDateRangePickerComponent, IgxDateRangeStartComponent, IgxDateRangeEndComponent, IgxInputDirective, IgxDateTimeEditorDirective, FormsModule]
})
export class DateRangeTwoInputsNgModelTestComponent extends DateRangeTestComponent {
public range = { start: new Date(2020, 1, 1), end: new Date(2020, 1, 4) };
@@ -1520,10 +1502,12 @@ export class DateRangeTwoInputsNgModelTestComponent extends DateRangeTestCompone
@Component({
selector: 'igx-date-range-single-input-label-test',
template: `
-
-Select Date
-
-`
+
+ Select Date
+
+ `,
+ standalone: true,
+ imports: [IgxDateRangePickerComponent, IgxLabelDirective]
})
export class DateRangeCustomComponent extends DateRangeTestComponent {
public date: DateRange;
@@ -1577,7 +1561,20 @@ export class DateRangeCustomComponent extends DateRangeTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxDateRangePickerComponent,
+ IgxDateRangeStartComponent,
+ IgxDateRangeEndComponent,
+ IgxPickerToggleComponent,
+ IgxIconComponent,
+ FormsModule,
+ IgxInputDirective,
+ IgxDateTimeEditorDirective,
+ IgxPrefixDirective,
+ IgxSuffixDirective
+ ]
})
export class DateRangeTemplatesComponent extends DateRangeTestComponent {
public range;
@@ -1585,7 +1582,9 @@ export class DateRangeTemplatesComponent extends DateRangeTestComponent {
@Component({
template: ` `,
- changeDetection: ChangeDetectionStrategy.OnPush
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ standalone: true,
+ imports: [IgxDateRangePickerComponent, AsyncPipe]
})
export class DateRangeDisabledComponent extends DateRangeTestComponent {
public disabled$ = new Subject();
@@ -1606,25 +1605,37 @@ export class DateRangeDisabledComponent extends DateRangeTestComponent {
`,
- changeDetection: ChangeDetectionStrategy.OnPush
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ standalone: true,
+ imports: [IgxDateRangePickerComponent, IgxDateRangeStartComponent, IgxDateRangeEndComponent, IgxInputDirective, IgxDateTimeEditorDirective, AsyncPipe]
})
export class DateRangeTwoInputsDisabledComponent extends DateRangeDisabledComponent { }
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxDateRangePickerComponent,
+ IgxDateRangeStartComponent,
+ IgxDateRangeEndComponent,
+ IgxInputDirective,
+ IgxLabelDirective,
+ IgxDateTimeEditorDirective,
+ ReactiveFormsModule
+ ]
})
export class DateRangeReactiveFormComponent {
@ViewChild('range', {read: IgxDateRangePickerComponent}) public dateRange: IgxDateRangePickerComponent;
diff --git a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts
index 8672c3a47b2..6df48ed0146 100644
--- a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts
+++ b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts
@@ -4,12 +4,15 @@ import {
OnChanges, OnDestroy, OnInit, Optional, Output, QueryList,
SimpleChanges, TemplateRef, ViewChild, ViewContainerRef
} from '@angular/core';
+import { NgTemplateOutlet, NgIf } from '@angular/common';
import {
AbstractControl, ControlValueAccessor, NgControl,
NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator
} from '@angular/forms';
+
import { fromEvent, merge, MonoTypeOperatorFunction, noop, Subscription } from 'rxjs';
import { filter, takeUntil } from 'rxjs/operators';
+
import { fadeIn, fadeOut } from '../animations/fade';
import { CalendarSelection, IgxCalendarComponent } from '../calendar/public_api';
import { DateRangeType } from '../core/dates';
@@ -30,10 +33,9 @@ import {
AutoPositionStrategy, IgxOverlayService, OverlayCancelableEventArgs, OverlayEventArgs,
OverlaySettings, PositionSettings
} from '../services/public_api';
-import {
- DateRange, IgxDateRangeEndComponent, IgxDateRangeInputsBaseComponent,
- IgxDateRangeSeparatorDirective, IgxDateRangeStartComponent
-} from './date-range-picker-inputs.common';
+import { DateRange, IgxDateRangeEndComponent, IgxDateRangeInputsBaseComponent, IgxDateRangeSeparatorDirective, IgxDateRangeStartComponent, DateRangePickerFormatPipe } from './date-range-picker-inputs.common';
+import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
+import { IgxIconComponent } from '../icon/icon.component';
const SingleInputDatesConcatenationString = ' - ';
@@ -65,6 +67,16 @@ const SingleInputDatesConcatenationString = ' - ';
providers: [
{ provide: NG_VALUE_ACCESSOR, useExisting: IgxDateRangePickerComponent, multi: true },
{ provide: NG_VALIDATORS, useExisting: IgxDateRangePickerComponent, multi: true }
+ ],
+ standalone: true,
+ imports: [
+ NgIf,
+ NgTemplateOutlet,
+ IgxIconComponent,
+ IgxInputGroupComponent,
+ IgxInputDirective,
+ IgxPrefixDirective,
+ DateRangePickerFormatPipe
]
})
export class IgxDateRangePickerComponent extends PickerBaseDirective
@@ -670,7 +682,7 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective
.forEach(i => {
i.inputDirective.valid = this.isTouchedOrDirty && !this._ngControl.disabled
? this.getInputState(i.isFocused)
- : IgxInputState.INITIAL;;
+ : IgxInputState.INITIAL;
});
}
this.setRequiredToInputs();
diff --git a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.module.ts b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.module.ts
index 202c0515f03..ea02fcc9b47 100644
--- a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.module.ts
+++ b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.module.ts
@@ -1,50 +1,16 @@
import { NgModule } from '@angular/core';
-import { IgxDateRangePickerComponent } from './date-range-picker.component';
-import { IgxCalendarModule } from '../calendar/public_api';
-import { IgxToggleModule } from '../directives/toggle/toggle.directive';
-import { CommonModule } from '@angular/common';
-import { IgxButtonModule } from '../directives/button/button.directive';
-import { IgxInputGroupModule } from '../input-group/public_api';
-import { IgxIconModule } from '../icon/public_api';
-import {
- IgxDateRangeStartComponent, IgxDateRangeEndComponent,
- DateRangePickerFormatPipe,
- IgxDateRangeSeparatorDirective,
- IgxDateRangeInputsBaseComponent
-} from './date-range-picker-inputs.common';
-import { IgxDateTimeEditorModule } from '../directives/date-time-editor/public_api';
-import { IgxPickersCommonModule } from '../date-common/picker-icons.common';
-import { IgxCalendarContainerModule } from '../date-common/calendar-container/calendar-container.component';
+import { IGX_DATE_RANGE_PICKER_DIRECTIVES } from './public_api';
-/** @hidden */
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
@NgModule({
- declarations: [
- IgxDateRangePickerComponent,
- IgxDateRangeStartComponent,
- IgxDateRangeEndComponent,
- IgxDateRangeInputsBaseComponent,
- DateRangePickerFormatPipe,
- IgxDateRangeSeparatorDirective,
- ],
imports: [
- CommonModule,
- IgxIconModule,
- IgxButtonModule,
- IgxToggleModule,
- IgxCalendarModule,
- IgxInputGroupModule,
- IgxPickersCommonModule,
- IgxDateTimeEditorModule,
- IgxCalendarContainerModule
+ ...IGX_DATE_RANGE_PICKER_DIRECTIVES
],
exports: [
- IgxDateRangePickerComponent,
- IgxDateRangeStartComponent,
- IgxDateRangeEndComponent,
- IgxDateRangeSeparatorDirective,
- IgxDateTimeEditorModule,
- IgxPickersCommonModule,
- IgxInputGroupModule
+ ...IGX_DATE_RANGE_PICKER_DIRECTIVES
]
})
export class IgxDateRangePickerModule { }
diff --git a/projects/igniteui-angular/src/lib/date-range-picker/public_api.ts b/projects/igniteui-angular/src/lib/date-range-picker/public_api.ts
index 23a291937b9..6dd6697ee40 100644
--- a/projects/igniteui-angular/src/lib/date-range-picker/public_api.ts
+++ b/projects/igniteui-angular/src/lib/date-range-picker/public_api.ts
@@ -1,3 +1,21 @@
+import { IgxHintDirective } from '../directives/hint/hint.directive';
+import { IgxLabelDirective } from '../directives/label/label.directive';
+import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxDateRangeEndComponent, IgxDateRangeSeparatorDirective, IgxDateRangeStartComponent } from './date-range-picker-inputs.common';
+import { IgxDateRangePickerComponent } from './date-range-picker.component';
+
export * from './date-range-picker-inputs.common';
export * from './date-range-picker.component';
-export * from './date-range-picker.module';
+
+/* NOTE: Date-range picker directives collection for ease-of-use import in standalone components scenario */
+export const IGX_DATE_RANGE_PICKER_DIRECTIVES = [
+ IgxDateRangePickerComponent,
+ IgxDateRangeStartComponent,
+ IgxDateRangeEndComponent,
+ IgxDateRangeSeparatorDirective,
+ IgxLabelDirective,
+ IgxPrefixDirective,
+ IgxSuffixDirective,
+ IgxHintDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/dialog/dialog.component.spec.ts b/projects/igniteui-angular/src/lib/dialog/dialog.component.spec.ts
index b46cbe2f2e3..52cee9893dc 100644
--- a/projects/igniteui-angular/src/lib/dialog/dialog.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/dialog/dialog.component.spec.ts
@@ -1,14 +1,15 @@
import { Component, ViewChild } from '@angular/core';
import { TestBed, fakeAsync, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
+import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { UIInteractions } from '../test-utils/ui-interactions.spec';
-import { IDialogCancellableEventArgs, IDialogEventArgs, IgxDialogComponent, IgxDialogModule } from './dialog.component';
+import { IDialogCancellableEventArgs, IDialogEventArgs, IgxDialogComponent } from './dialog.component';
import { configureTestSuite } from '../test-utils/configure-suite';
import { useAnimation } from '@angular/animations';
import { PositionSettings, HorizontalAlignment, VerticalAlignment } from '../services/overlay/utilities';
import { slideOutBottom, slideInTop } from '../animations/main';
import { IgxToggleDirective } from '../directives/toggle/toggle.directive';
+import { IgxDialogActionsDirective, IgxDialogTitleDirective } from './dialog.directives';
const OVERLAY_MAIN_CLASS = 'igx-overlay';
const OVERLAY_WRAPPER_CLASS = `${OVERLAY_MAIN_CLASS}__wrapper--flex`;
@@ -19,7 +20,8 @@ describe('Dialog', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
AlertComponent,
DialogComponent,
CustomDialogComponent,
@@ -29,8 +31,7 @@ describe('Dialog', () => {
DialogSampleComponent,
PositionSettingsDialogComponent,
DialogTwoWayDataBindingComponent
- ],
- imports: [BrowserAnimationsModule, NoopAnimationsModule, IgxDialogModule]
+ ]
}).compileComponents();
}));
@@ -519,141 +520,175 @@ describe('Dialog', () => {
});
@Component({
- template: `
-
-
-
` })
+ template: `
+
+
+
+
`,
+ standalone: true,
+ imports: [IgxDialogComponent]
+})
class AlertComponent {
@ViewChild('dialog', { static: true }) public dialog: IgxDialogComponent;
public isModal = false;
}
@Component({
- template: `
-
-
-
` })
+ template: `
+
+
+
+
`,
+ standalone: true,
+ imports: [IgxDialogComponent]
+})
class DialogComponent {
@ViewChild('dialog', { static: true }) public dialog: IgxDialogComponent;
}
@Component({
- template: `
-
-
-
` })
+ template: `
+
+
+
+
`,
+ standalone: true,
+ imports: [IgxDialogComponent]
+})
class DialogTwoWayDataBindingComponent {
@ViewChild('dialog', { static: true }) public dialog: IgxDialogComponent;
public myDialog = false;
}
@Component({
- template: `
-
-
-
Custom Sample
-
-
-
` })
+ template: `
+
+
+
+
Custom Sample
+
+
+
`,
+ standalone: true,
+ imports: [IgxDialogComponent]
+})
class DialogSampleComponent {
@ViewChild('dialog', { static: true }) public dialog: IgxDialogComponent;
}
@Component({
- template: `
-
-
-
-
-
-
` })
+ template: `
+
+
+
+
+
+
+
`,
+ standalone: true,
+ imports: [IgxDialogComponent]
+})
class CustomDialogComponent {
@ViewChild('dialog', { static: true }) public dialog: IgxDialogComponent;
}
@Component({
- template: `
-
-
-
- ` })
+ template: `
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxDialogComponent]
+})
class NestedDialogsComponent {
@ViewChild('child', { static: true }) public child: IgxDialogComponent;
@ViewChild('main', { static: true }) public main: IgxDialogComponent;
}
@Component({
- template: `
-
- TITLE 1
-
-
- BUTTONS 1
-
- ` })
+ template: `
+
+
+ TITLE 1
+
+
+ BUTTONS 1
+
+ `,
+ standalone: true,
+ imports: [IgxDialogComponent, IgxDialogTitleDirective, IgxDialogActionsDirective]
+})
class CustomTemplates1DialogComponent {
@ViewChild('dialog', { static: true }) public dialog: IgxDialogComponent;
}
@Component({
- template: `
- TITLE 2
- BUTTONS 2
- ` })
+ template: `
+
+ TITLE 2
+ BUTTONS 2
+ `,
+ standalone: true,
+ imports: [IgxDialogComponent, IgxDialogTitleDirective, IgxDialogActionsDirective]
+})
class CustomTemplates2DialogComponent {
@ViewChild('dialog', { static: true }) public dialog: IgxDialogComponent;
}
@Component({
- template: `
- ` })
+ `,
+ standalone: true,
+ imports: [IgxDialogComponent]
+})
class PositionSettingsDialogComponent {
@ViewChild('dialog', { static: true }) public dialog: IgxDialogComponent;
diff --git a/projects/igniteui-angular/src/lib/dialog/dialog.component.ts b/projects/igniteui-angular/src/lib/dialog/dialog.component.ts
index 05c73d24ad6..8cc1ff97f28 100644
--- a/projects/igniteui-angular/src/lib/dialog/dialog.component.ts
+++ b/projects/igniteui-angular/src/lib/dialog/dialog.component.ts
@@ -1,11 +1,10 @@
-import { CommonModule } from '@angular/common';
+import { NgIf } from '@angular/common';
import {
Component,
ElementRef,
EventEmitter,
HostBinding,
Input,
- NgModule,
OnDestroy,
OnInit,
Optional,
@@ -16,14 +15,13 @@ import {
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { IgxNavigationService, IToggleView } from '../core/navigation';
-import { IgxButtonModule, IgxButtonType } from '../directives/button/button.directive';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
-import { IgxDialogActionsDirective, IgxDialogTitleDirective } from './dialog.directives';
-import { IgxToggleModule, IgxToggleDirective } from '../directives/toggle/toggle.directive';
+import { IgxButtonType, IgxButtonDirective } from '../directives/button/button.directive';
+import { IgxRippleDirective } from '../directives/ripple/ripple.directive';
+import { IgxToggleDirective } from '../directives/toggle/toggle.directive';
import { OverlaySettings, GlobalPositionStrategy, NoOpScrollStrategy, PositionSettings } from '../services/public_api';
import {fadeIn, fadeOut} from '../animations/fade/index';
-import { IgxFocusModule } from '../directives/focus/focus.directive';
-import { IgxFocusTrapModule } from '../directives/focus-trap/focus-trap.directive';
+import { IgxFocusDirective } from '../directives/focus/focus.directive';
+import { IgxFocusTrapDirective } from '../directives/focus-trap/focus-trap.directive';
import { CancelableEventArgs, IBaseEventArgs } from '../core/utils';
let DIALOG_ID = 0;
@@ -56,7 +54,9 @@ let DIALOG_ID = 0;
*/
@Component({
selector: 'igx-dialog',
- templateUrl: 'dialog-content.component.html'
+ templateUrl: 'dialog-content.component.html',
+ standalone: true,
+ imports: [IgxToggleDirective, IgxFocusTrapDirective, NgIf, IgxFocusDirective, IgxButtonDirective, IgxRippleDirective]
})
export class IgxDialogComponent implements IToggleView, OnInit, OnDestroy, AfterContentInit {
private static NEXT_ID = 1;
@@ -623,15 +623,3 @@ export interface IDialogEventArgs extends IBaseEventArgs {
}
export interface IDialogCancellableEventArgs extends IDialogEventArgs, CancelableEventArgs { }
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxDialogComponent, IgxDialogTitleDirective, IgxDialogActionsDirective],
- exports: [IgxDialogComponent, IgxDialogTitleDirective, IgxDialogActionsDirective],
- imports: [CommonModule, IgxToggleModule, IgxButtonModule, IgxRippleModule, IgxFocusModule, IgxFocusTrapModule]
-})
-export class IgxDialogModule { }
-
-export * from './dialog.directives';
diff --git a/projects/igniteui-angular/src/lib/dialog/dialog.directives.ts b/projects/igniteui-angular/src/lib/dialog/dialog.directives.ts
index 79377603ab9..0df18988c47 100644
--- a/projects/igniteui-angular/src/lib/dialog/dialog.directives.ts
+++ b/projects/igniteui-angular/src/lib/dialog/dialog.directives.ts
@@ -4,7 +4,8 @@ import { Directive, HostBinding } from '@angular/core';
* @hidden
*/
@Directive({
- selector: 'igx-dialog-title,[igxDialogTitle]'
+ selector: 'igx-dialog-title,[igxDialogTitle]',
+ standalone: true
})
export class IgxDialogTitleDirective {
@@ -16,7 +17,8 @@ export class IgxDialogTitleDirective {
* @hidden
*/
@Directive({
- selector: 'igx-dialog-actions,[igxDialogActions]'
+ selector: 'igx-dialog-actions,[igxDialogActions]',
+ standalone: true
})
export class IgxDialogActionsDirective {
diff --git a/projects/igniteui-angular/src/lib/dialog/dialog.module.ts b/projects/igniteui-angular/src/lib/dialog/dialog.module.ts
new file mode 100644
index 00000000000..e5e6dccb86c
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/dialog/dialog.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IGX_DIALOG_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ ...IGX_DIALOG_DIRECTIVES
+ ],
+ exports: [
+ ...IGX_DIALOG_DIRECTIVES
+ ]
+})
+export class IgxDialogModule { }
diff --git a/projects/igniteui-angular/src/lib/dialog/public_api.ts b/projects/igniteui-angular/src/lib/dialog/public_api.ts
new file mode 100644
index 00000000000..9842d637b6c
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/dialog/public_api.ts
@@ -0,0 +1,12 @@
+import { IgxDialogComponent } from './dialog.component';
+import { IgxDialogActionsDirective, IgxDialogTitleDirective } from './dialog.directives';
+
+export * from './dialog.component';
+export * from './dialog.directives';
+
+/* NOTE: Dialog directives collection for ease-of-use import in standalone components scenario */
+export const IGX_DIALOG_DIRECTIVES = [
+ IgxDialogComponent,
+ IgxDialogTitleDirective,
+ IgxDialogActionsDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/directives/autocomplete/autocomplete.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/autocomplete/autocomplete.directive.spec.ts
index 449f00c0f4e..9aa2f62e865 100644
--- a/projects/igniteui-angular/src/lib/directives/autocomplete/autocomplete.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/autocomplete/autocomplete.directive.spec.ts
@@ -2,15 +2,17 @@ import { Component, ViewChild, Pipe, PipeTransform, ElementRef } from '@angular/
import { TestBed, tick, fakeAsync, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxAutocompleteModule, IgxAutocompleteDirective, AutocompleteOverlaySettings } from './autocomplete.directive';
+import { IgxAutocompleteDirective, AutocompleteOverlaySettings } from './autocomplete.directive';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
import { IgxInputDirective } from '../input/input.directive';
-import { IgxInputGroupModule, IgxInputGroupComponent } from '../../input-group/public_api';
-import { IgxDropDownModule, IgxDropDownComponent, IgxDropDownItemNavigationDirective } from '../../drop-down/public_api';
+import { IgxInputGroupComponent, IgxLabelDirective, IgxPrefixDirective, IgxSuffixDirective } from '../../input-group/public_api';
+import { IgxDropDownComponent, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective } from '../../drop-down/public_api';
import { FormsModule, ReactiveFormsModule, UntypedFormGroup, UntypedFormBuilder, Validators } from '@angular/forms';
-import { IgxIconModule } from '../../icon/public_api';
import { ConnectedPositioningStrategy, VerticalAlignment, HorizontalAlignment } from '../../services/public_api';
+import { NgFor } from '@angular/common';
+import { IgxRippleDirective } from '../ripple/ripple.directive';
+import { IgxIconComponent } from '../../icon/icon.component';
const CSS_CLASS_DROPDOWNLIST = 'igx-drop-down__list';
const CSS_CLASS_DROPDOWNLIST_SCROLL = 'igx-drop-down__list-scroll';
@@ -28,23 +30,13 @@ describe('IgxAutocomplete', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- AutocompleteComponent,
- AutocompleteInputComponent,
- AutocompleteFormComponent,
- IgxAutocompletePipeStartsWith
- ],
imports: [
- IgxInputGroupModule,
- IgxDropDownModule,
- IgxAutocompleteModule,
- FormsModule,
- ReactiveFormsModule,
NoopAnimationsModule,
- IgxIconModule
+ AutocompleteComponent,
+ AutocompleteInputComponent,
+ AutocompleteFormComponent
]
- })
- .compileComponents();
+ }).compileComponents();
}));
describe('General tests: ', () => {
beforeEach(waitForAsync(() => {
@@ -933,8 +925,22 @@ describe('IgxAutocomplete', () => {
});
});
+@Pipe({
+ name: 'startsWith',
+ standalone: true
+})
+export class IgxAutocompletePipeStartsWith implements PipeTransform {
+ public transform(collection: any[], term = '', key?: string) {
+ return collection.filter(item => {
+ const currItem = key ? item[key] : item;
+ return currItem.toString().toLowerCase().startsWith(term.toString().toLowerCase());
+ });
+ }
+}
+
@Component({
- template: `
+ template: `
+
home
{
{{town}}
- `
+ `,
+ standalone: true,
+ imports: [
+ FormsModule,
+ IgxInputGroupComponent,
+ IgxPrefixDirective,
+ IgxSuffixDirective,
+ IgxInputDirective,
+ IgxDropDownComponent,
+ IgxDropDownItemComponent,
+ IgxIconComponent,
+ IgxAutocompleteDirective,
+ IgxAutocompletePipeStartsWith,
+ NgFor
+ ]
})
class AutocompleteComponent {
@ViewChild(IgxAutocompleteDirective, { static: true }) public autocomplete: IgxAutocompleteDirective;
@@ -982,7 +1002,17 @@ class AutocompleteComponent {
{{town}}
- `
+ `,
+ standalone: true,
+ imports: [
+ FormsModule,
+ IgxAutocompleteDirective,
+ IgxLabelDirective,
+ IgxDropDownComponent,
+ IgxDropDownItemComponent,
+ IgxAutocompletePipeStartsWith,
+ NgFor
+ ]
})
class AutocompleteInputComponent extends AutocompleteComponent {
@ViewChild('plainInput', { static: true }) public plainInput: ElementRef;
@@ -991,24 +1021,39 @@ class AutocompleteInputComponent extends AutocompleteComponent {
@Component({
template: `
-
-`
+
+ `,
+ standalone: true,
+ imports: [
+ ReactiveFormsModule,
+ IgxInputGroupComponent,
+ IgxInputDirective,
+ IgxLabelDirective,
+ IgxPrefixDirective,
+ IgxRippleDirective,
+ IgxDropDownComponent,
+ IgxDropDownItemComponent,
+ IgxIconComponent,
+ IgxAutocompleteDirective,
+ IgxAutocompletePipeStartsWith,
+ NgFor
+ ]
})
class AutocompleteFormComponent {
@@ -1034,13 +1079,3 @@ class AutocompleteFormComponent {
}
public onSubmitReactive() { }
}
-
-@Pipe({ name: 'startsWith' })
-export class IgxAutocompletePipeStartsWith implements PipeTransform {
- public transform(collection: any[], term = '', key?: string) {
- return collection.filter(item => {
- const currItem = key ? item[key] : item;
- return currItem.toString().toLowerCase().startsWith(term.toString().toLowerCase());
- });
- }
-}
diff --git a/projects/igniteui-angular/src/lib/directives/autocomplete/autocomplete.directive.ts b/projects/igniteui-angular/src/lib/directives/autocomplete/autocomplete.directive.ts
index 6a3577a5e0b..a7fa92d517e 100644
--- a/projects/igniteui-angular/src/lib/directives/autocomplete/autocomplete.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/autocomplete/autocomplete.directive.ts
@@ -7,7 +7,6 @@ import {
HostListener,
Inject,
Input,
- NgModule,
OnDestroy,
Optional,
Output,
@@ -16,7 +15,6 @@ import {
OnInit
} from '@angular/core';
import { NgModel, FormControlName } from '@angular/forms';
-import { CommonModule } from '@angular/common';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { CancelableEventArgs, IBaseEventArgs } from '../../core/utils';
@@ -28,13 +26,12 @@ import {
OverlaySettings
} from '../../services/public_api';
import {
- IgxDropDownComponent,
- IgxDropDownItemNavigationDirective,
- IgxDropDownModule,
- ISelectionEventArgs
-} from '../../drop-down/public_api';
+ IgxDropDownComponent
+} from '../../drop-down/drop-down.component';
+import { IgxDropDownItemNavigationDirective } from '../../drop-down/drop-down-navigation.directive';
import { IgxInputGroupComponent } from '../../input-group/public_api';
import { IgxOverlayOutletDirective } from '../toggle/toggle.directive';
+import { ISelectionEventArgs } from '../../drop-down/drop-down.common';
/**
* Interface that encapsulates onItemSelection event arguments - new value and cancel selection.
@@ -76,7 +73,8 @@ export interface AutocompleteOverlaySettings {
*/
@Directive({
selector: '[igxAutocomplete]',
- exportAs: 'igxAutocomplete'
+ exportAs: 'igxAutocomplete',
+ standalone: true
})
export class IgxAutocompleteDirective extends IgxDropDownItemNavigationDirective implements OnDestroy, AfterViewInit, OnInit {
/**
@@ -386,7 +384,7 @@ export class IgxAutocompleteDirective extends IgxDropDownItemNavigationDirective
} else {
this.nativeElement.value = newValue;
}
- };
+ }
private highlightFirstItem() {
if (this.target.focusedItem) {
@@ -395,13 +393,5 @@ export class IgxAutocompleteDirective extends IgxDropDownItemNavigationDirective
}
this.target.navigateFirst();
this.cdr.detectChanges();
- };
+ }
}
-
-/** @hidden */
-@NgModule({
- imports: [IgxDropDownModule, CommonModule],
- declarations: [IgxAutocompleteDirective],
- exports: [IgxAutocompleteDirective]
-})
-export class IgxAutocompleteModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/autocomplete/autocomplete.module.ts b/projects/igniteui-angular/src/lib/directives/autocomplete/autocomplete.module.ts
new file mode 100644
index 00000000000..346ba28d6b4
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/autocomplete/autocomplete.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxAutocompleteDirective } from './autocomplete.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxAutocompleteDirective],
+ exports: [IgxAutocompleteDirective]
+})
+export class IgxAutocompleteModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/button/button.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/button/button.directive.spec.ts
index 4cf8946b8cd..e93de981a47 100644
--- a/projects/igniteui-angular/src/lib/directives/button/button.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/button/button.directive.spec.ts
@@ -4,8 +4,10 @@ import { By } from '@angular/platform-browser';
import { IgxButtonDirective } from './button.directive';
import { configureTestSuite } from '../../test-utils/configure-suite';
-import { IgxIconComponent, IgxIconService } from '../../icon/public_api';
import { DisplayDensity } from '../../core/density';
+import { IgxRippleDirective } from '../ripple/ripple.directive';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { NoopAnimationsModule } from '@angular/platform-browser/animations';
const BUTTON_COMFORTABLE = 'igx-button';
const BUTTON_COSY = 'igx-button--cosy';
@@ -25,16 +27,13 @@ describe('IgxButton', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
InitButtonComponent,
ButtonWithAttribsComponent,
- ButtonsWithDisplayDensityComponent,
- IgxButtonDirective,
- IgxIconComponent
- ],
- providers: [IgxIconService]
- })
- .compileComponents();
+ ButtonsWithDisplayDensityComponent
+ ]
+ }).compileComponents();
}));
it('Initializes a button', () => {
@@ -151,10 +150,11 @@ describe('IgxButton', () => {
});
@Component({
- template:
- `
+ template: `
add
- `
+ `,
+ standalone: true,
+ imports: [IgxButtonDirective, IgxRippleDirective]
})
class InitButtonComponent {
@ViewChild(IgxButtonDirective, { read: IgxButtonDirective, static: true })
@@ -162,11 +162,12 @@ class InitButtonComponent {
}
@Component({
- template:
- `Test `
+ [disabled]="disabled">Test`,
+ standalone: true,
+ imports: [IgxButtonDirective]
})
class ButtonWithAttribsComponent {
public disabled = true;
@@ -175,8 +176,7 @@ class ButtonWithAttribsComponent {
}
@Component({
- template:
- `
+ template: `
Flat
Raised
Outlined
@@ -186,7 +186,9 @@ class ButtonWithAttribsComponent {
search
- `
+ `,
+ standalone: true,
+ imports: [IgxButtonDirective, IgxIconComponent]
})
class ButtonsWithDisplayDensityComponent {
@ViewChild('flat', { read: IgxButtonDirective, static: true })
diff --git a/projects/igniteui-angular/src/lib/directives/button/button.directive.ts b/projects/igniteui-angular/src/lib/directives/button/button.directive.ts
index 5794aa353ec..3a049b91c56 100644
--- a/projects/igniteui-angular/src/lib/directives/button/button.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/button/button.directive.ts
@@ -5,7 +5,6 @@ import {
HostBinding,
Input,
Output,
- NgModule,
Renderer2,
HostListener,
Optional,
@@ -48,7 +47,8 @@ export type IgxButtonType = typeof IgxButtonType[keyof typeof IgxButtonType];
* ```
*/
@Directive({
- selector: '[igxButton]'
+ selector: '[igxButton]',
+ standalone: true
})
export class IgxButtonDirective extends DisplayDensityBase {
private static ngAcceptInputType_type: IgxButtonType | '';
@@ -352,8 +352,4 @@ export interface IButtonEventArgs extends IBaseEventArgs {
*
* @hidden
*/
-@NgModule({
- declarations: [IgxButtonDirective],
- exports: [IgxButtonDirective]
-})
-export class IgxButtonModule {}
+
diff --git a/projects/igniteui-angular/src/lib/directives/button/button.module.ts b/projects/igniteui-angular/src/lib/directives/button/button.module.ts
new file mode 100644
index 00000000000..d4904d1ada3
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/button/button.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxButtonDirective } from './button.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxButtonDirective],
+ exports: [IgxButtonDirective]
+})
+export class IgxButtonModule {}
diff --git a/projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.directive.spec.ts
index 0832f5aaee0..265917974f3 100644
--- a/projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.directive.spec.ts
@@ -1,4 +1,4 @@
-import { IgxDateTimeEditorDirective, IgxDateTimeEditorModule } from './date-time-editor.directive';
+import { IgxDateTimeEditorDirective } from './date-time-editor.directive';
import { DatePart } from './date-time-editor.common';
import { DOCUMENT, formatDate } from '@angular/common';
import { Component, ViewChild, DebugElement, EventEmitter, Output, SimpleChange, SimpleChanges } from '@angular/core';
@@ -6,7 +6,7 @@ import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { FormsModule, UntypedFormGroup, UntypedFormBuilder, ReactiveFormsModule, Validators, NgControl } from '@angular/forms';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxInputGroupModule, IgxInputGroupComponent, IgxInputDirective } from '../../input-group/public_api';
+import { IgxInputGroupComponent, IgxInputDirective } from '../../input-group/public_api';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { ControlsFunction } from '../../test-utils/controls-functions.spec';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
@@ -19,11 +19,6 @@ describe('IgxDateTimeEditor', () => {
['parseMask', 'restoreValueFromMask', 'parseMaskValue', 'applyMask', 'parseValueFromMask']);
const renderer2 = jasmine.createSpyObj('Renderer2', ['setAttribute']);
const locale = 'en';
- const _ngModel = {
- control: { touched: false, dirty: false, validator: null, setValue: () => { } },
- valid: false,
- statusChanges: new EventEmitter(),
- };
let elementRef = { nativeElement: null };
let inputFormat: string;
let inputDate: string;
@@ -369,14 +364,13 @@ describe('IgxDateTimeEditor', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxDateTimeEditorSampleComponent,
IgxDateTimeEditorBaseTestComponent,
IgxDateTimeEditorShadowDomComponent
- ],
- imports: [IgxInputGroupModule, IgxDateTimeEditorModule, FormsModule, NoopAnimationsModule]
- })
- .compileComponents();
+ ]
+ }).compileComponents();
}));
beforeEach(async () => {
fixture = TestBed.createComponent(IgxDateTimeEditorSampleComponent);
@@ -1117,15 +1111,9 @@ describe('IgxDateTimeEditor', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxDateTimeEditorFormComponent
- ],
imports: [
- IgxInputGroupModule,
- IgxDateTimeEditorModule,
NoopAnimationsModule,
- ReactiveFormsModule,
- FormsModule
+ IgxDateTimeEditorFormComponent
]
}).compileComponents();
}));
@@ -1211,7 +1199,9 @@ describe('IgxDateTimeEditor', () => {
- `
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxInputDirective, IgxDateTimeEditorDirective]
})
export class IgxDateTimeEditorBaseTestComponent {
@ViewChild(IgxDateTimeEditorDirective)
@@ -1221,14 +1211,16 @@ export class IgxDateTimeEditorBaseTestComponent {
@Component({
template: `
-
+
-`
+`,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxInputDirective, IgxDateTimeEditorDirective, FormsModule]
})
export class IgxDateTimeEditorSampleComponent {
@ViewChild('igxInputGroup', { static: true }) public igxInputGroup: IgxInputGroupComponent;
@@ -1251,7 +1243,9 @@ export class IgxDateTimeEditorSampleComponent {
igxInput [igxDateTimeEditor]="dateTimeFormat" [minValue]="minDate" [maxValue]="maxDate"/>
-`
+`,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxInputDirective, IgxDateTimeEditorDirective, ReactiveFormsModule]
})
class IgxDateTimeEditorFormComponent {
@ViewChild('dateEditor', { read: IgxInputDirective, static: true })
@@ -1279,10 +1273,12 @@ class IgxDateTimeEditorFormComponent {
@Component({
template: `
- Choose Date
-
+ Choose Date
+
`,
- encapsulation: ViewEncapsulation.ShadowDom
+ encapsulation: ViewEncapsulation.ShadowDom,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxInputDirective, IgxDateTimeEditorDirective]
})
export class IgxDateTimeEditorShadowDomComponent {
public dateTimeFormat = 'dd/MM/yyyy hh:mm:ss';
diff --git a/projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.directive.ts b/projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.directive.ts
index 3f45f40fd31..a4a12e24f2c 100644
--- a/projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.directive.ts
@@ -1,7 +1,7 @@
/* eslint-disable @angular-eslint/no-conflicting-lifecycle */
import {
Directive, Input, ElementRef,
- Renderer2, NgModule, Output, EventEmitter, Inject,
+ Renderer2, Output, EventEmitter, Inject,
LOCALE_ID, OnChanges, SimpleChanges, HostListener, OnInit
} from '@angular/core';
import {
@@ -46,12 +46,13 @@ import { DateTimeUtil } from '../../date-common/util/date-time.util';
* ```
*/
@Directive({
- selector: '[igxDateTimeEditor]',
- exportAs: 'igxDateTimeEditor',
- providers: [
- { provide: NG_VALUE_ACCESSOR, useExisting: IgxDateTimeEditorDirective, multi: true },
- { provide: NG_VALIDATORS, useExisting: IgxDateTimeEditorDirective, multi: true }
- ]
+ selector: '[igxDateTimeEditor]',
+ exportAs: 'igxDateTimeEditor',
+ providers: [
+ { provide: NG_VALUE_ACCESSOR, useExisting: IgxDateTimeEditorDirective, multi: true },
+ { provide: NG_VALIDATORS, useExisting: IgxDateTimeEditorDirective, multi: true }
+ ],
+ standalone: true
})
export class IgxDateTimeEditorDirective extends IgxMaskDirective implements OnChanges, OnInit, Validator, ControlValueAccessor {
/**
@@ -764,8 +765,4 @@ export class IgxDateTimeEditorDirective extends IgxMaskDirective implements OnCh
}
}
-@NgModule({
- declarations: [IgxDateTimeEditorDirective],
- exports: [IgxDateTimeEditorDirective]
-})
-export class IgxDateTimeEditorModule { }
+
diff --git a/projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.module.ts b/projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.module.ts
new file mode 100644
index 00000000000..5a79033aaf0
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxDateTimeEditorDirective } from './date-time-editor.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxDateTimeEditorDirective],
+ exports: [IgxDateTimeEditorDirective]
+})
+export class IgxDateTimeEditorModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/divider/divider.directive.ts b/projects/igniteui-angular/src/lib/directives/divider/divider.directive.ts
index 27c35e15ba5..c86728ef2d4 100644
--- a/projects/igniteui-angular/src/lib/directives/divider/divider.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/divider/divider.directive.ts
@@ -1,4 +1,4 @@
-import { Directive, HostBinding, NgModule, Input } from '@angular/core';
+import { Directive, HostBinding, Input } from '@angular/core';
import { mkenum } from '../../core/utils';
export const IgxDividerType = mkenum({
@@ -11,7 +11,8 @@ let NEXT_ID = 0;
@Directive({
// eslint-disable-next-line @angular-eslint/directive-selector
- selector: 'igx-divider'
+ selector: 'igx-divider',
+ standalone: true
})
export class IgxDividerDirective {
/**
@@ -132,8 +133,4 @@ export class IgxDividerDirective {
}
}
-@NgModule({
- declarations: [IgxDividerDirective],
- exports: [IgxDividerDirective]
-})
-export class IgxDividerModule { }
+
diff --git a/projects/igniteui-angular/src/lib/directives/divider/divider.module.ts b/projects/igniteui-angular/src/lib/directives/divider/divider.module.ts
new file mode 100644
index 00000000000..d27b919c126
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/divider/divider.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxDividerDirective } from './divider.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxDividerDirective],
+ exports: [IgxDividerDirective]
+})
+export class IgxDividerModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/divider/divider.spec.ts b/projects/igniteui-angular/src/lib/directives/divider/divider.spec.ts
index bd078fb2528..c252036a36c 100644
--- a/projects/igniteui-angular/src/lib/directives/divider/divider.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/divider/divider.spec.ts
@@ -3,7 +3,7 @@ import { TestBed, ComponentFixture, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { configureTestSuite } from '../../test-utils/configure-suite';
-import { IgxDividerModule, IgxDividerType } from './divider.directive';
+import { IgxDividerDirective, IgxDividerType } from './divider.directive';
describe('Divider', () => {
configureTestSuite();
@@ -19,8 +19,7 @@ describe('Divider', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [TestDividerComponent],
- imports: [IgxDividerModule]
+ imports: [TestDividerComponent]
}).compileComponents();
}));
@@ -126,7 +125,9 @@ describe('Divider', () => {
[middle]="middle"
[inset]="inset"
[role]="role">
- `
+ `,
+ standalone: true,
+ imports: [IgxDividerDirective]
})
class TestDividerComponent {
public type: string;
diff --git a/projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.directive.ts b/projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.directive.ts
index aaf3b71fa21..069a7dce823 100644
--- a/projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.directive.ts
@@ -5,7 +5,6 @@ import {
HostBinding,
HostListener,
Input,
- NgModule,
NgZone,
OnDestroy,
OnInit,
@@ -151,7 +150,8 @@ export class IgxDragLocation {
}
@Directive({
- selector: '[igxDragHandle]'
+ selector: '[igxDragHandle]',
+ standalone: true
})
export class IgxDragHandleDirective {
@@ -162,7 +162,8 @@ export class IgxDragHandleDirective {
}
@Directive({
- selector: '[igxDragIgnore]'
+ selector: '[igxDragIgnore]',
+ standalone: true
})
export class IgxDragIgnoreDirective {
@@ -174,7 +175,8 @@ export class IgxDragIgnoreDirective {
@Directive({
exportAs: 'drag',
- selector: '[igxDrag]'
+ selector: '[igxDrag]',
+ standalone: true
})
export class IgxDragDirective implements AfterContentInit, OnDestroy {
/**
@@ -1278,7 +1280,7 @@ export class IgxDragDirective implements AfterContentInit, OnDestroy {
let targetElements = [];
// Check for shadowRoot instance and use it if present
for (const elFromPoint of elementsFromPoint) {
- if (!!elFromPoint?.shadowRoot) {
+ if (elFromPoint?.shadowRoot) {
targetElements = targetElements.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY, elementsFromPoint));
} else if (targetElements.indexOf(elFromPoint) === -1) {
targetElements.push(elFromPoint);
@@ -1523,7 +1525,8 @@ export class IgxDragDirective implements AfterContentInit, OnDestroy {
@Directive({
exportAs: 'drop',
- selector: '[igxDrop]'
+ selector: '[igxDrop]',
+ standalone: true
})
export class IgxDropDirective implements OnInit, OnDestroy {
/**
@@ -1900,12 +1903,3 @@ export class IgxDropDirective implements OnInit, OnDestroy {
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxDragDirective, IgxDropDirective, IgxDragHandleDirective, IgxDragIgnoreDirective],
- exports: [IgxDragDirective, IgxDropDirective, IgxDragHandleDirective, IgxDragIgnoreDirective]
-})
-export class IgxDragDropModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.module.ts b/projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.module.ts
new file mode 100644
index 00000000000..a020fd48834
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxDragDirective, IgxDragHandleDirective, IgxDragIgnoreDirective, IgxDropDirective } from './drag-drop.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxDragDirective, IgxDropDirective, IgxDragHandleDirective, IgxDragIgnoreDirective],
+ exports: [IgxDragDirective, IgxDropDirective, IgxDragHandleDirective, IgxDragIgnoreDirective]
+})
+export class IgxDragDropModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.spec.ts b/projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.spec.ts
index 3caf31abc21..c3e3aa1303d 100644
--- a/projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.spec.ts
@@ -1,18 +1,18 @@
import { Component, ViewChildren, QueryList, ViewChild, ElementRef, TemplateRef, Renderer2 } from '@angular/core';
import { TestBed, ComponentFixture, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { FormsModule } from '@angular/forms';
import { UIInteractions, wait} from '../../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { first } from 'rxjs/operators';
import { IgxInsertDropStrategy, IgxAppendDropStrategy, IgxPrependDropStrategy } from './drag-drop.strategy';
import {
- IgxDragDropModule,
IgxDragDirective,
IgxDropDirective,
IgxDragLocation,
IDropDroppedEventArgs,
- DragDirection
+ DragDirection,
+ IgxDragHandleDirective,
+ IgxDragIgnoreDirective
} from './drag-drop.directive';
describe('General igxDrag/igxDrop', () => {
@@ -24,13 +24,7 @@ describe('General igxDrag/igxDrop', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestDragDropComponent
- ],
- imports: [
- FormsModule,
- IgxDragDropModule
- ]
+ imports: [TestDragDropComponent]
})
.compileComponents();
}));
@@ -1356,14 +1350,10 @@ describe('Linked igxDrag/igxDrop ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
TestDragDropLinkedSingleComponent,
TestDragDropLinkedMixedComponent,
TestDragDropStrategiesComponent
- ],
- imports: [
- FormsModule,
- IgxDragDropModule
]
})
.compileComponents();
@@ -1917,7 +1907,9 @@ const generalStyles = [`
Drop area:
- `
+ `,
+ standalone: true,
+ imports: [IgxDragDirective, IgxDropDirective, IgxDragHandleDirective, IgxDragIgnoreDirective]
})
class TestDragDropComponent {
@ViewChildren(IgxDragDirective)
@@ -1950,7 +1942,9 @@ class TestDragDropComponent {
Drop area:
- `
+ `,
+ standalone: true,
+ imports: [IgxDragDirective, IgxDropDirective]
})
class TestDragDropLinkedSingleComponent extends TestDragDropComponent { }
@@ -1969,7 +1963,9 @@ class TestDragDropLinkedSingleComponent extends TestDragDropComponent { }
Drop area:
- `
+ `,
+ standalone: true,
+ imports: [IgxDragDirective, IgxDropDirective]
})
class TestDragDropLinkedMixedComponent extends TestDragDropComponent { }
@@ -1989,6 +1985,8 @@ class TestDragDropLinkedMixedComponent extends TestDragDropComponent { }
Drag 2
Drag 3
- `
+ `,
+ standalone: true,
+ imports: [IgxDragDirective, IgxDropDirective]
})
class TestDragDropStrategiesComponent extends TestDragDropLinkedSingleComponent { }
diff --git a/projects/igniteui-angular/src/lib/directives/drag-drop/public_api.ts b/projects/igniteui-angular/src/lib/directives/drag-drop/public_api.ts
new file mode 100644
index 00000000000..c32397aaf7e
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/drag-drop/public_api.ts
@@ -0,0 +1,12 @@
+import { IgxDragDirective, IgxDragHandleDirective, IgxDragIgnoreDirective, IgxDropDirective } from './drag-drop.directive';
+
+export * from './drag-drop.strategy';
+export * from './drag-drop.directive';
+
+/* NOTE: Drag and drop directives collection for ease-of-use import in standalone components scenario */
+export const IGX_DRAG_DROP_DIRECTIVES = [
+ IgxDragDirective,
+ IgxDropDirective,
+ IgxDragHandleDirective,
+ IgxDragIgnoreDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/directives/filter/filter.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/filter/filter.directive.spec.ts
index 028f86013bb..2cf74aa4f90 100644
--- a/projects/igniteui-angular/src/lib/directives/filter/filter.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/filter/filter.directive.spec.ts
@@ -1,22 +1,21 @@
import { Component, ViewChild } from '@angular/core';
import { ComponentFixtureAutoDetect, TestBed, waitForAsync } from '@angular/core/testing';
import { IgxListItemComponent } from '../../list/list-item.component';
-import { IgxListComponent, IgxListModule } from '../../list/list.component';
-import { IgxFilterModule, IgxFilterOptions } from './filter.directive';
+import { IgxListComponent } from '../../list/list.component';
+import { IgxFilterDirective, IgxFilterOptions, IgxFilterPipe } from './filter.directive';
import { configureTestSuite } from '../../test-utils/configure-suite';
+import { NgFor } from '@angular/common';
describe('Filter', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [DeclarativeListTestComponent, DynamicListTestComponent],
- imports: [IgxFilterModule, IgxListModule],
+ imports: [DeclarativeListTestComponent, DynamicListTestComponent],
providers: [
{ provide: ComponentFixtureAutoDetect, useValue: true }
]
- })
- .compileComponents();
+ }).compileComponents();
}));
it('should filter declaratively created list', () => {
@@ -173,13 +172,16 @@ describe('Filter', () => {
});
@Component({
- template: `
- Header
- Item 1
- Item 2
- Item 3
-
-
`
+ template: `
+
+ Header
+ Item 1
+ Item 2
+ Item 3
+
+
`,
+ standalone: true,
+ imports: [IgxListComponent, IgxListItemComponent, IgxFilterDirective]
})
class DeclarativeListTestComponent {
@ViewChild(IgxListComponent, { static: true }) public list: IgxListComponent;
@@ -211,11 +213,14 @@ class DeclarativeListTestComponent {
}
@Component({
- template: `
-
- {{item.text}}
-
- `
+ template: `
+
+
+ {{item.text}}
+
+ `,
+ standalone: true,
+ imports: [IgxListComponent, IgxListItemComponent, IgxFilterPipe, NgFor]
})
class DynamicListTestComponent {
@ViewChild(IgxListComponent, { static: true }) public list: IgxListComponent;
diff --git a/projects/igniteui-angular/src/lib/directives/filter/filter.directive.ts b/projects/igniteui-angular/src/lib/directives/filter/filter.directive.ts
index 1081e0f45c4..411b9357ef4 100644
--- a/projects/igniteui-angular/src/lib/directives/filter/filter.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/filter/filter.directive.ts
@@ -1,10 +1,7 @@
-import { CommonModule } from '@angular/common';
import {
Directive,
- ElementRef,
EventEmitter,
Input,
- NgModule,
OnChanges,
Output,
Pipe,
@@ -77,7 +74,8 @@ export class IgxFilterOptions {
@Directive({
- selector: '[igxFilter]'
+ selector: '[igxFilter]',
+ standalone: true
})
export class IgxFilterDirective implements OnChanges {
@Output() public filtering = new EventEmitter(false); // synchronous event emitter
@@ -85,7 +83,7 @@ export class IgxFilterDirective implements OnChanges {
@Input('igxFilter') public filterOptions: IgxFilterOptions;
- constructor(private element: ElementRef) {
+ constructor() {
}
public ngOnChanges(changes: SimpleChanges) {
@@ -120,9 +118,9 @@ export class IgxFilterDirective implements OnChanges {
@Pipe({
name: 'igxFilter',
- pure: false
+ pure: false,
+ standalone: true
})
-
export class IgxFilterPipe implements PipeTransform {
private findMatchByKey(item: any, options: IgxFilterOptions, key: string) {
const match = options.matchFn(options.formatter(options.get_value(item, key)), options.inputValue);
@@ -171,14 +169,3 @@ export class IgxFilterPipe implements PipeTransform {
return result;
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxFilterDirective, IgxFilterPipe],
- exports: [IgxFilterDirective, IgxFilterPipe],
- imports: [CommonModule]
-})
-export class IgxFilterModule {
-}
diff --git a/projects/igniteui-angular/src/lib/directives/filter/filter.module.ts b/projects/igniteui-angular/src/lib/directives/filter/filter.module.ts
new file mode 100644
index 00000000000..920781dad9a
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/filter/filter.module.ts
@@ -0,0 +1,13 @@
+import { NgModule } from '@angular/core';
+import { IgxFilterDirective, IgxFilterPipe } from './filter.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxFilterDirective, IgxFilterPipe],
+ exports: [IgxFilterDirective, IgxFilterPipe]
+})
+export class IgxFilterModule {
+}
diff --git a/projects/igniteui-angular/src/lib/directives/focus-trap/focus-trap.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/focus-trap/focus-trap.directive.spec.ts
index 17577d62b82..afcfda78989 100644
--- a/projects/igniteui-angular/src/lib/directives/focus-trap/focus-trap.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/focus-trap/focus-trap.directive.spec.ts
@@ -1,22 +1,18 @@
import { Component } from '@angular/core';
import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { IgxFocusTrapDirective, IgxFocusTrapModule } from './focus-trap.directive';
+import { IgxFocusTrapDirective } from './focus-trap.directive';
import { configureTestSuite } from '../../test-utils/configure-suite';
-import { IgxCheckboxModule } from '../../checkbox/checkbox.component';
-import { IgxDatePickerModule } from '../../date-picker/public_api';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
+import { NgIf } from '@angular/common';
describe('igxFocusTrap', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TrapFocusTestComponent
- ],
- imports: [IgxFocusTrapModule, IgxCheckboxModule, IgxDatePickerModule, NoopAnimationsModule]
+ imports: [NoopAnimationsModule, TrapFocusTestComponent]
}).compileComponents();
}));
@@ -172,13 +168,17 @@ describe('igxFocusTrap', () => {
@Component({
- template: `
- Username
-
- Password
-
- SIGN IN
-
` })
+ template: `
+
+ Username
+
+ Password
+
+ SIGN IN
+
`,
+ standalone: true,
+ imports: [IgxFocusTrapDirective, NgIf]
+})
class TrapFocusTestComponent {
public showInput = true;
public showButton = true;
diff --git a/projects/igniteui-angular/src/lib/directives/focus-trap/focus-trap.directive.ts b/projects/igniteui-angular/src/lib/directives/focus-trap/focus-trap.directive.ts
index b3c7dfbeac0..192284a8625 100644
--- a/projects/igniteui-angular/src/lib/directives/focus-trap/focus-trap.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/focus-trap/focus-trap.directive.ts
@@ -1,10 +1,11 @@
-import { AfterViewInit, Directive, ElementRef, Input, NgModule, OnDestroy } from '@angular/core';
+import { AfterViewInit, Directive, ElementRef, Input, OnDestroy } from '@angular/core';
import { fromEvent, Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { PlatformUtil } from '../../core/utils';
@Directive({
- selector: '[igxFocusTrap]'
+ selector: '[igxFocusTrap]',
+ standalone: true
})
export class IgxFocusTrapDirective implements AfterViewInit, OnDestroy {
/** @hidden */
@@ -100,12 +101,3 @@ export class IgxFocusTrapDirective implements AfterViewInit, OnDestroy {
return activeElement;
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxFocusTrapDirective],
- exports: [IgxFocusTrapDirective]
-})
-export class IgxFocusTrapModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/focus-trap/focus-trap.module.ts b/projects/igniteui-angular/src/lib/directives/focus-trap/focus-trap.module.ts
new file mode 100644
index 00000000000..2aa5afcf7dd
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/focus-trap/focus-trap.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxFocusTrapDirective } from './focus-trap.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxFocusTrapDirective],
+ exports: [IgxFocusTrapDirective]
+})
+export class IgxFocusTrapModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/focus/focus.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/focus/focus.directive.spec.ts
index 704b24e2ab2..7366f89dffe 100644
--- a/projects/igniteui-angular/src/lib/directives/focus/focus.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/focus/focus.directive.spec.ts
@@ -1,27 +1,27 @@
import { Component, DebugElement, ViewChild } from '@angular/core';
import { TestBed, fakeAsync, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { IgxFocusDirective, IgxFocusModule } from './focus.directive';
+import { IgxFocusDirective } from './focus.directive';
+
import { configureTestSuite } from '../../test-utils/configure-suite';
import { EditorProvider } from '../../core/edit-provider';
-import { IgxCheckboxModule, IgxCheckboxComponent } from '../../checkbox/checkbox.component';
-import { IgxDatePickerModule, IgxDatePickerComponent } from '../../date-picker/public_api';
+import { IgxCheckboxComponent } from '../../checkbox/checkbox.component';
+import { IgxDatePickerComponent } from '../../date-picker/public_api';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxRadioComponent } from '../../radio/radio.component';
-import { IgxRadioModule } from '../radio/radio-group.directive';
-import { IgxSwitchComponent, IgxSwitchModule } from '../../switch/switch.component';
+import { IgxSwitchComponent } from '../../switch/switch.component';
describe('igxFocus', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
SetFocusComponent,
NoFocusComponent,
TriggerFocusOnClickComponent,
CheckboxPickerComponent
- ],
- imports: [ IgxFocusModule, IgxCheckboxModule, IgxRadioModule, IgxSwitchModule, IgxDatePickerModule, NoopAnimationsModule ]
+ ]
}).compileComponents();
}));
@@ -96,28 +96,32 @@ describe('igxFocus', () => {
});
@Component({
- template:
- `
+ template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxFocusDirective]
})
class SetFocusComponent { }
@Component({
- template: `
`
+ template: `
`,
+ standalone: true,
+ imports: [IgxFocusDirective]
})
class NoFocusComponent { }
@Component({
- template:
- `
+ template: `
First
Second
Third
Focus the third one
- `
+ `,
+ standalone: true,
+ imports: [IgxFocusDirective]
})
class TriggerFocusOnClickComponent {
@ViewChild(IgxFocusDirective, { static: true }) public focusRef: IgxFocusDirective;
@@ -129,13 +133,14 @@ class TriggerFocusOnClickComponent {
}
@Component({
- template:
- `
+ template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxFocusDirective, IgxCheckboxComponent, IgxSwitchComponent, IgxRadioComponent, IgxDatePickerComponent]
})
class CheckboxPickerComponent {
@ViewChild(IgxCheckboxComponent, { static: true }) public checkbox: IgxCheckboxComponent;
diff --git a/projects/igniteui-angular/src/lib/directives/focus/focus.directive.ts b/projects/igniteui-angular/src/lib/directives/focus/focus.directive.ts
index d1bcc268f9a..1203f8e9c17 100644
--- a/projects/igniteui-angular/src/lib/directives/focus/focus.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/focus/focus.directive.ts
@@ -1,10 +1,11 @@
-import { Directive, ElementRef, Input, NgModule, Optional, Inject, Self } from '@angular/core';
+import { Directive, ElementRef, Input, Optional, Inject, Self } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { EditorProvider, EDITOR_PROVIDER } from '../../core/edit-provider';
@Directive({
exportAs: 'igxFocus',
- selector: '[igxFocus]'
+ selector: '[igxFocus]',
+ standalone: true
})
export class IgxFocusDirective {
@@ -84,12 +85,3 @@ export class IgxFocusDirective {
}
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxFocusDirective],
- exports: [IgxFocusDirective]
-})
-export class IgxFocusModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/focus/focus.module.ts b/projects/igniteui-angular/src/lib/directives/focus/focus.module.ts
new file mode 100644
index 00000000000..c0c6c4365cb
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/focus/focus.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxFocusDirective } from './focus.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxFocusDirective],
+ exports: [IgxFocusDirective]
+})
+export class IgxFocusModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/for-of/base.helper.component.ts b/projects/igniteui-angular/src/lib/directives/for-of/base.helper.component.ts
index 3a5c2c23318..264f3412648 100644
--- a/projects/igniteui-angular/src/lib/directives/for-of/base.helper.component.ts
+++ b/projects/igniteui-angular/src/lib/directives/for-of/base.helper.component.ts
@@ -14,7 +14,8 @@ import { takeUntil, throttleTime } from 'rxjs/operators';
import { resizeObservable, PlatformUtil } from '../../core/utils';
@Directive({
- selector: '[igxVirtualHelperBase]'
+ selector: '[igxVirtualHelperBase]',
+ standalone: true
})
export class VirtualHelperBaseDirective implements OnDestroy, AfterViewInit {
public scrollAmount = 0;
diff --git a/projects/igniteui-angular/src/lib/directives/for-of/display.container.ts b/projects/igniteui-angular/src/lib/directives/for-of/display.container.ts
index 2443cb9ff0d..1c8d27526a7 100644
--- a/projects/igniteui-angular/src/lib/directives/for-of/display.container.ts
+++ b/projects/igniteui-angular/src/lib/directives/for-of/display.container.ts
@@ -16,7 +16,9 @@ import { IgxScrollInertiaDirective } from '../scroll-inertia/scroll_inertia.dire
[IgxScrollInertiaScrollContainer]="scrollContainer"
[IgxScrollInertiaDirection]="scrollDirection">
- `
+ `,
+ standalone: true,
+ imports: [IgxScrollInertiaDirective]
})
export class DisplayContainerComponent {
@ViewChild('display_container', { read: ViewContainerRef, static: true })
diff --git a/projects/igniteui-angular/src/lib/directives/for-of/for_of.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/for-of/for_of.directive.spec.ts
index 53f38109995..c52bf0ce9d5 100644
--- a/projects/igniteui-angular/src/lib/directives/for-of/for_of.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/for-of/for_of.directive.spec.ts
@@ -1,4 +1,4 @@
-import { NgForOfContext } from '@angular/common';
+import { AsyncPipe, NgClass, NgFor, NgForOfContext, NgIf } from '@angular/common';
import {
AfterViewInit,
ChangeDetectorRef,
@@ -18,7 +18,7 @@ import {
import { TestBed, ComponentFixture, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { BehaviorSubject, Observable } from 'rxjs';
-import { IForOfState, IgxForOfDirective, IgxForOfModule } from './for_of.directive';
+import { IForOfState, IgxForOfDirective } from './for_of.directive';
import { UIInteractions, wait } from '../../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
@@ -44,11 +44,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestIgxForOfDirective,
- EmptyVirtualComponent
- ],
- imports: [IgxForOfModule]
+ imports: [EmptyVirtualComponent]
}).compileComponents();
}));
@@ -66,11 +62,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestIgxForOfDirective,
- HorizontalVirtualComponent
- ],
- imports: [IgxForOfModule],
+ imports: [HorizontalVirtualComponent],
providers: [{ provide: NgZone, useFactory: () => new TestNgZone() }]
}).compileComponents();
}));
@@ -202,12 +194,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestIgxForOfDirective,
- VerticalVirtualNoDataComponent,
- VerticalVirtualComponent
- ],
- imports: [IgxForOfModule],
+ imports: [VerticalVirtualNoDataComponent, VerticalVirtualComponent],
providers: [{ provide: NgZone, useFactory: () => new TestNgZone() }]
}).compileComponents();
}));
@@ -360,12 +347,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestIgxForOfDirective,
- VerticalVirtualNoDataComponent,
- VerticalVirtualComponent
- ],
- imports: [IgxForOfModule],
+ imports: [VerticalVirtualNoDataComponent, VerticalVirtualComponent],
providers: [{ provide: NgZone, useFactory: () => new TestNgZone() }]
}).compileComponents();
}));
@@ -404,11 +386,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestIgxForOfDirective,
- VirtualComponent
- ],
- imports: [IgxForOfModule],
+ imports: [VirtualComponent],
providers: [{ provide: NgZone, useFactory: () => new TestNgZone() }]
}).compileComponents();
}));
@@ -984,11 +962,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestIgxForOfDirective,
- VirtualVariableSizeComponent
- ],
- imports: [IgxForOfModule]
+ imports: [VirtualVariableSizeComponent]
}).compileComponents();
}));
@@ -1030,11 +1004,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestIgxForOfDirective,
- RemoteVirtualizationComponent
- ],
- imports: [IgxForOfModule]
+ imports: [RemoteVirtualizationComponent]
}).compileComponents();
}));
@@ -1072,11 +1042,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestIgxForOfDirective,
- RemoteVirtCountComponent
- ],
- imports: [IgxForOfModule]
+ imports: [RemoteVirtCountComponent]
}).compileComponents();
}));
@@ -1114,11 +1080,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestIgxForOfDirective,
- NoWidthAndHeightComponent
- ],
- imports: [IgxForOfModule]
+ imports: [NoWidthAndHeightComponent]
}).compileComponents();
}));
@@ -1138,11 +1100,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestIgxForOfDirective,
- LocalVariablesComponent
- ],
- imports: [IgxForOfModule]
+ imports: [LocalVariablesComponent]
}).compileComponents();
}));
@@ -1173,11 +1131,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- TestIgxForOfDirective,
- VerticalVirtualDestroyComponent
- ],
- imports: [IgxForOfModule],
+ imports: [VerticalVirtualDestroyComponent],
providers: [{ provide: NgZone, useFactory: () => new TestNgZone() }]
}).compileComponents();
}));
@@ -1224,10 +1178,7 @@ describe('IgxForOf directive -', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- VerticalVirtualCreateComponent
- ],
- imports: [IgxForOfModule],
+ imports: [VerticalVirtualCreateComponent],
providers: [{ provide: NgZone, useFactory: () => new TestNgZone() }]
}).compileComponents();
}));
@@ -1327,7 +1278,10 @@ class DataGenerator {
}
/** igxFor for testing */
-@Directive({ selector: '[igxForTest]' })
+@Directive({
+ selector: '[igxForTest]',
+ standalone: true
+})
export class TestIgxForOfDirective
extends IgxForOfDirective {
public scrStepArray = [];
public scrTopArray = [];
@@ -1385,7 +1339,9 @@ export class TestIgxForOfDirective extends IgxForOfDirective {
- `
+ `,
+ standalone: true,
+ imports: [TestIgxForOfDirective, IgxForOfDirective]
})
export class EmptyVirtualComponent {
@@ -1412,7 +1368,9 @@ export class EmptyVirtualComponent {
- `
+ `,
+ standalone: true,
+ imports: [TestIgxForOfDirective, IgxForOfDirective]
})
export class VirtualComponent {
@ViewChild('container', { read: ViewContainerRef, static: true })
@@ -1483,7 +1441,9 @@ export class VirtualComponent {
- `
+ `,
+ standalone: true,
+ imports: [TestIgxForOfDirective, IgxForOfDirective]
})
export class VerticalVirtualComponent extends VirtualComponent {
public override width = '450px';
@@ -1515,7 +1475,9 @@ export class VerticalVirtualComponent extends VirtualComponent {
- `
+ `,
+ standalone: true,
+ imports: [TestIgxForOfDirective, IgxForOfDirective, NgIf]
})
export class VerticalVirtualDestroyComponent extends VerticalVirtualComponent {
public exists = true;
@@ -1551,7 +1513,9 @@ export class VerticalVirtualDestroyComponent extends VerticalVirtualComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxForOfDirective, NgIf]
})
export class VerticalVirtualCreateComponent extends VerticalVirtualComponent {
@ViewChild('scrollContainer2', { read: IgxForOfDirective, static: false })
@@ -1580,7 +1544,9 @@ export class VerticalVirtualCreateComponent extends VerticalVirtualComponent {
- `
+ `,
+ standalone: true,
+ imports: [TestIgxForOfDirective, IgxForOfDirective, NgFor]
})
export class HorizontalVirtualComponent extends VirtualComponent {
public override width = '800px';
@@ -1592,7 +1558,7 @@ export class HorizontalVirtualComponent extends VirtualComponent {
/** Only vertically virtualized component */
@Component({
template: `
-
+
- `
+ `,
+ standalone: true,
+ imports: [TestIgxForOfDirective, IgxForOfDirective]
})
export class VirtualVariableSizeComponent {
@ViewChild('container', { static: true })
@@ -1636,7 +1604,9 @@ export class VirtualVariableSizeComponent {
- `
+ `,
+ standalone: true,
+ imports: [TestIgxForOfDirective, IgxForOfDirective]
})
export class VerticalVirtualNoDataComponent extends VerticalVirtualComponent {
}
@@ -1684,7 +1654,7 @@ export class LocalService {
/** Vertically virtualized component with remote virtualization */
@Component({
template: `
-
+
`,
- providers: [LocalService]
+ providers: [LocalService],
+ standalone: true,
+ imports: [TestIgxForOfDirective, IgxForOfDirective, AsyncPipe]
})
export class RemoteVirtualizationComponent implements OnInit, AfterViewInit {
@ViewChild('scrollContainer', { read: TestIgxForOfDirective, static: true })
@@ -1728,7 +1700,7 @@ export class RemoteVirtualizationComponent implements OnInit, AfterViewInit {
@Component({
template: `
-
+
`,
- providers: [LocalService]
+ providers: [LocalService],
+ standalone: true,
+ imports: [TestIgxForOfDirective, IgxForOfDirective, AsyncPipe]
})
export class RemoteVirtCountComponent implements OnInit, AfterViewInit {
@ViewChild('scrollContainer', { read: TestIgxForOfDirective, static: true })
@@ -1794,7 +1768,9 @@ export class RemoteVirtCountComponent implements OnInit, AfterViewInit {
}`, `.forOfElement {
flex: 0 0 60px;
border-right: 1px solid #888;
- }`]
+ }`],
+ standalone: true,
+ imports: [TestIgxForOfDirective, IgxForOfDirective]
})
export class NoWidthAndHeightComponent {
@@ -1819,7 +1795,6 @@ export class NoWidthAndHeightComponent {
+ }">
{{rowIndex}} : {{item.text}}
`,
+ standalone: true,
+ imports: [IgxForOfDirective, NgClass]
})
export class LocalVariablesComponent {
public data = [];
diff --git a/projects/igniteui-angular/src/lib/directives/for-of/for_of.directive.ts b/projects/igniteui-angular/src/lib/directives/for-of/for_of.directive.ts
index c2ab529c141..0ae89ba1d85 100644
--- a/projects/igniteui-angular/src/lib/directives/for-of/for_of.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/for-of/for_of.directive.ts
@@ -1,5 +1,5 @@
/* eslint-disable @angular-eslint/no-conflicting-lifecycle */
-import { CommonModule, DOCUMENT, NgForOfContext } from '@angular/common';
+import { DOCUMENT, NgForOfContext } from '@angular/common';
import {
ChangeDetectorRef,
ComponentRef,
@@ -11,7 +11,6 @@ import {
IterableChanges,
IterableDiffer,
IterableDiffers,
- NgModule,
NgZone,
OnChanges,
OnDestroy,
@@ -28,7 +27,7 @@ import {
import { DisplayContainerComponent } from './display.container';
import { HVirtualHelperComponent } from './horizontal.virtual.helper.component';
import { VirtualHelperComponent } from './virtual.helper.component';
-import { IgxScrollInertiaModule } from './../scroll-inertia/scroll_inertia.directive';
+
import { IgxForOfSyncService, IgxForOfScrollSyncService } from './for_of.sync.service';
import { Subject } from 'rxjs';
import { takeUntil, filter, throttleTime, first } from 'rxjs/operators';
@@ -80,7 +79,8 @@ export class IgxForOfContext {
@Directive({
selector: '[igxFor][igxForOf]',
- providers: [IgxForOfScrollSyncService]
+ providers: [IgxForOfScrollSyncService],
+ standalone: true
})
// eslint-disable @angular-eslint/no-conflicting-lifecycle
export class IgxForOfDirective implements OnInit, OnChanges, DoCheck, OnDestroy, AfterViewInit {
@@ -996,7 +996,7 @@ export class IgxForOfDirective implements OnInit, OnChanges, DoCheck, OnDestr
* from the view container.
* Often, called while handling a scroll event.
*/
- protected updateTemplateContext(context: any, index: number = 0): void {
+ protected updateTemplateContext(context: any, index = 0): void {
context.$implicit = this.igxForOf[index];
context.index = this.getContextIndex(this.igxForOf[index]);
context.count = this.igxForOf.length;
@@ -1475,7 +1475,8 @@ export interface IForOfDataChangingEventArgs extends IBaseEventArgs {
}
@Directive({
- selector: '[igxGridFor][igxGridForOf]'
+ selector: '[igxGridFor][igxGridForOf]',
+ standalone: true
})
export class IgxGridForOfDirective extends IgxForOfDirective implements OnInit, OnChanges, DoCheck {
@Input()
@@ -1483,16 +1484,16 @@ export class IgxGridForOfDirective extends IgxForOfDirective implements On
this.igxForOf = value;
}
+ public get igxGridForOf() {
+ return this.igxForOf;
+ }
+
@Input()
public igxGridForOfUniqueSizeCache = false;
@Input()
public igxGridForOfVariableSizes = true;
- public get igxGridForOf() {
- return this.igxForOf;
- }
-
/**
* @hidden
* @internal
@@ -1838,22 +1839,3 @@ export class IgxGridForOfDirective extends IgxForOfDirective implements On
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [
- IgxForOfDirective,
- IgxGridForOfDirective,
- DisplayContainerComponent,
- VirtualHelperComponent,
- HVirtualHelperComponent,
- VirtualHelperBaseDirective
- ],
- exports: [IgxForOfDirective, IgxGridForOfDirective],
- imports: [IgxScrollInertiaModule, CommonModule]
-})
-
-export class IgxForOfModule {
-}
diff --git a/projects/igniteui-angular/src/lib/directives/for-of/for_of.module.ts b/projects/igniteui-angular/src/lib/directives/for-of/for_of.module.ts
new file mode 100644
index 00000000000..7cc382ed3b3
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/for-of/for_of.module.ts
@@ -0,0 +1,13 @@
+import { NgModule } from '@angular/core';
+import { IgxForOfDirective } from './for_of.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxForOfDirective],
+ exports: [IgxForOfDirective]
+})
+export class IgxForOfModule {
+}
diff --git a/projects/igniteui-angular/src/lib/directives/for-of/horizontal.virtual.helper.component.ts b/projects/igniteui-angular/src/lib/directives/for-of/horizontal.virtual.helper.component.ts
index 744f9390b0c..e380ac82b39 100644
--- a/projects/igniteui-angular/src/lib/directives/for-of/horizontal.virtual.helper.component.ts
+++ b/projects/igniteui-angular/src/lib/directives/for-of/horizontal.virtual.helper.component.ts
@@ -8,7 +8,8 @@ import { PlatformUtil } from '../../core/utils';
*/
@Component({
selector: 'igx-horizontal-virtual-helper',
- template: '
'
+ template: '
',
+ standalone: true
})
export class HVirtualHelperComponent extends VirtualHelperBaseDirective {
@ViewChild('horizontal_container', { read: ViewContainerRef, static: true }) public _vcr;
diff --git a/projects/igniteui-angular/src/lib/directives/for-of/virtual.helper.component.ts b/projects/igniteui-angular/src/lib/directives/for-of/virtual.helper.component.ts
index 2ff80a26334..6c85380183e 100644
--- a/projects/igniteui-angular/src/lib/directives/for-of/virtual.helper.component.ts
+++ b/projects/igniteui-angular/src/lib/directives/for-of/virtual.helper.component.ts
@@ -6,7 +6,8 @@ import { PlatformUtil } from '../../core/utils';
@Component({
selector: 'igx-virtual-helper',
- template: '
'
+ template: '
',
+ standalone: true
})
export class VirtualHelperComponent extends VirtualHelperBaseDirective implements OnInit, OnDestroy {
@HostBinding('scrollTop')
diff --git a/projects/igniteui-angular/src/lib/directives/form-control/form-control.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/form-control/form-control.directive.spec.ts
index a6ff524890a..aa872be2f6d 100644
--- a/projects/igniteui-angular/src/lib/directives/form-control/form-control.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/form-control/form-control.directive.spec.ts
@@ -1,11 +1,11 @@
import { Component, DebugElement, ViewChild } from '@angular/core';
import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
-import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { FormsModule } from '@angular/forms';
import { By } from '@angular/platform-browser';
import { defineComponents, IgcRatingComponent } from 'igniteui-webcomponents';
import { configureTestSuite } from '../../test-utils/configure-suite';
-import { IgcFormControlDirective, IgcFormsModule } from './form-control.directive';
+import { IgcFormControlDirective } from './form-control.directive';
describe('IgcFormControlDirective - ', () => {
@@ -21,7 +21,7 @@ describe('IgcFormControlDirective - ', () => {
defineComponents(IgcRatingComponent);
}));
- const elementRef = { nativeElement: document.createElement('igc-rating') };
+ const elementRef = { nativeElement: document.createElement('igc-rating') };
const mockNgControl = jasmine.createSpyObj('NgControl', [
'writeValue',
@@ -65,13 +65,8 @@ describe('IgcFormControlDirective - ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxFormsControlComponent
- ],
imports: [
- IgcFormsModule,
- ReactiveFormsModule,
- FormsModule
+ IgxFormsControlComponent
]
}).compileComponents();
defineComponents(IgcRatingComponent);
@@ -113,11 +108,13 @@ describe('IgcFormControlDirective - ', () => {
@Component({
template: `
-
-`
+
+ `,
+ standalone: true,
+ imports: [IgcFormControlDirective, FormsModule]
})
class IgxFormsControlComponent {
diff --git a/projects/igniteui-angular/src/lib/directives/form-control/form-control.directive.ts b/projects/igniteui-angular/src/lib/directives/form-control/form-control.directive.ts
index dc03f23e648..06636eed125 100644
--- a/projects/igniteui-angular/src/lib/directives/form-control/form-control.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/form-control/form-control.directive.ts
@@ -3,20 +3,20 @@ import {
forwardRef,
ElementRef,
HostListener,
- NgModule,
Renderer2
} from '@angular/core';
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
-@Directive({
- selector: 'igc-rating[ngModel],igc-rating[formControlName]', /* eslint-disable-line @angular-eslint/directive-selector */
+@Directive({// eslint-disable-next-line @angular-eslint/directive-selector
+ selector: 'igc-rating[ngModel],igc-rating[formControlName]',
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => IgcFormControlDirective),
multi: true
}
- ]
+ ],
+ standalone: true
})
export class IgcFormControlDirective implements ControlValueAccessor {
/** @hidden @internal */
@@ -63,8 +63,3 @@ export class IgcFormControlDirective implements ControlValueAccessor {
}
}
-@NgModule({
- declarations: [IgcFormControlDirective],
- exports: [IgcFormControlDirective]
-})
-export class IgcFormsModule { }
\ No newline at end of file
diff --git a/projects/igniteui-angular/src/lib/directives/form-control/form-control.module.ts b/projects/igniteui-angular/src/lib/directives/form-control/form-control.module.ts
new file mode 100644
index 00000000000..d6dd922ed69
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/form-control/form-control.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgcFormControlDirective } from './form-control.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgcFormControlDirective],
+ exports: [IgcFormControlDirective]
+})
+export class IgcFormsModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/hint/hint.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/hint/hint.directive.spec.ts
index c2d79d9c5bf..86c54990a7b 100644
--- a/projects/igniteui-angular/src/lib/directives/hint/hint.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/hint/hint.directive.spec.ts
@@ -1,9 +1,9 @@
import { Component } from '@angular/core';
import { TestBed, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { IgxInputGroupModule } from '../../input-group/input-group.component';
import { configureTestSuite } from '../../test-utils/configure-suite';
+import { IgxHintDirective } from './hint.directive';
describe('IgxHint', () => {
configureTestSuite();
@@ -12,13 +12,10 @@ describe('IgxHint', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
HintComponent,
StartHintComponent,
EndHintComponent
- ],
- imports: [
- IgxInputGroupModule
]
})
.compileComponents();
@@ -44,19 +41,25 @@ describe('IgxHint', () => {
});
@Component({
- template: `regular hint `
+ template: `regular hint `,
+ standalone: true,
+ imports: [IgxHintDirective]
})
class HintComponent {
}
@Component({
- template: `hin with position start `
+ template: `hin with position start `,
+ standalone: true,
+ imports: [IgxHintDirective]
})
class StartHintComponent {
}
@Component({
- template: `hint with position end `
+ template: `hint with position end `,
+ standalone: true,
+ imports: [IgxHintDirective]
})
class EndHintComponent {
}
diff --git a/projects/igniteui-angular/src/lib/directives/hint/hint.directive.ts b/projects/igniteui-angular/src/lib/directives/hint/hint.directive.ts
index 5c6a55634ff..059319a6836 100644
--- a/projects/igniteui-angular/src/lib/directives/hint/hint.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/hint/hint.directive.ts
@@ -6,7 +6,8 @@ enum IgxHintPosition {
}
@Directive({
- selector: 'igx-hint,[igxHint]'
+ selector: 'igx-hint,[igxHint]',
+ standalone: true
})
export class IgxHintDirective implements OnInit {
/**
diff --git a/projects/igniteui-angular/src/lib/directives/input/input.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/input/input.directive.spec.ts
index 45c97612a25..2e812f6618c 100644
--- a/projects/igniteui-angular/src/lib/directives/input/input.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/input/input.directive.spec.ts
@@ -2,10 +2,14 @@ import { Component, ViewChild, ViewChildren, QueryList, DebugElement } from '@an
import { TestBed, fakeAsync, tick, waitForAsync } from '@angular/core/testing';
import { FormsModule, UntypedFormBuilder, ReactiveFormsModule, Validators, UntypedFormControl, UntypedFormGroup, FormControl } from '@angular/forms';
import { By } from '@angular/platform-browser';
-import { IgxInputGroupComponent, IgxInputGroupModule } from '../../input-group/input-group.component';
+import { IgxInputGroupComponent } from '../../input-group/input-group.component';
import { IgxInputDirective, IgxInputState } from './input.directive';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
+import { IgxLabelDirective } from '../label/label.directive';
+import { IgxSuffixDirective } from '../suffix/suffix.directive';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { IgxMaskDirective } from '../mask/mask.directive';
const INPUT_CSS_CLASS = 'igx-input-group__input';
const CSS_CLASS_INPUT_GROUP_LABEL = 'igx-input-group__label';
@@ -24,7 +28,7 @@ describe('IgxInput', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
InputComponent,
TextareaComponent,
InputWithPlaceholderComponent,
@@ -40,14 +44,8 @@ describe('IgxInput', () => {
ToggleRequiredWithNgModelInputComponent,
InputReactiveFormComponent,
FileInputFormComponent
- ],
- imports: [
- IgxInputGroupModule,
- FormsModule,
- ReactiveFormsModule
]
- })
- .compileComponents();
+ }).compileComponents();
}));
it('Initializes an input.', () => {
@@ -829,16 +827,19 @@ describe('IgxInput', () => {
@Component({
template: `
- ` })
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective, FormsModule]
+})
class InputsWithSameNameAttributesComponent {
@ViewChildren('igxInputGroup') public igxInputGroup: QueryList;
@ViewChild(IgxInputDirective, { static: true }) public igxInput: IgxInputDirective;
@@ -850,57 +851,87 @@ class InputsWithSameNameAttributesComponent {
@Component({
- template: `
- Test
-
- ` })
+ template: `
+
+ Test
+
+
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective]
+})
class InputComponent {
@ViewChild('igxInputGroup', { static: true }) public igxInputGroup: IgxInputGroupComponent;
@ViewChild(IgxInputDirective, { static: true }) public igxInput: IgxInputDirective;
}
@Component({
- template: `
- Test
-
- ` })
+ template: `
+
+ Test
+
+
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective]
+})
class TextareaComponent {
}
@Component({
- template: `
- Test
-
- ` })
+ template: `
+
+ Test
+
+
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective]
+})
class InputWithPlaceholderComponent {
@ViewChild(IgxInputDirective, { static: true }) public igxInput: IgxInputDirective;
}
@Component({
- template: `
- Test
-
- ` })
+ template: `
+
+ Test
+
+
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective]
+})
class FilledInputComponent {
@ViewChild('igxInputGroup', { static: true }) public igxInputGroup: IgxInputGroupComponent;
@ViewChild(IgxInputDirective, { static: true }) public igxInput: IgxInputDirective;
}
@Component({
- template: `
- Test
-
- ` })
+ template: `
+
+ Test
+
+
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective]
+})
class DisabledInputComponent {
@ViewChild('igxInputGroup', { static: true }) public igxInputGroup: IgxInputGroupComponent;
@ViewChild(IgxInputDirective, { static: true }) public igxInput: IgxInputDirective;
}
@Component({
- template: `
- Test
-
- ` })
+ template: `
+
+ Test
+
+
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective]
+})
class RequiredInputComponent {
@ViewChild('igxInputGroup', { static: true }) public igxInputGroup: IgxInputGroupComponent;
@ViewChild(IgxInputDirective, { static: true }) public igxInput: IgxInputDirective;
@@ -908,9 +939,12 @@ class RequiredInputComponent {
@Component({
template: `
- Test
-
- ` })
+ Test
+
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective, FormsModule]
+})
class RequiredTwoWayDataBoundInputComponent {
@ViewChild('igxInputGroup', { static: true }) public igxInputGroup: IgxInputGroupComponent;
@ViewChild(IgxInputDirective, { static: true }) public igxInput: IgxInputDirective;
@@ -921,46 +955,50 @@ class RequiredTwoWayDataBoundInputComponent {
}
@Component({
- template: `
- Not Filled Undefined
-
-
-
-
- Not Filled Null
-
-
-
-
- Not Filled Empty
-
-
-
-
- Filled String
-
-
-
-
- Filled Number
-
-
-
-
- Filled Bool False
-
-
-
-
- Filled Bool True
-
-
-
-
- Filled Date
-
-
- `})
+ template: `
+
+ Not Filled Undefined
+
+
+
+
+ Not Filled Null
+
+
+
+
+ Not Filled Empty
+
+
+
+
+ Filled String
+
+
+
+
+ Filled Number
+
+
+
+
+ Filled Bool False
+
+
+
+
+ Filled Bool True
+
+
+
+
+ Filled Date
+
+
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective, FormsModule]
+})
class InitiallyFilledInputComponent {
@ViewChild('igxInputGroupNotFilledUndefined', { static: true }) public igxInputGroupNotFilledUndefined: IgxInputGroupComponent;
@ViewChild('igxInputGroupNotFilledNull', { static: true }) public igxInputGroupNotFilledNull: IgxInputGroupComponent;
@@ -985,10 +1023,15 @@ class InitiallyFilledInputComponent {
}
@Component({
- template: `
- Test
-
- ` })
+ template: `
+
+ Test
+
+
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective]
+})
class DataBoundDisabledInputComponent {
@ViewChild('igxInputGroup', { static: true }) public igxInputGroup: IgxInputGroupComponent;
@ViewChild(IgxInputDirective, { static: true }) public igxInput: IgxInputDirective;
@@ -997,10 +1040,14 @@ class DataBoundDisabledInputComponent {
}
@Component({
- template: `
- Test
-
- `
+ template: `
+
+ Test
+
+
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective]
})
class DataBoundDisabledInputWithoutValueComponent extends DataBoundDisabledInputComponent {
public changeDisabledState() {
@@ -1009,8 +1056,8 @@ class DataBoundDisabledInputWithoutValueComponent extends DataBoundDisabledInput
}
@Component({
- template:
- `
- `
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective, IgxMaskDirective, ReactiveFormsModule]
})
class ReactiveFormComponent {
@ViewChild('strinput', { static: true, read: IgxInputDirective }) public strIgxInput: IgxInputDirective;
@@ -1082,14 +1131,19 @@ class ReactiveFormComponent {
}
@Component({
- template: `
- Test
-
-
-
- Test
-
- ` })
+ template: `
+
+ Test
+
+
+
+ Test
+
+
+ `,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective, FormsModule]
+})
class ToggleRequiredWithNgModelInputComponent {
@ViewChildren(IgxInputDirective)
public igxInputs: QueryList;
@@ -1112,7 +1166,9 @@ class ToggleRequiredWithNgModelInputComponent {
-`
+`,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective, IgxSuffixDirective, IgxIconComponent, ReactiveFormsModule]
})
class InputReactiveFormComponent {
@@ -1175,7 +1231,9 @@ class InputReactiveFormComponent {
File Name
-`
+`,
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective, ReactiveFormsModule, FormsModule]
})
class FileInputFormComponent {
diff --git a/projects/igniteui-angular/src/lib/directives/input/input.directive.ts b/projects/igniteui-angular/src/lib/directives/input/input.directive.ts
index 2dc03193fe9..8bee45f06bd 100644
--- a/projects/igniteui-angular/src/lib/directives/input/input.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/input/input.directive.ts
@@ -60,6 +60,7 @@ export enum IgxInputState {
@Directive({
selector: '[igxInput]',
exportAs: 'igxInput',
+ standalone: true
})
export class IgxInputDirective implements AfterViewInit, OnDestroy {
private static ngAcceptInputType_required: boolean | '';
diff --git a/projects/igniteui-angular/src/lib/directives/label/label.directive.ts b/projects/igniteui-angular/src/lib/directives/label/label.directive.ts
index 607251fdfaa..520e568a1e9 100644
--- a/projects/igniteui-angular/src/lib/directives/label/label.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/label/label.directive.ts
@@ -3,7 +3,8 @@ import { Directive, HostBinding, Input } from '@angular/core';
let NEXT_ID = 0;
@Directive({
- selector: '[igxLabel]'
+ selector: '[igxLabel]',
+ standalone: true
})
export class IgxLabelDirective {
@HostBinding('class.igx-input-group__label')
diff --git a/projects/igniteui-angular/src/lib/directives/layout/layout.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/layout/layout.directive.spec.ts
index 88879b1d96f..bcb4719601f 100644
--- a/projects/igniteui-angular/src/lib/directives/layout/layout.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/layout/layout.directive.spec.ts
@@ -1,7 +1,7 @@
import { Component, ViewChild } from '@angular/core';
import { TestBed, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { IgxFlexDirective, IgxLayoutDirective, IgxLayoutModule } from './layout.directive';
+import { IgxFlexDirective, IgxLayoutDirective } from './layout.directive';
import { configureTestSuite } from '../../test-utils/configure-suite';
@@ -9,8 +9,7 @@ describe('IgxLayoutDirective', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [TestFlexLayoutComponent],
- imports: [IgxLayoutModule]
+ imports: [TestFlexLayoutComponent]
}).compileComponents();
}));
@@ -142,7 +141,9 @@ describe('IgxLayoutDirective', () => {
- `
+ `,
+ standalone: true,
+ imports: [IgxLayoutDirective, IgxFlexDirective]
})
class TestFlexLayoutComponent {
@ViewChild(IgxLayoutDirective, { static: true }) public instance: IgxLayoutDirective;
diff --git a/projects/igniteui-angular/src/lib/directives/layout/layout.directive.ts b/projects/igniteui-angular/src/lib/directives/layout/layout.directive.ts
index 78abbdc11d2..e5460fbecf8 100644
--- a/projects/igniteui-angular/src/lib/directives/layout/layout.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/layout/layout.directive.ts
@@ -1,7 +1,8 @@
-import { Directive, HostBinding, Input, NgModule } from '@angular/core';
+import { Directive, HostBinding, Input } from '@angular/core';
@Directive({
- selector: '[igxLayout]'
+ selector: '[igxLayout]',
+ standalone: true
})
export class IgxLayoutDirective {
/**
@@ -140,7 +141,8 @@ export class IgxLayoutDirective {
}
@Directive({
- selector: '[igxFlex]'
+ selector: '[igxFlex]',
+ standalone: true
})
export class IgxFlexDirective {
@@ -232,12 +234,3 @@ export class IgxFlexDirective {
return this.order || 0;
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxFlexDirective, IgxLayoutDirective],
- exports: [IgxFlexDirective, IgxLayoutDirective]
-})
-export class IgxLayoutModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/layout/layout.module.ts b/projects/igniteui-angular/src/lib/directives/layout/layout.module.ts
new file mode 100644
index 00000000000..77ccdb94f25
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/layout/layout.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxFlexDirective, IgxLayoutDirective } from './layout.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxFlexDirective, IgxLayoutDirective],
+ exports: [IgxFlexDirective, IgxLayoutDirective]
+})
+export class IgxLayoutModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/mask/mask-parsing.service.ts b/projects/igniteui-angular/src/lib/directives/mask/mask-parsing.service.ts
index 560d936f041..1ab4e87622a 100644
--- a/projects/igniteui-angular/src/lib/directives/mask/mask-parsing.service.ts
+++ b/projects/igniteui-angular/src/lib/directives/mask/mask-parsing.service.ts
@@ -29,7 +29,7 @@ export interface Replaced {
interface ParsedMask {
literals: Map,
mask: string
-};
+}
const replaceCharAt = (string: string, idx: number, char: string) =>
`${string.substring(0, idx)}${char}${string.substring(idx + 1)}`;
@@ -62,7 +62,7 @@ export function parseMask(format: string): ParsedMask {
})
export class MaskParsingService {
- public applyMask(inputVal: string, maskOptions: MaskOptions, pos: number = 0): string {
+ public applyMask(inputVal: string, maskOptions: MaskOptions, pos = 0): string {
let outputVal = '';
let value = '';
const { literals, mask } = parseMask(maskOptions.format);
@@ -131,7 +131,7 @@ export class MaskParsingService {
const chars = Array.from(value);
let cursor = start;
end = Math.min(end, maskedValue.length);
- let initialMaskedValue = maskedValue;
+ const initialMaskedValue = maskedValue;
for (let i = start; i < end || (chars.length && i < maskedValue.length); i++) {
if (literalsPositions.indexOf(i) !== -1) {
@@ -182,7 +182,7 @@ export class MaskParsingService {
}
private getNonLiteralIndices(mask: string, literalKeys: number[]): number[] {
- const nonLiteralsIndices: number[] = new Array();
+ const nonLiteralsIndices: number[] = [];
for (let i = 0; i < mask.length; i++) {
if (literalKeys.indexOf(i) === -1) {
@@ -193,7 +193,7 @@ export class MaskParsingService {
return nonLiteralsIndices;
}
private getNonLiteralValues(value: string, literalValues: string[]): string[] {
- const nonLiteralValues: string[] = new Array();
+ const nonLiteralValues: string[] = [];
for (const val of value) {
if (literalValues.indexOf(val) === -1) {
diff --git a/projects/igniteui-angular/src/lib/directives/mask/mask.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/mask/mask.directive.spec.ts
index 41a4e0a8c46..cb2dd89519f 100644
--- a/projects/igniteui-angular/src/lib/directives/mask/mask.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/mask/mask.directive.spec.ts
@@ -1,20 +1,21 @@
import { Component, Input, ViewChild, ElementRef, Pipe, PipeTransform, Renderer2 } from '@angular/core';
import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { FormsModule } from '@angular/forms';
-import { IgxInputGroupModule } from '../../input-group/input-group.component';
-import { IgxMaskModule, IgxMaskDirective } from './mask.directive';
+import { IgxMaskDirective } from './mask.directive';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
import { Replaced } from './mask-parsing.service';
import { By } from '@angular/platform-browser';
-import { PlatformUtil } from '../../core/utils';
+import { IgxInputGroupComponent } from '../../input-group/input-group.component';
+import { IgxInputDirective } from '../input/input.directive';
describe('igxMask', () => {
configureTestSuite();
+ // TODO: Refactor tests to reuse components
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
AlphanumSpaceMaskComponent,
AnyCharMaskComponent,
DefMaskComponent,
@@ -29,13 +30,7 @@ describe('igxMask', () => {
PlaceholderMaskComponent,
MaskTestComponent,
ReadonlyMaskTestComponent
- ],
- imports: [
- FormsModule,
- IgxInputGroupModule,
- IgxMaskModule
- ],
- providers: [PlatformUtil]
+ ]
}).compileComponents();
}));
@@ -610,10 +605,31 @@ describe('igxMaskDirective ControlValueAccessor Unit', () => {
});
});
+
+@Pipe({ name: 'inputFormat', standalone: true })
+export class InputFormatPipe implements PipeTransform {
+ public transform(value: any): string {
+ return value.toUpperCase();
+ }
+}
+
+@Pipe({ name: 'displayFormat', standalone: true })
+export class DisplayFormatPipe implements PipeTransform {
+ public transform(value: any): string {
+ return value.toLowerCase();
+ }
+}
+
+
@Component({
- template: `
-
- ` })
+ template: `
+
+
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
+})
class DefMaskComponent {
@ViewChild('input', { static: true })
public input: ElementRef;
@@ -627,8 +643,11 @@ class DefMaskComponent {
@Component({
template: `
-
- ` })
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
+})
class MaskComponent {
@ViewChild('input', { static: true })
@@ -639,11 +658,14 @@ class MaskComponent {
@Component({
template: `
-
-
-
-
- ` })
+
+
+
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
+})
class IncludeLiteralsComponent {
@Input() public value = '55555';
@@ -657,8 +679,11 @@ class IncludeLiteralsComponent {
@Component({
template: `
-
- ` })
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
+})
class DigitSpaceMaskComponent {
@ViewChild('input', { static: true })
public input: ElementRef;
@@ -669,8 +694,11 @@ class DigitSpaceMaskComponent {
@Component({
template: `
-
- ` })
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
+})
class DigitPlusMinusMaskComponent {
@ViewChild('input', { static: true })
public input: ElementRef;
@@ -681,8 +709,11 @@ class DigitPlusMinusMaskComponent {
@Component({
template: `
-
- ` })
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
+})
class LetterSpaceMaskComponent {
@ViewChild('input', { static: true })
public input: ElementRef;
@@ -693,8 +724,11 @@ class LetterSpaceMaskComponent {
@Component({
template: `
-
- ` })
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
+})
class AlphanumSpaceMaskComponent {
@ViewChild('input', { static: true })
public input: ElementRef;
@@ -704,9 +738,14 @@ class AlphanumSpaceMaskComponent {
}
@Component({
- template: `
-
- ` })
+ template: `
+
+
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
+})
class AnyCharMaskComponent {
@ViewChild('input', { static: true })
public input: ElementRef;
@@ -716,10 +755,15 @@ class AnyCharMaskComponent {
}
@Component({
- template: `
-
- ` })
+ template: `
+
+
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
+})
class EventFiringComponent {
@ViewChild('input', { static: true })
@@ -736,13 +780,18 @@ class EventFiringComponent {
}
@Component({
- template: `
-
- ` })
+ template: `
+
+
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
+})
class OneWayBindComponent {
@ViewChild('input', { static: true })
public input: ElementRef;
@@ -752,12 +801,17 @@ class OneWayBindComponent {
}
@Component({
- template: `
-
- ` })
+ template: `
+
+
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
+})
class PlaceholderMaskComponent {
@ViewChild('input', { static: true })
public input: ElementRef;
@@ -767,13 +821,17 @@ class PlaceholderMaskComponent {
}
@Component({
- template: `
-
- ` })
+ template: `
+
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective, InputFormatPipe, DisplayFormatPipe]
+})
class PipesMaskComponent {
@ViewChild('input', { static: true })
@@ -788,10 +846,12 @@ class PipesMaskComponent {
@Component({
template: `
-
-
-
- `
+
+
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
})
class MaskTestComponent {
@ViewChild('input', { static: true })
@@ -799,25 +859,14 @@ class MaskTestComponent {
}
@Component({
- template: `
-
- `
+ template: `
+
+
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxMaskDirective]
})
class ReadonlyMaskTestComponent {
@ViewChild(IgxMaskDirective)
public mask: IgxMaskDirective;
}
-
-@Pipe({ name: 'inputFormat' })
-export class InputFormatPipe implements PipeTransform {
- public transform(value: any): string {
- return value.toUpperCase();
- }
-}
-
-@Pipe({ name: 'displayFormat' })
-export class DisplayFormatPipe implements PipeTransform {
- public transform(value: any): string {
- return value.toLowerCase();
- }
-}
diff --git a/projects/igniteui-angular/src/lib/directives/mask/mask.directive.ts b/projects/igniteui-angular/src/lib/directives/mask/mask.directive.ts
index bd1ce7d1d78..e570637743d 100644
--- a/projects/igniteui-angular/src/lib/directives/mask/mask.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/mask/mask.directive.ts
@@ -1,8 +1,7 @@
-import { CommonModule } from '@angular/common';
import {
Directive, ElementRef, EventEmitter, HostListener,
Output, PipeTransform, Renderer2,
- Input, NgModule, OnInit, AfterViewChecked,
+ Input, OnInit, AfterViewChecked,
} from '@angular/core';
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
import { MaskParsingService, MaskOptions, parseMask } from './mask-parsing.service';
@@ -12,7 +11,8 @@ import { noop } from 'rxjs';
@Directive({
providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxMaskDirective, multi: true }],
selector: '[igxMask]',
- exportAs: 'igxMask'
+ exportAs: 'igxMask',
+ standalone: true
})
export class IgxMaskDirective implements OnInit, AfterViewChecked, ControlValueAccessor {
/**
@@ -394,7 +394,7 @@ export class IgxMaskDirective implements OnInit, AfterViewChecked, ControlValueA
this.inputValue = replacedData.value;
if (this._key === this.platform.KEYMAP.BACKSPACE) {
replacedData.end = this._start;
- };
+ }
this.setSelectionRange(replacedData.end);
@@ -424,9 +424,4 @@ export interface IMaskEventArgs extends IBaseEventArgs {
}
/** @hidden */
-@NgModule({
- declarations: [IgxMaskDirective],
- exports: [IgxMaskDirective],
- imports: [CommonModule]
-})
-export class IgxMaskModule { }
+
diff --git a/projects/igniteui-angular/src/lib/directives/mask/mask.module.ts b/projects/igniteui-angular/src/lib/directives/mask/mask.module.ts
new file mode 100644
index 00000000000..321a3b91654
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/mask/mask.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxMaskDirective } from './mask.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxMaskDirective],
+ exports: [IgxMaskDirective]
+})
+export class IgxMaskModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/prefix/prefix.directive.ts b/projects/igniteui-angular/src/lib/directives/prefix/prefix.directive.ts
index 50ee0d5766f..2dcd6fb00c7 100644
--- a/projects/igniteui-angular/src/lib/directives/prefix/prefix.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/prefix/prefix.directive.ts
@@ -1,18 +1,15 @@
-import { NgModule, Directive } from '@angular/core';
+import { Directive } from '@angular/core';
/**
* @hidden
*/
@Directive({
- selector: 'igx-prefix,[igxPrefix],[igxStart]'
+ selector: 'igx-prefix,[igxPrefix],[igxStart]',
+ standalone: true
})
export class IgxPrefixDirective { }
/**
* @hidden
*/
-@NgModule({
- declarations: [IgxPrefixDirective],
- exports: [IgxPrefixDirective]
-})
-export class IgxPrefixModule { }
+
diff --git a/projects/igniteui-angular/src/lib/directives/radio/radio-group.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/radio/radio-group.directive.spec.ts
index 4a9d74aac00..becfbf70ee4 100644
--- a/projects/igniteui-angular/src/lib/directives/radio/radio-group.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/radio/radio-group.directive.spec.ts
@@ -1,29 +1,28 @@
import { Component, ViewChild } from '@angular/core';
import { TestBed, fakeAsync, tick, waitForAsync } from '@angular/core/testing';
-import { IgxRadioModule, IgxRadioGroupDirective } from './radio-group.directive';
+import { IgxRadioGroupDirective } from './radio-group.directive';
import { FormsModule, ReactiveFormsModule, UntypedFormGroup, UntypedFormBuilder } from '@angular/forms';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { By } from '@angular/platform-browser';
+import { IgxRadioComponent } from '../../radio/radio.component';
+import { NgFor } from '@angular/common';
describe('IgxRadioGroupDirective', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ FormsModule,
+ ReactiveFormsModule,
+ NoopAnimationsModule,
RadioGroupComponent,
RadioGroupSimpleComponent,
RadioGroupWithModelComponent,
RadioGroupRequiredComponent,
RadioGroupReactiveFormsComponent,
RadioGroupDeepProjectionComponent
- ],
- imports: [
- IgxRadioModule,
- FormsModule,
- ReactiveFormsModule,
- NoopAnimationsModule
]
})
.compileComponents();
@@ -262,7 +261,9 @@ describe('IgxRadioGroupDirective', () => {
Option 1
Option 2
-`
+`,
+ standalone: true,
+ imports: [IgxRadioGroupDirective, IgxRadioComponent]
})
class RadioGroupSimpleComponent {
@ViewChild('radioGroup', { read: IgxRadioGroupDirective, static: true }) public radioGroup: IgxRadioGroupDirective;
@@ -274,7 +275,9 @@ class RadioGroupSimpleComponent {
{{item}}
-`
+`,
+ standalone: true,
+ imports: [IgxRadioComponent, IgxRadioGroupDirective, NgFor]
})
class RadioGroupComponent {
@ViewChild('radioGroup', { read: IgxRadioGroupDirective, static: true }) public radioGroup: IgxRadioGroupDirective;
@@ -286,7 +289,9 @@ class RadioGroupComponent {
{{item}}
-`
+`,
+ standalone: true,
+ imports: [IgxRadioComponent, IgxRadioGroupDirective, NgFor]
})
class RadioGroupRequiredComponent {
@ViewChild('radioGroup', { read: IgxRadioGroupDirective, static: true }) public radioGroup: IgxRadioGroupDirective;
@@ -303,7 +308,9 @@ interface Person {
{{item}}
-`
+`,
+ standalone: true,
+ imports: [IgxRadioComponent, IgxRadioGroupDirective, NgFor, FormsModule]
})
class RadioGroupWithModelComponent {
@ViewChild('radioGroupSeasons', { read: IgxRadioGroupDirective, static: true }) public radioGroup: IgxRadioGroupDirective;
@@ -327,7 +334,9 @@ class RadioGroupWithModelComponent {
-`
+`,
+ standalone: true,
+ imports: [IgxRadioComponent, IgxRadioGroupDirective, NgFor, ReactiveFormsModule]
})
class RadioGroupReactiveFormsComponent {
public seasons = [
@@ -378,7 +387,9 @@ class RadioGroupReactiveFormsComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxRadioComponent, IgxRadioGroupDirective, NgFor, ReactiveFormsModule]
})
class RadioGroupDeepProjectionComponent {
diff --git a/projects/igniteui-angular/src/lib/directives/radio/radio-group.directive.ts b/projects/igniteui-angular/src/lib/directives/radio/radio-group.directive.ts
index 339fbfe8ef2..c8cd672c032 100644
--- a/projects/igniteui-angular/src/lib/directives/radio/radio-group.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/radio/radio-group.directive.ts
@@ -1,7 +1,7 @@
import {
AfterContentInit,
AfterViewInit,
- ContentChildren, Directive, DoCheck, EventEmitter, HostBinding, HostListener, Input, NgModule, OnDestroy, Optional, Output, QueryList, Self
+ ContentChildren, Directive, DoCheck, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Optional, Output, QueryList, Self
} from '@angular/core';
import { ControlValueAccessor, NgControl, Validators } from '@angular/forms';
import { fromEvent, noop, Subject } from 'rxjs';
@@ -9,7 +9,6 @@ import { startWith, takeUntil } from 'rxjs/operators';
import { mkenum } from '../../core/utils';
import { IChangeRadioEventArgs, IgxRadioComponent } from '../../radio/radio.component';
import { IgxDirectionality } from '../../services/direction/directionality';
-import { IgxRippleModule } from '../ripple/ripple.directive';
/**
* Determines the Radio Group alignment
@@ -47,7 +46,8 @@ let nextId = 0;
*/
@Directive({
exportAs: 'igxRadioGroup',
- selector: 'igx-radio-group, [igxRadioGroup]'
+ selector: 'igx-radio-group, [igxRadioGroup]',
+ standalone: true
})
export class IgxRadioGroupDirective implements AfterContentInit, AfterViewInit, ControlValueAccessor, OnDestroy, DoCheck {
private static ngAcceptInputType_required: boolean | '';
@@ -604,9 +604,4 @@ export class IgxRadioGroupDirective implements AfterContentInit, AfterViewInit,
/**
* @hidden
*/
-@NgModule({
- declarations: [IgxRadioGroupDirective, IgxRadioComponent],
- exports: [IgxRadioGroupDirective, IgxRadioComponent],
- imports: [IgxRippleModule]
-})
-export class IgxRadioModule {}
+
diff --git a/projects/igniteui-angular/src/lib/directives/radio/radio-group.module.ts b/projects/igniteui-angular/src/lib/directives/radio/radio-group.module.ts
new file mode 100644
index 00000000000..ed0b3fbabd5
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/radio/radio-group.module.ts
@@ -0,0 +1,13 @@
+import { NgModule } from '@angular/core';
+import { IgxRadioGroupDirective } from './radio-group.directive';
+import { IgxRadioComponent } from '../../radio/radio.component';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxRadioGroupDirective, IgxRadioComponent],
+ exports: [IgxRadioGroupDirective, IgxRadioComponent]
+})
+export class IgxRadioModule {}
diff --git a/projects/igniteui-angular/src/lib/directives/ripple/ripple.directive.ts b/projects/igniteui-angular/src/lib/directives/ripple/ripple.directive.ts
index bec2860eb6d..a6dc64196ec 100644
--- a/projects/igniteui-angular/src/lib/directives/ripple/ripple.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/ripple/ripple.directive.ts
@@ -1,8 +1,9 @@
-import { Directive, ElementRef, HostListener, Input, NgModule, NgZone, Renderer2 } from '@angular/core';
+import { Directive, ElementRef, HostListener, Input, NgZone, Renderer2 } from '@angular/core';
import { AnimationBuilder, style, animate } from '@angular/animations';
@Directive({
- selector: '[igxRipple]'
+ selector: '[igxRipple]',
+ standalone: true
})
export class IgxRippleDirective {
/**
@@ -170,8 +171,4 @@ export class IgxRippleDirective {
/**
* @hidden
*/
-@NgModule({
- declarations: [IgxRippleDirective],
- exports: [IgxRippleDirective]
-})
-export class IgxRippleModule { }
+
diff --git a/projects/igniteui-angular/src/lib/directives/ripple/ripple.module.ts b/projects/igniteui-angular/src/lib/directives/ripple/ripple.module.ts
new file mode 100644
index 00000000000..1e74d02b266
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/ripple/ripple.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxRippleDirective } from './ripple.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxRippleDirective],
+ exports: [IgxRippleDirective]
+})
+export class IgxRippleModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.directive.spec.ts
index 52d2ab140ad..611de89d523 100644
--- a/projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.directive.spec.ts
@@ -7,7 +7,7 @@ import {
ElementRef
} from '@angular/core';
import { TestBed, ComponentFixture, fakeAsync, tick, waitForAsync } from '@angular/core/testing';
-import { IgxScrollInertiaModule, IgxScrollInertiaDirective } from './scroll_inertia.directive';
+import { IgxScrollInertiaDirective } from './scroll_inertia.directive';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { wait } from '../../test-utils/ui-interactions.spec';
@@ -18,11 +18,10 @@ describe('Scroll Inertia Directive - Rendering', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
IgxTestScrollInertiaDirective,
ScrollInertiaComponent
- ],
- imports: [IgxScrollInertiaModule]
+ ]
}).compileComponents().then(() => {
fix = TestBed.createComponent(ScrollInertiaComponent);
fix.detectChanges();
@@ -302,8 +301,11 @@ describe('Scroll Inertia Directive - Scrolling', () => {
});
});
- /** igxScroll inertia for testing */
-@Directive({ selector: '[igxTestScrollInertia]' })
+/** igxScroll inertia for testing */
+@Directive({
+ selector: '[igxTestScrollInertia]',
+ standalone: true
+})
export class IgxTestScrollInertiaDirective extends IgxScrollInertiaDirective {
constructor(element: ElementRef, _zone: NgZone) {
@@ -337,7 +339,9 @@ export class IgxTestScrollInertiaDirective extends IgxScrollInertiaDirective {
- `
+ `,
+ standalone: true,
+ imports: [IgxTestScrollInertiaDirective]
})
export class ScrollInertiaComponent implements OnInit {
@ViewChild('container', { static: true }) public container: ElementRef;
diff --git a/projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.directive.ts b/projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.directive.ts
index a1091e4427d..3985e55b3ec 100644
--- a/projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.directive.ts
@@ -1,10 +1,12 @@
-import { Directive, Input, ElementRef, NgZone, OnInit, NgModule, OnDestroy } from '@angular/core';
-import { CommonModule } from '@angular/common';
+import { Directive, Input, ElementRef, NgZone, OnInit, OnDestroy } from '@angular/core';
/**
* @hidden
*/
-@Directive({ selector: '[igxScrollInertia]' })
+@Directive({
+ selector: '[igxScrollInertia]',
+ standalone: true
+})
export class IgxScrollInertiaDirective implements OnInit, OnDestroy {
@Input()
@@ -454,12 +456,5 @@ export class IgxScrollInertiaDirective implements OnInit, OnDestroy {
/**
* @hidden
*/
-@NgModule({
- declarations: [IgxScrollInertiaDirective],
- exports: [IgxScrollInertiaDirective],
- imports: [CommonModule]
-})
-export class IgxScrollInertiaModule {
-}
diff --git a/projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.module.ts b/projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.module.ts
new file mode 100644
index 00000000000..4e9772fcb60
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/scroll-inertia/scroll_inertia.module.ts
@@ -0,0 +1,13 @@
+import { NgModule } from '@angular/core';
+import { IgxScrollInertiaDirective } from './scroll_inertia.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxScrollInertiaDirective],
+ exports: [IgxScrollInertiaDirective]
+})
+export class IgxScrollInertiaModule {
+}
diff --git a/projects/igniteui-angular/src/lib/directives/suffix/suffix.directive.ts b/projects/igniteui-angular/src/lib/directives/suffix/suffix.directive.ts
index e8d9a031a58..71942ffd322 100644
--- a/projects/igniteui-angular/src/lib/directives/suffix/suffix.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/suffix/suffix.directive.ts
@@ -1,18 +1,15 @@
-import { NgModule, Directive } from '@angular/core';
+import { Directive } from '@angular/core';
/**
* @hidden
*/
@Directive({
- selector: 'igx-suffix,[igxSuffix],[igxEnd]'
+ selector: 'igx-suffix,[igxSuffix],[igxEnd]',
+ standalone: true
})
export class IgxSuffixDirective { }
/**
* @hidden
*/
-@NgModule({
- declarations: [IgxSuffixDirective],
- exports: [IgxSuffixDirective]
-})
-export class IgxSuffixModule { }
+
diff --git a/projects/igniteui-angular/src/lib/directives/template-outlet/template_outlet.directive.ts b/projects/igniteui-angular/src/lib/directives/template-outlet/template_outlet.directive.ts
index 3d05478f8e3..742cc0b98e7 100644
--- a/projects/igniteui-angular/src/lib/directives/template-outlet/template_outlet.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/template-outlet/template_outlet.directive.ts
@@ -1,15 +1,17 @@
import {
Directive, EmbeddedViewRef, Input, OnChanges, ChangeDetectorRef,
- SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef, NgModule, NgZone, Output, EventEmitter
+ SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef, NgZone, Output, EventEmitter
} from '@angular/core';
-import { CommonModule } from '@angular/common';
import { IBaseEventArgs } from '../../core/utils';
/**
* @hidden
*/
-@Directive({ selector: '[igxTemplateOutlet]' })
+@Directive({
+ selector: '[igxTemplateOutlet]',
+ standalone: true
+})
export class IgxTemplateOutletDirective implements OnChanges {
@Input() public igxTemplateOutletContext !: any;
@@ -216,10 +218,4 @@ export interface ICachedViewLoadedEventArgs extends IViewChangeEventArgs {
/**
* @hidden
*/
-@NgModule({
- declarations: [IgxTemplateOutletDirective],
- exports: [IgxTemplateOutletDirective],
- imports: [CommonModule]
-})
-export class IgxTemplateOutletModule {
-}
+
diff --git a/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.spec.ts
index 27d9fa0dbef..eaee3c79239 100644
--- a/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.spec.ts
@@ -1,4 +1,4 @@
-import { Component, forwardRef, ViewChild } from '@angular/core';
+import { Component, ViewChild } from '@angular/core';
import { TestBed, waitForAsync } from '@angular/core/testing';
import { IgxTextHighlightDirective, IActiveHighlightInfo} from './text-highlight.directive';
@@ -9,8 +9,7 @@ describe('IgxHighlight', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxTextHighlightDirective,
+ imports: [
HighlightLoremIpsumComponent
]
});
@@ -302,14 +301,17 @@ describe('IgxHighlight', () => {
});
@Component({
- template:
// eslint-disable-next-line max-len
- `
+ template: `
+
{{html}}
-
`
+
+ `,
+ standalone: true,
+ imports: [IgxTextHighlightDirective]
})
class HighlightLoremIpsumComponent {
- @ViewChild(forwardRef(() => IgxTextHighlightDirective), { read: IgxTextHighlightDirective, static: true })
+ @ViewChild(IgxTextHighlightDirective, { read: IgxTextHighlightDirective, static: true })
public highlight: IgxTextHighlightDirective;
public highlightClass = 'igx-highlight';
diff --git a/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.ts b/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.ts
index 67645c6068a..10740b8e373 100644
--- a/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.directive.ts
@@ -4,7 +4,6 @@ import {
ElementRef,
EventEmitter,
Input,
- NgModule,
OnChanges,
OnDestroy,
Renderer2,
@@ -46,7 +45,8 @@ export interface IActiveHighlightInfo {
}
@Directive({
- selector: '[igxTextHighlight]'
+ selector: '[igxTextHighlight]',
+ standalone: true
})
export class IgxTextHighlightDirective implements AfterViewInit, AfterViewChecked, OnDestroy, OnChanges {
public static highlightGroupsMap = new Map();
@@ -503,12 +503,3 @@ export class IgxTextHighlightDirective implements AfterViewInit, AfterViewChecke
this._forceEvaluation);
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxTextHighlightDirective],
- exports: [IgxTextHighlightDirective]
-})
-export class IgxTextHighlightModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.module.ts b/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.module.ts
new file mode 100644
index 00000000000..3d69cad8f8b
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/text-highlight/text-highlight.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxTextHighlightDirective } from './text-highlight.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxTextHighlightDirective],
+ exports: [IgxTextHighlightDirective]
+})
+export class IgxTextHighlightModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/text-selection/text-selection.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/text-selection/text-selection.directive.spec.ts
index bd1203199c0..6af193745db 100644
--- a/projects/igniteui-angular/src/lib/directives/text-selection/text-selection.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/text-selection/text-selection.directive.spec.ts
@@ -1,21 +1,20 @@
import { Component, DebugElement, Directive, ElementRef, HostListener, ViewChild } from '@angular/core';
import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { IgxTextSelectionModule } from './text-selection.directive';
import { configureTestSuite } from '../../test-utils/configure-suite';
+import { IgxTextSelectionDirective } from './text-selection.directive';
describe('IgxSelection', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
TriggerTextSelectionComponent,
TriggerTextSelectionOnClickComponent,
TextSelectionWithMultipleFocusHandlersComponent,
IgxTestFocusDirective
- ],
- imports: [IgxTextSelectionModule]
+ ]
});
}));
@@ -75,8 +74,8 @@ describe('IgxSelection', () => {
const inputElem: HTMLElement = input.nativeElement;
selectableTypes.forEach( el => {
- let type = Object.keys(el)[0];
- let val = el[type];
+ const type = Object.keys(el)[0];
+ const val = el[type];
fix.componentInstance.inputType = type;
fix.componentInstance.inputValue = val;
fix.detectChanges();
@@ -92,15 +91,15 @@ describe('IgxSelection', () => {
}
if(type === 'number'){
- let selection = document.getSelection().toString();
+ const selection = document.getSelection().toString();
tick(1000);
expect((String(val)).length).toBe(selection.length);
}
});
nonSelectableTypes.forEach( el => {
- let type = Object.keys(el)[0];
- let val = el[type];
+ const type = Object.keys(el)[0];
+ const val = el[type];
fix.componentInstance.inputType = type;
fix.componentInstance.inputValue = val;
fix.detectChanges();
@@ -143,19 +142,34 @@ describe('IgxSelection', () => {
}));
});
+@Directive({
+ selector: '[igxTestFocusDirective]',
+ standalone: true
+})
+class IgxTestFocusDirective {
+ constructor(private element: ElementRef) { }
+
+ @HostListener('focus')
+ public onFocus() {
+ this.element.nativeElement.value = `$${this.element.nativeElement.value}`;
+ }
+}
+
@Component({
- template:
- `
+ template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxTextSelectionDirective]
})
class TriggerTextSelectionComponent { }
@Component({
- template:
- `
+ template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxTextSelectionDirective]
})
class TriggerTextSelectionOnClickComponent {
public selectValue = true;
@@ -170,26 +184,18 @@ class TriggerTextSelectionOnClickComponent {
resolve("I promise to return after one second!");
}, 1000);
});
- }
- }
+ }
+}
- @Component({
- template: ` `
- })
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [IgxTextSelectionDirective, IgxTestFocusDirective]
+})
class TextSelectionWithMultipleFocusHandlersComponent {
public inputValue: any = "12-34-56";
}
-@Directive({selector: '[igxTestFocusDirective]'})
-class IgxTestFocusDirective {
- constructor(private element: ElementRef) { }
-
- @HostListener('focus')
- public onFocus() {
- this.element.nativeElement.value = `$${this.element.nativeElement.value}`;
- }
-}
-
interface Types {
[key: string]: any;
}
diff --git a/projects/igniteui-angular/src/lib/directives/text-selection/text-selection.directive.ts b/projects/igniteui-angular/src/lib/directives/text-selection/text-selection.directive.ts
index ddf57ba8ed2..99c1141bb19 100644
--- a/projects/igniteui-angular/src/lib/directives/text-selection/text-selection.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/text-selection/text-selection.directive.ts
@@ -1,8 +1,9 @@
-import { Directive, ElementRef, HostListener, Input, NgModule } from '@angular/core';
+import { Directive, ElementRef, HostListener, Input } from '@angular/core';
@Directive({
exportAs: 'igxTextSelection',
- selector: '[igxTextSelection]'
+ selector: '[igxTextSelection]',
+ standalone: true
})
export class IgxTextSelectionDirective {
private selectionState = true;
@@ -118,8 +119,4 @@ export class IgxTextSelectionDirective {
/**
* @hidden
*/
-@NgModule({
- declarations: [IgxTextSelectionDirective],
- exports: [IgxTextSelectionDirective]
-})
-export class IgxTextSelectionModule { }
+
diff --git a/projects/igniteui-angular/src/lib/directives/text-selection/text-selection.module.ts b/projects/igniteui-angular/src/lib/directives/text-selection/text-selection.module.ts
new file mode 100644
index 00000000000..a07cd261dc4
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/text-selection/text-selection.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxTextSelectionDirective } from './text-selection.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxTextSelectionDirective],
+ exports: [IgxTextSelectionDirective]
+})
+export class IgxTextSelectionModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/toggle/toggle.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/toggle/toggle.directive.spec.ts
index b984cc8e61a..ae719f54f26 100644
--- a/projects/igniteui-angular/src/lib/directives/toggle/toggle.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/toggle/toggle.directive.spec.ts
@@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, DebugElement, ViewChild, ElementRef
import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxToggleActionDirective, IgxToggleDirective, IgxToggleModule, IgxOverlayOutletDirective } from './toggle.directive';
+import { IgxToggleActionDirective, IgxToggleDirective, IgxOverlayOutletDirective } from './toggle.directive';
import {
IgxOverlayService, OverlaySettings, ConnectedPositioningStrategy,
AbsoluteScrollStrategy, AutoPositionStrategy, HorizontalAlignment
@@ -18,7 +18,8 @@ describe('IgxToggle', () => {
const TOGGLER_CLASS = 'igx-toggle';
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxToggleActionTestComponent,
IgxToggleOutletComponent,
IgxToggleServiceInjectComponent,
@@ -26,10 +27,8 @@ describe('IgxToggle', () => {
IgxToggleTestComponent,
TestWithOnPushComponent,
TestWithThreeToggleActionsComponent
- ],
- imports: [NoopAnimationsModule, IgxToggleModule]
- })
- .compileComponents();
+ ]
+ }).compileComponents();
}));
it('IgxToggleDirective is defined', () => {
@@ -626,7 +625,9 @@ describe('IgxToggle', () => {
4
- `
+ `,
+ standalone: true,
+ imports: [IgxToggleDirective]
})
export class IgxToggleTestComponent {
@ViewChild(IgxToggleDirective, { static: true }) public toggle: IgxToggleDirective;
@@ -645,7 +646,9 @@ export class IgxToggleTestComponent {
4
- `
+ `,
+ standalone: true,
+ imports: [IgxToggleDirective, IgxToggleActionDirective]
})
export class IgxToggleActionTestComponent {
@ViewChild(IgxToggleDirective, { static: true }) public toggle: IgxToggleDirective;
@@ -661,7 +664,9 @@ export class IgxToggleActionTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxToggleActionDirective, IgxToggleDirective, IgxOverlayOutletDirective]
})
export class IgxToggleOutletComponent extends IgxToggleActionTestComponent { }
@@ -671,7 +676,9 @@ export class IgxToggleOutletComponent extends IgxToggleActionTestComponent { }
Some content
- `
+ `,
+ standalone: true,
+ imports: [IgxToggleActionDirective, IgxToggleDirective]
})
export class IgxToggleServiceInjectComponent {
@ViewChild(IgxToggleDirective, { static: true }) public toggle: IgxToggleDirective;
@@ -687,7 +694,9 @@ export class IgxToggleServiceInjectComponent {
Some more content
`,
- changeDetection: ChangeDetectionStrategy.OnPush
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ standalone: true,
+ imports: [IgxToggleDirective]
})
export class IgxOverlayServiceComponent {
@ViewChild(IgxToggleDirective, { static: true }) public toggle: IgxToggleDirective;
@@ -705,7 +714,9 @@ export class IgxOverlayServiceComponent {
Some content
`,
- changeDetection: ChangeDetectionStrategy.OnPush
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ standalone: true,
+ imports: [IgxToggleActionDirective, IgxToggleDirective]
})
export class TestWithOnPushComponent {
@ViewChild(IgxToggleDirective, { static: true }) public toggle: IgxToggleDirective;
@@ -733,7 +744,9 @@ export class TestWithOnPushComponent {
Toggle 3
- `
+ `,
+ standalone: true,
+ imports: [IgxToggleActionDirective, IgxToggleDirective]
})
export class TestWithThreeToggleActionsComponent implements OnInit {
@ViewChild('button1', { static: true }) public button1: ElementRef;
diff --git a/projects/igniteui-angular/src/lib/directives/toggle/toggle.directive.ts b/projects/igniteui-angular/src/lib/directives/toggle/toggle.directive.ts
index 647cb5ec696..1be9a71a4a5 100644
--- a/projects/igniteui-angular/src/lib/directives/toggle/toggle.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/toggle/toggle.directive.ts
@@ -7,7 +7,6 @@ import {
HostListener,
Inject,
Input,
- NgModule,
OnDestroy,
OnInit,
Optional,
@@ -33,7 +32,8 @@ export interface ToggleViewCancelableEventArgs extends ToggleViewEventArgs, Canc
@Directive({
exportAs: 'toggle',
- selector: '[igxToggle]'
+ selector: '[igxToggle]',
+ standalone: true
})
export class IgxToggleDirective implements IToggleView, OnInit, OnDestroy {
/**
@@ -393,7 +393,8 @@ export class IgxToggleDirective implements IToggleView, OnInit, OnDestroy {
@Directive({
exportAs: 'toggle-action',
- selector: '[igxToggleAction]'
+ selector: '[igxToggleAction]',
+ standalone: true
})
export class IgxToggleActionDirective implements OnInit {
/**
@@ -505,7 +506,8 @@ export class IgxToggleActionDirective implements OnInit {
*/
@Directive({
exportAs: 'overlay-outlet',
- selector: '[igxOverlayOutlet]'
+ selector: '[igxOverlayOutlet]',
+ standalone: true
})
export class IgxOverlayOutletDirective {
constructor(public element: ElementRef) { }
@@ -515,13 +517,3 @@ export class IgxOverlayOutletDirective {
return this.element.nativeElement;
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxToggleDirective, IgxToggleActionDirective, IgxOverlayOutletDirective],
- exports: [IgxToggleDirective, IgxToggleActionDirective, IgxOverlayOutletDirective],
- providers: [IgxNavigationService]
-})
-export class IgxToggleModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/toggle/toggle.module.ts b/projects/igniteui-angular/src/lib/directives/toggle/toggle.module.ts
new file mode 100644
index 00000000000..89bf597b6b8
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/toggle/toggle.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { IgxOverlayOutletDirective, IgxToggleActionDirective, IgxToggleDirective } from './toggle.directive';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [IgxToggleDirective, IgxToggleActionDirective, IgxOverlayOutletDirective],
+ exports: [IgxToggleDirective, IgxToggleActionDirective, IgxOverlayOutletDirective]
+})
+export class IgxToggleModule { }
diff --git a/projects/igniteui-angular/src/lib/directives/tooltip/index.ts b/projects/igniteui-angular/src/lib/directives/tooltip/index.ts
deleted file mode 100644
index 856d5658184..00000000000
--- a/projects/igniteui-angular/src/lib/directives/tooltip/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export * from './tooltip.directive';
-export * from './tooltip-target.directive';
-export * from './tooltip.module';
\ No newline at end of file
diff --git a/projects/igniteui-angular/src/lib/directives/tooltip/public_api.ts b/projects/igniteui-angular/src/lib/directives/tooltip/public_api.ts
new file mode 100644
index 00000000000..98a7195759d
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/directives/tooltip/public_api.ts
@@ -0,0 +1,11 @@
+import { IgxTooltipTargetDirective } from './tooltip-target.directive';
+import { IgxTooltipDirective } from './tooltip.directive';
+
+export * from './tooltip.directive';
+export * from './tooltip-target.directive';
+
+/* NOTE: Tooltip directives collection for ease-of-use import in standalone components scenario */
+export const IGX_TOOLTIP_DIRECTIVES = [
+ IgxTooltipDirective,
+ IgxTooltipTargetDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip-target.directive.ts b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip-target.directive.ts
index 13580b5e7d3..2ab97413d0f 100644
--- a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip-target.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip-target.directive.ts
@@ -39,6 +39,7 @@ export interface ITooltipHideEventArgs extends IBaseEventArgs {
@Directive({
exportAs: 'tooltipTarget',
selector: '[igxTooltipTarget]',
+ standalone: true
})
export class IgxTooltipTargetDirective extends IgxToggleActionDirective implements OnInit, OnDestroy {
/**
diff --git a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.component.ts b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.component.ts
index a86d73e7909..77a69a65928 100644
--- a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.component.ts
+++ b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.component.ts
@@ -4,6 +4,8 @@ import { IgxTooltipDirective } from './tooltip.directive';
@Component({
selector: 'igx-tooltip',
templateUrl: 'tooltip.component.html',
+ standalone: true,
+ imports: [IgxTooltipDirective]
})
export class IgxTooltipComponent {
diff --git a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.spec.ts
index d1a6249e40f..eba79d8a54b 100644
--- a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.spec.ts
@@ -1,11 +1,12 @@
import { fakeAsync, TestBed, tick, flush, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxTooltipModule, IgxTooltipTargetDirective, IgxTooltipDirective } from './';
import { IgxTooltipSingleTargetComponent, IgxTooltipMultipleTargetsComponent, IgxTooltipPlainStringComponent } from '../../test-utils/tooltip-components.spec';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { HorizontalAlignment, VerticalAlignment, AutoPositionStrategy } from '../../services/public_api';
+import { IgxTooltipDirective } from './tooltip.directive';
+import { IgxTooltipTargetDirective } from './tooltip-target.directive';
const HIDDEN_TOOLTIP_CLASS = 'igx-tooltip--hidden';
const TOOLTIP_CLASS = 'igx-tooltip--desktop';
@@ -19,12 +20,12 @@ describe('IgxTooltip', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxTooltipSingleTargetComponent,
IgxTooltipMultipleTargetsComponent,
IgxTooltipPlainStringComponent
- ],
- imports: [NoopAnimationsModule, IgxTooltipModule]
+ ]
}).compileComponents();
UIInteractions.clearOverlay();
}));
diff --git a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.ts b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.ts
index f8b79bb04f1..a5b4f55b8d7 100644
--- a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.ts
+++ b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.ts
@@ -23,7 +23,8 @@ let NEXT_ID = 0;
*/
@Directive({
exportAs: 'tooltip',
- selector: '[igxTooltip]'
+ selector: '[igxTooltip]',
+ standalone: true
})
export class IgxTooltipDirective extends IgxToggleDirective {
/**
diff --git a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.module.ts b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.module.ts
index be8b0cb5eb7..022d4df94e4 100644
--- a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.module.ts
+++ b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.module.ts
@@ -1,17 +1,12 @@
-import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
-import { IgxOverlayService } from '../../services/overlay/overlay';
-import { IgxTooltipTargetDirective } from './tooltip-target.directive';
-import { IgxTooltipComponent } from './tooltip.component';
-import { IgxTooltipDirective } from './tooltip.directive';
+import { IGX_TOOLTIP_DIRECTIVES } from './public_api';
/**
* @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
*/
@NgModule({
- declarations: [IgxTooltipDirective, IgxTooltipTargetDirective, IgxTooltipComponent],
- exports: [IgxTooltipDirective, IgxTooltipTargetDirective],
- imports: [CommonModule],
- providers: [IgxOverlayService]
+ imports: [...IGX_TOOLTIP_DIRECTIVES],
+ exports: [...IGX_TOOLTIP_DIRECTIVES]
})
-export class IgxTooltipModule { }
\ No newline at end of file
+export class IgxTooltipModule { }
diff --git a/projects/igniteui-angular/src/lib/drop-down/drop-down-group.component.ts b/projects/igniteui-angular/src/lib/drop-down/drop-down-group.component.ts
index a6984a607cb..2543241facb 100644
--- a/projects/igniteui-angular/src/lib/drop-down/drop-down-group.component.ts
+++ b/projects/igniteui-angular/src/lib/drop-down/drop-down-group.component.ts
@@ -10,7 +10,8 @@ let NEXT_ID = 0;
template: `
{{ label }}
- `
+ `,
+ standalone: true
})
export class IgxDropDownGroupComponent {
/**
diff --git a/projects/igniteui-angular/src/lib/drop-down/drop-down-item.base.ts b/projects/igniteui-angular/src/lib/drop-down/drop-down-item.base.ts
index 4fd55a8ee3b..8a7fa59e45a 100644
--- a/projects/igniteui-angular/src/lib/drop-down/drop-down-item.base.ts
+++ b/projects/igniteui-angular/src/lib/drop-down/drop-down-item.base.ts
@@ -13,7 +13,8 @@ let NEXT_ID = 0;
* Method for handling click on Host()
*/
@Directive({
- selector: '[igxDropDownItemBase]'
+ selector: '[igxDropDownItemBase]',
+ standalone: true
})
export class IgxDropDownItemBaseDirective implements DoCheck {
/**
diff --git a/projects/igniteui-angular/src/lib/drop-down/drop-down-item.component.ts b/projects/igniteui-angular/src/lib/drop-down/drop-down-item.component.ts
index c1eba99f8a3..451e117226e 100644
--- a/projects/igniteui-angular/src/lib/drop-down/drop-down-item.component.ts
+++ b/projects/igniteui-angular/src/lib/drop-down/drop-down-item.component.ts
@@ -10,7 +10,8 @@ import { IgxDropDownItemBaseDirective } from './drop-down-item.base';
*/
@Component({
selector: 'igx-drop-down-item',
- templateUrl: 'drop-down-item.component.html'
+ templateUrl: 'drop-down-item.component.html',
+ standalone: true
})
export class IgxDropDownItemComponent extends IgxDropDownItemBaseDirective {
/**
diff --git a/projects/igniteui-angular/src/lib/drop-down/drop-down-navigation.directive.ts b/projects/igniteui-angular/src/lib/drop-down/drop-down-navigation.directive.ts
index 82e606dd362..133e239e3a7 100644
--- a/projects/igniteui-angular/src/lib/drop-down/drop-down-navigation.directive.ts
+++ b/projects/igniteui-angular/src/lib/drop-down/drop-down-navigation.directive.ts
@@ -8,7 +8,8 @@ import { DropDownActionKey } from './drop-down.common';
* Navigation Directive that handles keyboard events on its host and controls a targeted IgxDropDownBaseDirective component
*/
@Directive({
- selector: '[igxDropDownItemNavigation]'
+ selector: '[igxDropDownItemNavigation]',
+ standalone: true
})
export class IgxDropDownItemNavigationDirective implements IDropDownNavigationDirective {
diff --git a/projects/igniteui-angular/src/lib/drop-down/drop-down.component.html b/projects/igniteui-angular/src/lib/drop-down/drop-down.component.html
index 54c106e1041..de548994c04 100644
--- a/projects/igniteui-angular/src/lib/drop-down/drop-down.component.html
+++ b/projects/igniteui-angular/src/lib/drop-down/drop-down.component.html
@@ -1,8 +1,8 @@
+ igxToggle
+ (appended)="onToggleContentAppended($event)"
+ (opening)="onToggleOpening($event)" (opened)="onToggleOpened()"
+ (closing)="onToggleClosing($event)" (closed)="onToggleClosed()">
diff --git a/projects/igniteui-angular/src/lib/drop-down/drop-down.component.spec.ts b/projects/igniteui-angular/src/lib/drop-down/drop-down.component.spec.ts
index aefc1b57f91..9dfdb25dcc9 100644
--- a/projects/igniteui-angular/src/lib/drop-down/drop-down.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/drop-down/drop-down.component.spec.ts
@@ -2,20 +2,22 @@ import { Component, ViewChild, OnInit, ElementRef, ViewChildren, QueryList } fro
import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxToggleModule, IgxToggleDirective } from '../directives/toggle/toggle.directive';
+import { IgxToggleActionDirective, IgxToggleDirective } from '../directives/toggle/toggle.directive';
import { IgxDropDownItemComponent } from './drop-down-item.component';
-import { IgxDropDownComponent, IgxDropDownModule } from './public_api';
+import { IgxDropDownComponent, IgxDropDownItemNavigationDirective } from './public_api';
import { ISelectionEventArgs } from './drop-down.common';
-import { IgxTabsComponent, IgxTabsModule } from '../tabs/tabs/public_api';
+import { IgxTabContentComponent, IgxTabHeaderComponent, IgxTabItemComponent, IgxTabsComponent } from '../tabs/tabs/public_api';
import { UIInteractions, wait } from '../test-utils/ui-interactions.spec';
import { CancelableEventArgs, IBaseCancelableBrowserEventArgs } from '../core/utils';
import { configureTestSuite } from '../test-utils/configure-suite';
import { take } from 'rxjs/operators';
import { IgxDropDownGroupComponent } from './drop-down-group.component';
-import { IgxForOfDirective, IgxForOfModule } from '../directives/for-of/for_of.directive';
+import { IgxForOfDirective } from '../directives/for-of/for_of.directive';
import { IgxDropDownItemBaseDirective } from './drop-down-item.base';
import { DisplayDensity } from '../core/density';
import { IgxSelectionAPIService } from '../core/selection';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { NgFor } from '@angular/common';
const CSS_CLASS_DROP_DOWN_BASE = 'igx-drop-down';
const CSS_CLASS_LIST = 'igx-drop-down__list';
@@ -187,14 +189,9 @@ describe('IgxDropDown ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxDropDownTestComponent
- ],
imports: [
- IgxDropDownModule,
NoopAnimationsModule,
- IgxToggleModule,
- IgxForOfModule
+ IgxDropDownTestComponent
]
}).compileComponents();
}));
@@ -796,24 +793,18 @@ describe('IgxDropDown ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- DoubleIgxDropDownComponent,
- InputWithDropDownDirectiveComponent
- ],
imports: [
- IgxDropDownModule,
NoopAnimationsModule,
- IgxToggleModule,
- IgxTabsModule,
- IgxForOfModule
+ DoubleIgxDropDownComponent,
+ InputWithDropDownDirectiveComponent
]
}).compileComponents();
}));
- it('should call preventDefault on a mousedown event when allowItemsFocus is disabled', () => {
- fixture = TestBed.createComponent(InputWithDropDownDirectiveComponent);
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â fixture.detectChanges();
+ it('should call preventDefault on a mousedown event when allowItemsFocus is disabled', () => {
+ fixture = TestBed.createComponent(InputWithDropDownDirectiveComponent);
+ fixture.detectChanges();
-                dropdown = fixture.componentInstance.dropdown;
+ dropdown = fixture.componentInstance.dropdown;
dropdown.allowItemsFocus = false;
fixture.detectChanges();
@@ -826,9 +817,9 @@ describe('IgxDropDown ', () => {
spyOn(event, 'preventDefault');
itemToClick.triggerEventHandler('mousedown', event);
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â fixture.detectChanges();
+ fixture.detectChanges();
expect(event.preventDefault).toHaveBeenCalled();
-Â Â Â Â Â Â Â Â Â Â Â Â });
+ });
it('should properly handle OnEnterKeyDown when the dropdown is not visible', fakeAsync(() => {
fixture = TestBed.createComponent(InputWithDropDownDirectiveComponent);
fixture.detectChanges();
@@ -895,14 +886,9 @@ describe('IgxDropDown ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- VirtualizedDropDownComponent
- ],
imports: [
- IgxDropDownModule,
NoopAnimationsModule,
- IgxToggleModule,
- IgxForOfModule
+ VirtualizedDropDownComponent
]
}).compileComponents();
}));
@@ -1010,15 +996,9 @@ describe('IgxDropDown ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- GroupDropDownComponent
- ],
imports: [
- IgxDropDownModule,
NoopAnimationsModule,
- IgxToggleModule,
- IgxTabsModule,
- IgxForOfModule
+ GroupDropDownComponent
]
}).compileComponents();
}));
@@ -1079,14 +1059,9 @@ describe('IgxDropDown ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxDropDownTestComponent
- ],
imports: [
- IgxDropDownModule,
NoopAnimationsModule,
- IgxToggleModule,
- IgxForOfModule
+ IgxDropDownTestComponent
]
}).compileComponents();
}));
@@ -1143,14 +1118,9 @@ describe('IgxDropDown ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxDropDownTestComponent
- ],
imports: [
- IgxDropDownModule,
NoopAnimationsModule,
- IgxToggleModule,
- IgxForOfModule
+ IgxDropDownTestComponent
]
}).compileComponents();
}));
@@ -1218,15 +1188,9 @@ describe('IgxDropDown ', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxDropDownAnchorTestComponent
- ],
imports: [
- IgxDropDownModule,
NoopAnimationsModule,
- IgxToggleModule,
- IgxTabsModule,
- IgxForOfModule
+ IgxDropDownAnchorTestComponent
]
}).compileComponents();
}));
@@ -1288,11 +1252,12 @@ describe('IgxDropDown ', () => {
Toggle
-
+
{{item.field}}
- `
+ `,
+ standalone: true,
+ imports: [IgxDropDownComponent, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective, NgFor]
})
class IgxDropDownTestComponent {
@@ -1336,7 +1301,9 @@ class IgxDropDownTestComponent {
{{ item.field }}
- `
+ `,
+ standalone: true,
+ imports: [IgxDropDownComponent, IgxDropDownItemComponent, NgFor]
})
class DoubleIgxDropDownComponent implements OnInit {
@@ -1391,7 +1358,9 @@ class DoubleIgxDropDownComponent implements OnInit {
{{ item.field }}
- `
+ `,
+ standalone: true,
+ imports: [IgxDropDownComponent, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective, IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, NgFor]
})
class IgxDropDownAnchorTestComponent {
@ViewChild(IgxTabsComponent, { static: true })
@@ -1426,7 +1395,9 @@ class IgxDropDownAnchorTestComponent {
{{ item.field }}
- `
+ `,
+ standalone: true,
+ imports: [IgxDropDownComponent, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective, NgFor]
})
class InputWithDropDownDirectiveComponent {
@ViewChild(IgxDropDownComponent, { read: IgxDropDownComponent, static: true })
@@ -1450,7 +1421,9 @@ class InputWithDropDownDirectiveComponent {
{{ child.name }}
- `
+ `,
+ standalone: true,
+ imports: [IgxDropDownComponent, IgxDropDownItemComponent, IgxDropDownGroupComponent, NgFor]
})
class GroupDropDownComponent {
@ViewChild(IgxDropDownComponent, { read: IgxDropDownComponent, static: true })
@@ -1496,7 +1469,9 @@ class GroupDropDownComponent {
overflow: hidden;
height: 400px;
}
- `]
+ `],
+ standalone: true,
+ imports: [IgxDropDownComponent, IgxDropDownItemComponent, IgxForOfDirective, IgxButtonDirective, IgxDropDownItemNavigationDirective, IgxToggleActionDirective]
})
class VirtualizedDropDownComponent {
@ViewChild('toggleButton', { read: ElementRef, static: true })
diff --git a/projects/igniteui-angular/src/lib/drop-down/drop-down.component.ts b/projects/igniteui-angular/src/lib/drop-down/drop-down.component.ts
index 46ba15f3add..b663166409d 100644
--- a/projects/igniteui-angular/src/lib/drop-down/drop-down.component.ts
+++ b/projects/igniteui-angular/src/lib/drop-down/drop-down.component.ts
@@ -31,6 +31,7 @@ import { IgxForOfDirective } from '../directives/for-of/for_of.directive';
import { take } from 'rxjs/operators';
import { DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
import { OverlaySettings } from '../services/overlay/utilities';
+import { NgIf } from '@angular/common';
/**
* **Ignite UI for Angular DropDown** -
@@ -51,7 +52,9 @@ import { OverlaySettings } from '../services/overlay/utilities';
@Component({
selector: 'igx-drop-down',
templateUrl: './drop-down.component.html',
- providers: [{ provide: IGX_DROPDOWN_BASE, useExisting: IgxDropDownComponent }]
+ providers: [{ provide: IGX_DROPDOWN_BASE, useExisting: IgxDropDownComponent }],
+ standalone: true,
+ imports: [IgxToggleDirective, NgIf]
})
export class IgxDropDownComponent extends IgxDropDownBaseDirective implements IDropDownBase, OnChanges, AfterViewInit, OnDestroy {
/**
diff --git a/projects/igniteui-angular/src/lib/drop-down/drop-down.module.ts b/projects/igniteui-angular/src/lib/drop-down/drop-down.module.ts
new file mode 100644
index 00000000000..698d3356a86
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/drop-down/drop-down.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IGX_DROP_DOWN_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ ...IGX_DROP_DOWN_DIRECTIVES
+ ],
+ exports: [
+ ...IGX_DROP_DOWN_DIRECTIVES
+ ]
+})
+export class IgxDropDownModule { }
diff --git a/projects/igniteui-angular/src/lib/drop-down/public_api.ts b/projects/igniteui-angular/src/lib/drop-down/public_api.ts
index 5ccd6c973e3..597f48ec8f7 100644
--- a/projects/igniteui-angular/src/lib/drop-down/public_api.ts
+++ b/projects/igniteui-angular/src/lib/drop-down/public_api.ts
@@ -1,40 +1,18 @@
-import { NgModule } from '@angular/core';
-import { IgxDropDownComponent } from './drop-down.component';
+import { IgxDropDownGroupComponent } from './drop-down-group.component';
import { IgxDropDownItemComponent } from './drop-down-item.component';
import { IgxDropDownItemNavigationDirective } from './drop-down-navigation.directive';
-import { CommonModule } from '@angular/common';
-import { IgxToggleModule } from '../directives/toggle/toggle.directive';
-import { IgxDropDownGroupComponent } from './drop-down-group.component';
-import { IgxDropDownItemBaseDirective } from './drop-down-item.base';
+import { IgxDropDownComponent } from './drop-down.component';
export * from './drop-down.component';
export * from './drop-down-item.component';
export { ISelectionEventArgs, IDropDownNavigationDirective } from './drop-down.common';
export * from './drop-down-navigation.directive';
-export * from './drop-down.base';
-export * from './drop-down-item.base';
export * from './drop-down-group.component';
-/**
- * @hidden
- */
-@NgModule({
- declarations: [
- IgxDropDownComponent,
- IgxDropDownItemBaseDirective,
- IgxDropDownItemComponent,
- IgxDropDownGroupComponent,
- IgxDropDownItemNavigationDirective
- ],
- exports: [
- IgxDropDownComponent,
- IgxDropDownItemComponent,
- IgxDropDownGroupComponent,
- IgxDropDownItemNavigationDirective
- ],
- imports: [
- CommonModule,
- IgxToggleModule
- ]
-})
-export class IgxDropDownModule { }
+/* NOTE: Drop down directives collection for ease-of-use import in standalone components scenario */
+export const IGX_DROP_DOWN_DIRECTIVES = [
+ IgxDropDownComponent,
+ IgxDropDownItemComponent,
+ IgxDropDownGroupComponent,
+ IgxDropDownItemNavigationDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-body.component.ts b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-body.component.ts
index 9a6207f10b9..fa6750495a9 100644
--- a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-body.component.ts
+++ b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-body.component.ts
@@ -4,7 +4,8 @@ import { IgxExpansionPanelBase, IGX_EXPANSION_PANEL_COMPONENT } from './expansio
@Component({
// eslint-disable-next-line @angular-eslint/directive-selector
selector: 'igx-expansion-panel-body',
- template: ` `
+ template: ` `,
+ standalone: true
})
export class IgxExpansionPanelBodyComponent {
/**
diff --git a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-header.component.ts b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-header.component.ts
index dbafa672938..dd0f6aa107c 100644
--- a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-header.component.ts
+++ b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-header.component.ts
@@ -15,7 +15,8 @@ import {
import { IgxExpansionPanelIconDirective } from './expansion-panel.directives';
import { IGX_EXPANSION_PANEL_COMPONENT, IgxExpansionPanelBase, IExpansionPanelCancelableEventArgs } from './expansion-panel.common';
import { mkenum } from '../core/utils';
-import { IgxIconComponent } from '../icon/public_api';
+import { IgxIconComponent } from '../icon/icon.component';
+import { NgIf } from '@angular/common';
/**
* @hidden
@@ -30,7 +31,9 @@ export type ExpansionPanelHeaderIconPosition = (typeof ExpansionPanelHeaderIconP
@Component({
selector: 'igx-expansion-panel-header',
- templateUrl: 'expansion-panel-header.component.html'
+ templateUrl: 'expansion-panel-header.component.html',
+ standalone: true,
+ imports: [NgIf, IgxIconComponent]
})
export class IgxExpansionPanelHeaderComponent {
/**
@@ -175,7 +178,7 @@ export class IgxExpansionPanelHeaderComponent {
@HostBinding('class.igx-expansion-panel--disabled')
public get disabled(): boolean {
return this._disabled;
- };
+ }
public set disabled(val: boolean) {
this._disabled = val;
@@ -185,7 +188,7 @@ export class IgxExpansionPanelHeaderComponent {
} else {
this.tabIndex = 0;
}
- };
+ }
/** @hidden @internal */
@ContentChild(IgxExpansionPanelIconDirective, { read: ElementRef })
diff --git a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.component.ts b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.component.ts
index 5ad70d20a7b..279fa2f5739 100644
--- a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.component.ts
+++ b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.component.ts
@@ -21,13 +21,16 @@ import {
IGX_EXPANSION_PANEL_COMPONENT
} from './expansion-panel.common';
import { ToggleAnimationPlayer, ToggleAnimationSettings } from './toggle-animation-component';
+import { NgIf } from '@angular/common';
let NEXT_ID = 0;
@Component({
selector: 'igx-expansion-panel',
templateUrl: 'expansion-panel.component.html',
- providers: [{ provide: IGX_EXPANSION_PANEL_COMPONENT, useExisting: IgxExpansionPanelComponent }]
+ providers: [{ provide: IGX_EXPANSION_PANEL_COMPONENT, useExisting: IgxExpansionPanelComponent }],
+ standalone: true,
+ imports: [NgIf]
})
export class IgxExpansionPanelComponent extends ToggleAnimationPlayer implements IgxExpansionPanelBase, AfterContentInit {
/**
diff --git a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.directives.ts b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.directives.ts
index 21c266fb9c5..70ef4ab5d4e 100644
--- a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.directives.ts
+++ b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.directives.ts
@@ -4,7 +4,8 @@ import { HeaderContentBaseDirective } from './expansion-panel.common';
/** @hidden @internal */
@Directive({
// eslint-disable-next-line @angular-eslint/directive-selector
- selector: 'igx-expansion-panel-title'
+ selector: 'igx-expansion-panel-title',
+ standalone: true
})
export class IgxExpansionPanelTitleDirective extends HeaderContentBaseDirective {
@HostBinding('class.igx-expansion-panel__header-title')
@@ -19,7 +20,8 @@ export class IgxExpansionPanelTitleDirective extends HeaderContentBaseDirective
/** @hidden @internal */
@Directive({
// eslint-disable-next-line @angular-eslint/directive-selector
- selector: 'igx-expansion-panel-description'
+ selector: 'igx-expansion-panel-description',
+ standalone: true
})
export class IgxExpansionPanelDescriptionDirective extends HeaderContentBaseDirective {
@HostBinding('class.igx-expansion-panel__header-description')
@@ -34,6 +36,7 @@ export class IgxExpansionPanelDescriptionDirective extends HeaderContentBaseDire
/** @hidden @internal */
@Directive({
// eslint-disable-next-line @angular-eslint/directive-selector
- selector: 'igx-expansion-panel-icon'
+ selector: 'igx-expansion-panel-icon',
+ standalone: true
})
export class IgxExpansionPanelIconDirective { }
diff --git a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.module.ts b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.module.ts
index 15e90e96a75..516a5c64345 100644
--- a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.module.ts
+++ b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.module.ts
@@ -1,44 +1,16 @@
-import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
-import { IgxButtonModule } from '../directives/button/button.directive';
-import { IgxAvatarModule } from '../avatar/avatar.component';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxExpansionPanelComponent } from './expansion-panel.component';
-import { IgxExpansionPanelHeaderComponent } from './expansion-panel-header.component';
-import { IgxExpansionPanelBodyComponent } from './expansion-panel-body.component';
-import {
- IgxExpansionPanelDescriptionDirective,
- IgxExpansionPanelTitleDirective,
- IgxExpansionPanelIconDirective
-} from './expansion-panel.directives';
+import { IGX_EXPANSION_PANEL_DIRECTIVES } from './public_api';
/**
* @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
*/
@NgModule({
- declarations: [
- IgxExpansionPanelComponent,
- IgxExpansionPanelHeaderComponent,
- IgxExpansionPanelBodyComponent,
- IgxExpansionPanelDescriptionDirective,
- IgxExpansionPanelTitleDirective,
- IgxExpansionPanelIconDirective
+ imports: [
+ ...IGX_EXPANSION_PANEL_DIRECTIVES
],
exports: [
- IgxExpansionPanelComponent,
- IgxExpansionPanelHeaderComponent,
- IgxExpansionPanelBodyComponent,
- IgxExpansionPanelDescriptionDirective,
- IgxExpansionPanelTitleDirective,
- IgxExpansionPanelIconDirective
- ],
- imports: [
- CommonModule,
- IgxRippleModule,
- IgxIconModule,
- IgxButtonModule,
- IgxAvatarModule
+ ...IGX_EXPANSION_PANEL_DIRECTIVES
]
})
export class IgxExpansionPanelModule { }
diff --git a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.spec.ts b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.spec.ts
index a72fa74786e..45f97bfbd08 100644
--- a/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.spec.ts
+++ b/projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.spec.ts
@@ -2,17 +2,17 @@
import { Component, ViewChild } from '@angular/core';
import { TestBed, ComponentFixture, tick, fakeAsync, waitForAsync } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxToggleModule } from '../directives/toggle/toggle.directive';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
-import { IgxButtonModule } from '../directives/button/button.directive';
import { IgxExpansionPanelComponent } from './expansion-panel.component';
import { ExpansionPanelHeaderIconPosition, IgxExpansionPanelHeaderComponent } from './expansion-panel-header.component';
-import { IgxExpansionPanelModule } from './expansion-panel.module';
-import { IgxGridComponent, IgxGridModule } from '../grids/grid/public_api';
-import { IgxListModule } from '../list/public_api';
-import { IgxExpansionPanelTitleDirective } from './expansion-panel.directives';
+import { IgxGridComponent } from '../grids/grid/public_api';
+import { IgxExpansionPanelDescriptionDirective, IgxExpansionPanelIconDirective, IgxExpansionPanelTitleDirective } from './expansion-panel.directives';
import { configureTestSuite } from '../test-utils/configure-suite';
import { By } from '@angular/platform-browser';
+import { IgxExpansionPanelBodyComponent } from './expansion-panel-body.component';
+import { IgxListComponent } from '../list/list.component';
+import { IgxListItemComponent } from '../list/list-item.component';
+import { NgIf } from '@angular/common';
+import { IGX_EXPANSION_PANEL_DIRECTIVES } from './public_api';
const CSS_CLASS_EXPANSION_PANEL = 'igx-expansion-panel';
const CSS_CLASS_PANEL_HEADER = 'igx-expansion-panel__header';
@@ -37,21 +37,13 @@ describe('igxExpansionPanel', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxExpansionPanelGridComponent,
IgxExpansionPanelListComponent,
IgxExpansionPanelSampleComponent,
IgxExpansionPanelImageComponent,
IgxExpansionPanelTooltipComponent
- ],
- imports: [
- IgxExpansionPanelModule,
- NoopAnimationsModule,
- IgxToggleModule,
- IgxRippleModule,
- IgxButtonModule,
- IgxListModule,
- IgxGridModule
]
}).compileComponents();
}));
@@ -310,8 +302,8 @@ describe('igxExpansionPanel', () => {
panelContainer: any,
panelHeader: HTMLElement,
button: HTMLElement,
- timesCollapsed: number = 0,
- timesExpanded: number = 0) => {
+ timesCollapsed = 0,
+ timesExpanded = 0) => {
expect(panel.collapsed).toEqual(collapsed);
const ariaExpanded = collapsed ? 'false' : 'true';
expect(panelHeader.querySelector('div [role = \'button\']').getAttribute('aria-expanded')).toMatch(ariaExpanded);
@@ -1297,16 +1289,17 @@ describe('igxExpansionPanel', () => {
@Component({
template: `
-
- Product orders
- Product orders details
-
-
-
-
-
-
-`
+
+ Product orders
+ Product orders details
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelBodyComponent, IgxGridComponent, IgxExpansionPanelTitleDirective, IgxExpansionPanelDescriptionDirective]
})
export class IgxExpansionPanelGridComponent {
@@ -1353,7 +1346,9 @@ export class IgxExpansionPanelGridComponent {
-`
+ `,
+ standalone: true,
+ imports: [IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelBodyComponent, IgxListComponent, IgxListItemComponent, IgxExpansionPanelTitleDirective, IgxExpansionPanelDescriptionDirective]
})
export class IgxExpansionPanelListComponent {
@ViewChild(IgxExpansionPanelHeaderComponent, { read: IgxExpansionPanelHeaderComponent, static: true })
@@ -1365,21 +1360,23 @@ export class IgxExpansionPanelListComponent {
@Component({
template: `
-
-
- Example Title
- Example Description
-
- TEST_ICON
-
-
-
- Example body
-
-
-`
+
+
+ Example Title
+ Example Description
+
+ TEST_ICON
+
+
+
+ Example body
+
+
+ `,
+ standalone: true,
+ imports: [IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelBodyComponent, IgxExpansionPanelTitleDirective, IgxExpansionPanelDescriptionDirective, IgxExpansionPanelIconDirective, NgIf]
})
export class IgxExpansionPanelSampleComponent {
@ViewChild(IgxExpansionPanelHeaderComponent, { read: IgxExpansionPanelHeaderComponent })
@@ -1404,19 +1401,21 @@ export class IgxExpansionPanelSampleComponent {
@Component({
template: `
-
-
- Frogs
- Frog description
-
-
-
-
- {{text}}
-
-
-
-`
+
+
+ Frogs
+ Frog description
+
+
+
+
+ {{text}}
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelBodyComponent, IgxExpansionPanelTitleDirective, IgxExpansionPanelDescriptionDirective]
})
export class IgxExpansionPanelImageComponent {
@ViewChild(IgxExpansionPanelHeaderComponent, { read: IgxExpansionPanelHeaderComponent, static: true })
@@ -1444,7 +1443,9 @@ export class IgxExpansionPanelImageComponent {
Example Body
-`
+ `,
+ standalone: true,
+ imports: [IGX_EXPANSION_PANEL_DIRECTIVES]
})
export class IgxExpansionPanelTooltipComponent {
public titleTooltip = '';
diff --git a/projects/igniteui-angular/src/lib/expansion-panel/public_api.ts b/projects/igniteui-angular/src/lib/expansion-panel/public_api.ts
index 98d18c16815..4ded0e546e7 100644
--- a/projects/igniteui-angular/src/lib/expansion-panel/public_api.ts
+++ b/projects/igniteui-angular/src/lib/expansion-panel/public_api.ts
@@ -1,3 +1,8 @@
+import { IgxExpansionPanelBodyComponent } from './expansion-panel-body.component';
+import { IgxExpansionPanelHeaderComponent } from './expansion-panel-header.component';
+import { IgxExpansionPanelComponent } from './expansion-panel.component';
+import { IgxExpansionPanelDescriptionDirective, IgxExpansionPanelIconDirective, IgxExpansionPanelTitleDirective } from './expansion-panel.directives';
+
export { IExpansionPanelEventArgs } from './expansion-panel.common';
export { IgxExpansionPanelHeaderComponent } from './expansion-panel-header.component';
export { IgxExpansionPanelBodyComponent } from './expansion-panel-body.component';
@@ -8,4 +13,13 @@ export {
IgxExpansionPanelTitleDirective
} from './expansion-panel.directives';
export { ExpansionPanelHeaderIconPosition } from './expansion-panel-header.component';
-export * from './expansion-panel.module';
+
+/* NOTE: Expansion panel directives collection for ease-of-use import in standalone components scenario */
+export const IGX_EXPANSION_PANEL_DIRECTIVES = [
+ IgxExpansionPanelComponent,
+ IgxExpansionPanelHeaderComponent,
+ IgxExpansionPanelBodyComponent,
+ IgxExpansionPanelDescriptionDirective,
+ IgxExpansionPanelTitleDirective,
+ IgxExpansionPanelIconDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/grids/cell.component.ts b/projects/igniteui-angular/src/lib/grids/cell.component.ts
index 5684c2f296b..6cb430c0c84 100644
--- a/projects/igniteui-angular/src/lib/grids/cell.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/cell.component.ts
@@ -18,25 +18,39 @@
QueryList,
AfterViewInit
} from '@angular/core';
-import { formatPercent } from '@angular/common';
+import { formatPercent, NgIf, NgClass, NgTemplateOutlet, DecimalPipe, PercentPipe, CurrencyPipe, DatePipe, getLocaleCurrencyCode, getCurrencySymbol } from '@angular/common';
+import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
+
+import { first, takeUntil, takeWhile } from 'rxjs/operators';
+import { Subject } from 'rxjs';
+
import { IgxTextHighlightDirective } from '../directives/text-highlight/text-highlight.directive';
import { formatCurrency, formatDate, PlatformUtil } from '../core/utils';
import { IgxGridSelectionService } from './selection/selection.service';
import { HammerGesturesManager } from '../core/touch';
import { GridSelectionMode } from './common/enums';
import { CellType, ColumnType, GridType, IgxCellTemplateContext, IGX_GRID_BASE, RowType } from './common/grid.interface';
-import { getCurrencySymbol, getLocaleCurrencyCode } from '@angular/common';
import { GridColumnDataType } from '../data-operations/data-util';
import { IgxRowDirective } from './row.directive';
import { ISearchInfo } from './common/events';
import { IgxGridCell } from './grid-public-cell';
import { ISelectionNode } from './common/types';
-import { IgxTooltipDirective } from '../directives/tooltip';
import { AutoPositionStrategy, HorizontalAlignment, IgxOverlayService } from '../services/public_api';
import { IgxIconComponent } from '../icon/icon.component';
-import { first, takeUntil, takeWhile } from 'rxjs/operators';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Subject } from 'rxjs';
+import { IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe } from './common/pipes';
+import { IgxTooltipDirective } from '../directives/tooltip/tooltip.directive';
+import { IgxTooltipTargetDirective } from '../directives/tooltip/tooltip-target.directive';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
+import { IgxDateTimeEditorDirective } from '../directives/date-time-editor/date-time-editor.directive';
+import { IgxTimePickerComponent } from '../time-picker/time-picker.component';
+import { IgxDatePickerComponent } from '../date-picker/date-picker.component';
+import { IgxCheckboxComponent } from '../checkbox/checkbox.component';
+import { IgxTextSelectionDirective } from '../directives/text-selection/text-selection.directive';
+import { IgxFocusDirective } from '../directives/focus/focus.directive';
+import { IgxInputDirective } from '../directives/input/input.directive';
+import { IgxInputGroupComponent } from '../input-group/input-group.component';
+import { IgxChipComponent } from '../chips/chip.component';
/**
* Providing reference to `IgxGridCellComponent`:
@@ -55,7 +69,36 @@ import { Subject } from 'rxjs';
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'igx-grid-cell',
templateUrl: './cell.component.html',
- providers: [HammerGesturesManager]
+ providers: [HammerGesturesManager],
+ standalone: true,
+ imports: [
+ NgIf,
+ NgClass,
+ NgTemplateOutlet,
+ DecimalPipe,
+ PercentPipe,
+ CurrencyPipe,
+ DatePipe,
+ ReactiveFormsModule,
+ IgxChipComponent,
+ IgxTextHighlightDirective,
+ IgxIconComponent,
+ IgxInputGroupComponent,
+ IgxInputDirective,
+ IgxFocusDirective,
+ IgxTextSelectionDirective,
+ IgxCheckboxComponent,
+ IgxDatePickerComponent,
+ IgxTimePickerComponent,
+ IgxDateTimeEditorDirective,
+ IgxPrefixDirective,
+ IgxSuffixDirective,
+ IgxTooltipTargetDirective,
+ IgxTooltipDirective,
+ IgxGridCellImageAltPipe,
+ IgxStringReplacePipe,
+ IgxColumnFormatterPipe
+ ]
})
export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellType, AfterViewInit {
private _destroy$ = new Subject
();
@@ -1033,7 +1076,7 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT
public activate(event: FocusEvent | KeyboardEvent) {
const node = this.selectionNode;
let shouldEmitSelection = !this.selectionService.isActiveNode(node);
-
+
if (this.selectionService.primaryButton) {
const currentActive = this.selectionService.activeElement;
if (this.cellSelectionMode === GridSelectionMode.single && (event as any)?.ctrlKey && this.selected) {
diff --git a/projects/igniteui-angular/src/lib/grids/column-actions/column-actions.component.ts b/projects/igniteui-angular/src/lib/grids/column-actions/column-actions.component.ts
index b7c6ce1e762..9649d544988 100644
--- a/projects/igniteui-angular/src/lib/grids/column-actions/column-actions.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/column-actions/column-actions.component.ts
@@ -1,23 +1,15 @@
-import {
- Component,
- DoCheck,
- EventEmitter,
- HostBinding,
- Inject,
- Input,
- IterableDiffer,
- IterableDiffers,
- Output,
- Pipe,
- PipeTransform,
- QueryList,
- ViewChildren
-} from '@angular/core';
+import { Component, DoCheck, EventEmitter, HostBinding, Inject, Input, IterableDiffer, IterableDiffers, Output, Pipe, PipeTransform, QueryList, ViewChildren, forwardRef } from '@angular/core';
import { ColumnDisplayOrder } from '../common/enums';
import { ColumnType, GridType } from '../common/grid.interface';
import { IColumnToggledEventArgs } from '../common/events';
import { IgxCheckboxComponent } from '../../checkbox/checkbox.component';
import { IgxColumnActionsBaseDirective } from './column-actions-base.directive';
+import { IgxRippleDirective } from '../../directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../directives/button/button.directive';
+import { IgxInputDirective } from '../../directives/input/input.directive';
+import { FormsModule } from '@angular/forms';
+import { IgxInputGroupComponent } from '../../input-group/input-group.component';
+import { NgIf, NgFor } from '@angular/common';
let NEXT_ID = 0;
/**
@@ -28,7 +20,9 @@ let NEXT_ID = 0;
*/
@Component({
selector: 'igx-column-actions',
- templateUrl: './column-actions.component.html'
+ templateUrl: './column-actions.component.html',
+ standalone: true,
+ imports: [NgIf, IgxInputGroupComponent, FormsModule, IgxInputDirective, NgFor, IgxCheckboxComponent, IgxButtonDirective, IgxRippleDirective, forwardRef(() => IgxColumnActionEnabledPipe), forwardRef(() => IgxFilterActionColumnsPipe), forwardRef(() => IgxSortActionColumnsPipe)]
})
export class IgxColumnActionsComponent implements DoCheck {
@@ -393,7 +387,10 @@ export class IgxColumnActionsComponent implements DoCheck {
}
}
-@Pipe({ name: 'columnActionEnabled' })
+@Pipe({
+ name: 'columnActionEnabled',
+ standalone: true
+})
export class IgxColumnActionEnabledPipe implements PipeTransform {
constructor(@Inject(IgxColumnActionsComponent) protected columnActions: IgxColumnActionsComponent) { }
@@ -419,7 +416,10 @@ export class IgxColumnActionEnabledPipe implements PipeTransform {
}
}
-@Pipe({ name: 'filterActionColumns' })
+@Pipe({
+ name: 'filterActionColumns',
+ standalone: true
+})
export class IgxFilterActionColumnsPipe implements PipeTransform {
constructor(@Inject(IgxColumnActionsComponent) protected columnActions: IgxColumnActionsComponent) { }
@@ -446,7 +446,10 @@ export class IgxFilterActionColumnsPipe implements PipeTransform {
}
}
-@Pipe({ name: 'sortActionColumns' })
+@Pipe({
+ name: 'sortActionColumns',
+ standalone: true
+})
export class IgxSortActionColumnsPipe implements PipeTransform {
public transform(collection: ColumnType[], displayOrder: ColumnDisplayOrder, _pipeTrigger: number): ColumnType[] {
diff --git a/projects/igniteui-angular/src/lib/grids/column-actions/column-actions.module.ts b/projects/igniteui-angular/src/lib/grids/column-actions/column-actions.module.ts
deleted file mode 100644
index b0657be02bf..00000000000
--- a/projects/igniteui-angular/src/lib/grids/column-actions/column-actions.module.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { NgModule } from '@angular/core';
-import { IgxGridSharedModules } from '../common/shared.module';
-import { IgxColumnHidingDirective } from './column-hiding.directive';
-import { IgxColumnPinningDirective } from './column-pinning.directive';
-import {
- IgxColumnActionEnabledPipe,
- IgxColumnActionsComponent,
- IgxFilterActionColumnsPipe,
- IgxSortActionColumnsPipe
-} from './column-actions.component';
-import { IgxGridPipesModule } from '../common/grid-pipes.module';
-export * from './column-actions.component';
-export * from './column-hiding.directive';
-export * from './column-pinning.directive';
-
-@NgModule({
- declarations: [
- IgxColumnHidingDirective,
- IgxColumnPinningDirective,
- IgxColumnActionsComponent,
- IgxColumnActionEnabledPipe,
- IgxFilterActionColumnsPipe,
- IgxSortActionColumnsPipe
- ],
- imports: [
- IgxGridSharedModules,
- IgxGridPipesModule
- ],
- exports: [
- IgxColumnHidingDirective,
- IgxColumnPinningDirective,
- IgxColumnActionsComponent,
- IgxColumnActionEnabledPipe,
- IgxFilterActionColumnsPipe,
- IgxSortActionColumnsPipe
- ]
-})
-export class IgxColumnActionsModule { }
diff --git a/projects/igniteui-angular/src/lib/grids/column-actions/column-hiding.directive.ts b/projects/igniteui-angular/src/lib/grids/column-actions/column-hiding.directive.ts
index 5878211756f..54ba5a48904 100644
--- a/projects/igniteui-angular/src/lib/grids/column-actions/column-hiding.directive.ts
+++ b/projects/igniteui-angular/src/lib/grids/column-actions/column-hiding.directive.ts
@@ -3,7 +3,10 @@ import { ColumnType } from '../common/grid.interface';
import { IgxColumnActionsBaseDirective } from './column-actions-base.directive';
import { IgxColumnActionsComponent } from './column-actions.component';
-@Directive({ selector: '[igxColumnHiding]' })
+@Directive({
+ selector: '[igxColumnHiding]',
+ standalone: true
+})
export class IgxColumnHidingDirective extends IgxColumnActionsBaseDirective {
constructor(
diff --git a/projects/igniteui-angular/src/lib/grids/column-actions/column-pinning.directive.ts b/projects/igniteui-angular/src/lib/grids/column-actions/column-pinning.directive.ts
index 3915354113a..9f43fbe2527 100644
--- a/projects/igniteui-angular/src/lib/grids/column-actions/column-pinning.directive.ts
+++ b/projects/igniteui-angular/src/lib/grids/column-actions/column-pinning.directive.ts
@@ -3,7 +3,10 @@ import { ColumnType } from '../common/grid.interface';
import { IgxColumnActionsBaseDirective } from './column-actions-base.directive';
import { IgxColumnActionsComponent } from './column-actions.component';
-@Directive({ selector: '[igxColumnPinning]' })
+@Directive({
+ selector: '[igxColumnPinning]',
+ standalone: true
+})
export class IgxColumnPinningDirective extends IgxColumnActionsBaseDirective {
constructor(
diff --git a/projects/igniteui-angular/src/lib/grids/column-actions/public_api.ts b/projects/igniteui-angular/src/lib/grids/column-actions/public_api.ts
new file mode 100644
index 00000000000..e8c505b1210
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/grids/column-actions/public_api.ts
@@ -0,0 +1,14 @@
+import { IgxColumnActionsComponent } from './column-actions.component';
+import { IgxColumnHidingDirective } from './column-hiding.directive';
+import { IgxColumnPinningDirective } from './column-pinning.directive';
+
+export { IgxColumnActionsComponent } from './column-actions.component';
+export { IgxColumnHidingDirective } from './column-hiding.directive';
+export { IgxColumnPinningDirective } from './column-pinning.directive';
+
+/* NOTE: Grid column actions directives collection for ease-of-use import in standalone components scenario */
+export const IGX_GRID_COLUMN_ACTIONS_DIRECTIVES = [
+ IgxColumnActionsComponent,
+ IgxColumnHidingDirective,
+ IgxColumnPinningDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/grids/columns/column-group.component.ts b/projects/igniteui-angular/src/lib/grids/columns/column-group.component.ts
index beb82f938cc..58e0fb25303 100644
--- a/projects/igniteui-angular/src/lib/grids/columns/column-group.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/columns/column-group.component.ts
@@ -19,7 +19,8 @@ import { CellType, IgxColumnTemplateContext } from '../common/grid.interface';
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [{ provide: IgxColumnComponent, useExisting: forwardRef(() => IgxColumnGroupComponent) }],
selector: 'igx-column-group',
- template: ``
+ template: ``,
+ standalone: true
})
export class IgxColumnGroupComponent extends IgxColumnComponent implements AfterContentInit {
diff --git a/projects/igniteui-angular/src/lib/grids/columns/column-layout.component.ts b/projects/igniteui-angular/src/lib/grids/columns/column-layout.component.ts
index 0aeb2b70e0f..7b93109f410 100644
--- a/projects/igniteui-angular/src/lib/grids/columns/column-layout.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/columns/column-layout.component.ts
@@ -13,7 +13,8 @@ import { IgxColumnGroupComponent } from './column-group.component';
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [{ provide: IgxColumnComponent, useExisting: forwardRef(() => IgxColumnLayoutComponent) }],
selector: 'igx-column-layout',
- template: ``
+ template: ``,
+ standalone: true
})
export class IgxColumnLayoutComponent extends IgxColumnGroupComponent implements AfterContentInit {
public childrenVisibleIndexes = [];
diff --git a/projects/igniteui-angular/src/lib/grids/columns/column.component.ts b/projects/igniteui-angular/src/lib/grids/columns/column.component.ts
index 0d5ba16e900..4c908f00172 100644
--- a/projects/igniteui-angular/src/lib/grids/columns/column.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/columns/column.component.ts
@@ -29,7 +29,7 @@ import {
IgxTimeFilteringOperand
} from '../../data-operations/filtering-condition';
import { ISortingStrategy, DefaultSortingStrategy } from '../../data-operations/sorting-strategy';
-import { DisplayDensity } from '../../core/displayDensity';
+import { DisplayDensity } from '../../core/density';
import { IgxRowDirective } from '../row.directive';
import { FilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
import { CellType, ColumnType, GridType, IgxCellTemplateContext, IgxColumnTemplateContext, IgxSummaryTemplateContext, IGX_GRID_BASE } from '../common/grid.interface';
@@ -72,7 +72,8 @@ const DEFAULT_DIGITS_INFO = '1.0-3';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'igx-column',
- template: ``
+ template: ``,
+ standalone: true
})
export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnType {
/**
@@ -473,8 +474,6 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
return this.widthSetByUser ? this._width : this.defaultWidth;
}
- public autoSize: number;
-
/**
* Sets the `width` of the column.
* ```html
@@ -509,6 +508,8 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
}
}
+ public autoSize: number;
+
/**
* Sets/gets the maximum `width` of the column.
* ```typescript
@@ -1393,6 +1394,7 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
}
const unpinnedColumns = this.grid.unpinnedColumns.filter(c => !c.columnGroup);
const pinnedColumns = this.grid.pinnedColumns.filter(c => !c.columnGroup);
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
let col = this;
let vIndex = -1;
@@ -1419,6 +1421,7 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
this._vIndex = vIndex;
return vIndex;
}
+
/**
* Returns a boolean indicating if the column is a `ColumnGroup`.
* ```typescript
diff --git a/projects/igniteui-angular/src/lib/grids/columns/column.module.ts b/projects/igniteui-angular/src/lib/grids/columns/column.module.ts
index c62a7ac9e95..c6e56af5325 100644
--- a/projects/igniteui-angular/src/lib/grids/columns/column.module.ts
+++ b/projects/igniteui-angular/src/lib/grids/columns/column.module.ts
@@ -1,63 +1,18 @@
import { NgModule } from '@angular/core';
-import { IgxColumnComponent } from './column.component';
-import { IgxColumnGroupComponent } from './column-group.component';
-import { IgxColumnLayoutComponent } from './column-layout.component';
-import {
- IgxCellEditorTemplateDirective,
- IgxCellFooterTemplateDirective,
- IgxCellHeaderTemplateDirective,
- IgxCellTemplateDirective,
- IgxCellValidationErrorDirective,
- IgxCollapsibleIndicatorTemplateDirective,
- IgxFilterCellTemplateDirective,
- IgxSummaryTemplateDirective
-} from './templates.directive';
-import {
- IgxColumMaxLengthValidatorDirective, IgxColumnEmailValidatorDirective, IgxColumnMaxValidatorDirective,
- IgxColumnMinLengthValidatorDirective, IgxColumnMinValidatorDirective, IgxColumnRequiredValidatorDirective,
- IgxColumPatternValidatorDirective
-} from './validators.directive';
+import { IGX_GRID_COLUMN_DIRECTIVES, IGX_GRID_VALIDATION_DIRECTIVES } from './public_api';
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
@NgModule({
- declarations: [
- IgxColumnRequiredValidatorDirective,
- IgxColumnMinValidatorDirective,
- IgxColumnMaxValidatorDirective,
- IgxColumnMinLengthValidatorDirective,
- IgxColumMaxLengthValidatorDirective,
- IgxColumnEmailValidatorDirective,
- IgxColumPatternValidatorDirective,
- IgxFilterCellTemplateDirective,
- IgxSummaryTemplateDirective,
- IgxCellTemplateDirective,
- IgxCellValidationErrorDirective,
- IgxCellHeaderTemplateDirective,
- IgxCellFooterTemplateDirective,
- IgxCellEditorTemplateDirective,
- IgxCollapsibleIndicatorTemplateDirective,
- IgxColumnComponent,
- IgxColumnGroupComponent,
- IgxColumnLayoutComponent
+ imports: [
+ ...IGX_GRID_VALIDATION_DIRECTIVES,
+ ...IGX_GRID_COLUMN_DIRECTIVES
],
exports: [
- IgxColumnRequiredValidatorDirective,
- IgxColumnMinValidatorDirective,
- IgxColumnMaxValidatorDirective,
- IgxColumnMinLengthValidatorDirective,
- IgxColumMaxLengthValidatorDirective,
- IgxColumnEmailValidatorDirective,
- IgxColumPatternValidatorDirective,
- IgxFilterCellTemplateDirective,
- IgxSummaryTemplateDirective,
- IgxCellTemplateDirective,
- IgxCellValidationErrorDirective,
- IgxCellHeaderTemplateDirective,
- IgxCellFooterTemplateDirective,
- IgxCellEditorTemplateDirective,
- IgxCollapsibleIndicatorTemplateDirective,
- IgxColumnComponent,
- IgxColumnGroupComponent,
- IgxColumnLayoutComponent
+ ...IGX_GRID_VALIDATION_DIRECTIVES,
+ ...IGX_GRID_COLUMN_DIRECTIVES
]
})
export class IgxGridColumnModule { }
diff --git a/projects/igniteui-angular/src/lib/grids/columns/interfaces.ts b/projects/igniteui-angular/src/lib/grids/columns/interfaces.ts
index 13b81894089..e4fd5c7ee42 100644
--- a/projects/igniteui-angular/src/lib/grids/columns/interfaces.ts
+++ b/projects/igniteui-angular/src/lib/grids/columns/interfaces.ts
@@ -47,9 +47,7 @@ export interface IFieldPipeArgs {
weekStart?: WEEKDAYS | number;
}
-export interface IColumnPipeArgs extends IFieldPipeArgs {
-
-}
+export type IColumnPipeArgs = IFieldPipeArgs
export interface ISortingOptions {
mode: 'single' | 'multiple';
diff --git a/projects/igniteui-angular/src/lib/grids/columns/public_api.ts b/projects/igniteui-angular/src/lib/grids/columns/public_api.ts
new file mode 100644
index 00000000000..9f50cb970e6
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/grids/columns/public_api.ts
@@ -0,0 +1,55 @@
+import { IgxColumnGroupComponent } from './column-group.component';
+import { IgxColumnLayoutComponent } from './column-layout.component';
+import { IgxColumnComponent } from './column.component';
+import {
+ IgxCellEditorTemplateDirective,
+ IgxCellFooterTemplateDirective,
+ IgxCellHeaderTemplateDirective,
+ IgxCellTemplateDirective,
+ IgxCellValidationErrorDirective,
+ IgxCollapsibleIndicatorTemplateDirective,
+ IgxFilterCellTemplateDirective,
+ IgxSummaryTemplateDirective
+} from './templates.directive';
+import {
+ IgxColumnMaxLengthValidatorDirective,
+ IgxColumnEmailValidatorDirective,
+ IgxColumnMaxValidatorDirective,
+ IgxColumnMinLengthValidatorDirective,
+ IgxColumnMinValidatorDirective,
+ IgxColumnRequiredValidatorDirective,
+ IgxColumPatternValidatorDirective
+} from './validators.directive';
+
+export * from './column.component';
+export * from './column-group.component';
+export * from './column-layout.component';
+export * from './templates.directive';
+export * from './validators.directive';
+export * from './interfaces';
+
+/* NOTE: Grid column validation directives collection for ease-of-use import in standalone components scenario */
+export const IGX_GRID_VALIDATION_DIRECTIVES = [
+ IgxColumnRequiredValidatorDirective,
+ IgxColumnMinValidatorDirective,
+ IgxColumnMaxValidatorDirective,
+ IgxColumnEmailValidatorDirective,
+ IgxColumnMinLengthValidatorDirective,
+ IgxColumnMaxLengthValidatorDirective,
+ IgxColumPatternValidatorDirective
+] as const;
+
+/* NOTE: Grid column validation directives collection for ease-of-use import in standalone components scenario */
+export const IGX_GRID_COLUMN_DIRECTIVES = [
+ IgxFilterCellTemplateDirective,
+ IgxSummaryTemplateDirective,
+ IgxCellTemplateDirective,
+ IgxCellValidationErrorDirective,
+ IgxCellHeaderTemplateDirective,
+ IgxCellFooterTemplateDirective,
+ IgxCellEditorTemplateDirective,
+ IgxCollapsibleIndicatorTemplateDirective,
+ IgxColumnComponent,
+ IgxColumnGroupComponent,
+ IgxColumnLayoutComponent
+] as const;
diff --git a/projects/igniteui-angular/src/lib/grids/columns/templates.directive.ts b/projects/igniteui-angular/src/lib/grids/columns/templates.directive.ts
index c2136966d58..a13e22f9a12 100644
--- a/projects/igniteui-angular/src/lib/grids/columns/templates.directive.ts
+++ b/projects/igniteui-angular/src/lib/grids/columns/templates.directive.ts
@@ -1,9 +1,9 @@
import { Directive, TemplateRef } from '@angular/core';
import { IgxCellTemplateContext, IgxColumnTemplateContext, IgxSummaryTemplateContext } from '../common/grid.interface';
-
@Directive({
- selector: '[igxFilterCellTemplate]'
+ selector: '[igxFilterCellTemplate]',
+ standalone: true
})
export class IgxFilterCellTemplateDirective {
constructor(public template: TemplateRef) { }
@@ -11,11 +11,12 @@ export class IgxFilterCellTemplateDirective {
public static ngTemplateContextGuard(_directive: IgxFilterCellTemplateDirective,
context: unknown): context is IgxColumnTemplateContext {
return true;
- };
+ }
}
@Directive({
- selector: '[igxCell]'
+ selector: '[igxCell]',
+ standalone: true
})
export class IgxCellTemplateDirective {
constructor(public template: TemplateRef) { }
@@ -23,11 +24,12 @@ export class IgxCellTemplateDirective {
public static ngTemplateContextGuard(_directive: IgxCellTemplateDirective,
context: unknown): context is IgxCellTemplateContext {
return true;
- };
+ }
}
@Directive({
- selector: '[igxCellValidationError]'
+ selector: '[igxCellValidationError]',
+ standalone: true
})
export class IgxCellValidationErrorDirective {
constructor(public template: TemplateRef) { }
@@ -35,11 +37,12 @@ export class IgxCellValidationErrorDirective {
public static ngTemplateContextGuard(_directive: IgxCellValidationErrorDirective,
context: unknown): context is IgxCellTemplateContext {
return true;
- };
+ }
}
@Directive({
- selector: '[igxHeader]'
+ selector: '[igxHeader]',
+ standalone: true
})
export class IgxCellHeaderTemplateDirective {
constructor(public template: TemplateRef) { }
@@ -47,21 +50,23 @@ export class IgxCellHeaderTemplateDirective {
public static ngTemplateContextGuard(_directive: IgxCellHeaderTemplateDirective,
context: unknown): context is IgxColumnTemplateContext {
return true;
- };
+ }
}
/**
* @hidden
*/
@Directive({
- selector: '[igxFooter]'
+ selector: '[igxFooter]',
+ standalone: true
})
export class IgxCellFooterTemplateDirective {
constructor(public template: TemplateRef) { }
}
@Directive({
- selector: '[igxCellEditor]'
+ selector: '[igxCellEditor]',
+ standalone: true
})
export class IgxCellEditorTemplateDirective {
constructor(public template: TemplateRef) { }
@@ -69,11 +74,12 @@ export class IgxCellEditorTemplateDirective {
public static ngTemplateContextGuard(_directive: IgxCellEditorTemplateDirective,
context: unknown): context is IgxCellTemplateContext {
return true;
- };
+ }
}
@Directive({
- selector: '[igxCollapsibleIndicator]'
+ selector: '[igxCollapsibleIndicator]',
+ standalone: true
})
export class IgxCollapsibleIndicatorTemplateDirective {
constructor(public template: TemplateRef) { }
@@ -81,11 +87,12 @@ export class IgxCollapsibleIndicatorTemplateDirective {
public static ngTemplateContextGuard(_directive: IgxCollapsibleIndicatorTemplateDirective,
context: unknown): context is IgxColumnTemplateContext {
return true;
- };
+ }
}
@Directive({
- selector: '[igxSummary]'
+ selector: '[igxSummary]',
+ standalone: true
})
export class IgxSummaryTemplateDirective {
constructor(public template: TemplateRef) { }
@@ -93,5 +100,5 @@ export class IgxSummaryTemplateDirective {
public static ngTemplateContextGuard(_directive: IgxSummaryTemplateDirective,
context: unknown): context is IgxSummaryTemplateContext {
return true;
- };
+ }
}
diff --git a/projects/igniteui-angular/src/lib/grids/columns/validators.directive.ts b/projects/igniteui-angular/src/lib/grids/columns/validators.directive.ts
index 59a6731e5fa..564ec4b2aef 100644
--- a/projects/igniteui-angular/src/lib/grids/columns/validators.directive.ts
+++ b/projects/igniteui-angular/src/lib/grids/columns/validators.directive.ts
@@ -1,15 +1,15 @@
import { Directive } from '@angular/core';
import { RequiredValidator, NG_VALIDATORS, MinValidator, MaxValidator, EmailValidator, MinLengthValidator, MaxLengthValidator, PatternValidator } from '@angular/forms';
-
@Directive({
// eslint-disable-next-line @angular-eslint/directive-selector
selector: 'igx-column[required]',
providers: [{
- provide: NG_VALIDATORS,
- useExisting: IgxColumnRequiredValidatorDirective,
- multi: true
- }]
+ provide: NG_VALIDATORS,
+ useExisting: IgxColumnRequiredValidatorDirective,
+ multi: true
+ }],
+ standalone: true
})
export class IgxColumnRequiredValidatorDirective extends RequiredValidator {
}
@@ -18,10 +18,11 @@ export class IgxColumnRequiredValidatorDirective extends RequiredValidator {
// eslint-disable-next-line @angular-eslint/directive-selector
selector: 'igx-column[min]',
providers: [{
- provide: NG_VALIDATORS,
- useExisting: IgxColumnMinValidatorDirective,
- multi: true
- }]
+ provide: NG_VALIDATORS,
+ useExisting: IgxColumnMinValidatorDirective,
+ multi: true
+ }],
+ standalone: true
})
export class IgxColumnMinValidatorDirective extends MinValidator { }
@@ -30,10 +31,11 @@ export class IgxColumnMinValidatorDirective extends MinValidator { }
// eslint-disable-next-line @angular-eslint/directive-selector
selector: 'igx-column[max]',
providers: [{
- provide: NG_VALIDATORS,
- useExisting: IgxColumnMaxValidatorDirective,
- multi: true
- }]
+ provide: NG_VALIDATORS,
+ useExisting: IgxColumnMaxValidatorDirective,
+ multi: true
+ }],
+ standalone: true
})
export class IgxColumnMaxValidatorDirective extends MaxValidator { }
@@ -42,10 +44,11 @@ export class IgxColumnMaxValidatorDirective extends MaxValidator { }
// eslint-disable-next-line @angular-eslint/directive-selector
selector: 'igx-column[email]',
providers: [{
- provide: NG_VALIDATORS,
- useExisting: IgxColumnEmailValidatorDirective,
- multi: true
- }]
+ provide: NG_VALIDATORS,
+ useExisting: IgxColumnEmailValidatorDirective,
+ multi: true
+ }],
+ standalone: true
})
export class IgxColumnEmailValidatorDirective extends EmailValidator { }
@@ -54,10 +57,11 @@ export class IgxColumnEmailValidatorDirective extends EmailValidator { }
// eslint-disable-next-line @angular-eslint/directive-selector
selector: 'igx-column[minlength]',
providers: [{
- provide: NG_VALIDATORS,
- useExisting: IgxColumnMinLengthValidatorDirective,
- multi: true
- }]
+ provide: NG_VALIDATORS,
+ useExisting: IgxColumnMinLengthValidatorDirective,
+ multi: true
+ }],
+ standalone: true
})
export class IgxColumnMinLengthValidatorDirective extends MinLengthValidator { }
@@ -65,22 +69,24 @@ export class IgxColumnMinLengthValidatorDirective extends MinLengthValidator { }
// eslint-disable-next-line @angular-eslint/directive-selector
selector: 'igx-column[maxlength]',
providers: [{
- provide: NG_VALIDATORS,
- useExisting: IgxColumMaxLengthValidatorDirective,
- multi: true
- }]
+ provide: NG_VALIDATORS,
+ useExisting: IgxColumnMaxLengthValidatorDirective,
+ multi: true
+ }],
+ standalone: true
})
-export class IgxColumMaxLengthValidatorDirective extends MaxLengthValidator {
+export class IgxColumnMaxLengthValidatorDirective extends MaxLengthValidator {
}
@Directive({
// eslint-disable-next-line @angular-eslint/directive-selector
selector: 'igx-column[pattern]',
providers: [{
- provide: NG_VALIDATORS,
- useExisting: IgxColumPatternValidatorDirective,
- multi: true
- }]
+ provide: NG_VALIDATORS,
+ useExisting: IgxColumPatternValidatorDirective,
+ multi: true
+ }],
+ standalone: true
})
export class IgxColumPatternValidatorDirective extends PatternValidator {
}
diff --git a/projects/igniteui-angular/src/lib/grids/common/grid-pipes.module.ts b/projects/igniteui-angular/src/lib/grids/common/grid-pipes.module.ts
deleted file mode 100644
index f119380ff91..00000000000
--- a/projects/igniteui-angular/src/lib/grids/common/grid-pipes.module.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import {
- IgxGridFilterConditionPipe,
- IgxGridTransactionPipe,
- IgxGridNotGroupedPipe,
- IgxGridTopLevelColumns,
- IgxGridCellStylesPipe,
- IgxGridCellStyleClassesPipe,
- IgxGridPaginatorOptionsPipe,
- IgxHasVisibleColumnsPipe,
- IgxGridRowPinningPipe,
- IgxGridDataMapperPipe,
- IgxStringReplacePipe,
- IgxGridTransactionStatePipe,
- IgxColumnFormatterPipe,
- IgxSummaryFormatterPipe,
- IgxGridAddRowPipe,
- IgxGridRowClassesPipe,
- IgxGridRowStylesPipe,
- IgxGridCellImageAltPipe,
-} from './pipes';
-export * from './pipes';
-
-@NgModule({
- declarations: [
- IgxGridFilterConditionPipe,
- IgxGridTransactionPipe,
- IgxGridNotGroupedPipe,
- IgxGridTopLevelColumns,
- IgxGridCellStylesPipe,
- IgxGridCellStyleClassesPipe,
- IgxGridCellImageAltPipe,
- IgxGridPaginatorOptionsPipe,
- IgxHasVisibleColumnsPipe,
- IgxGridRowPinningPipe,
- IgxGridDataMapperPipe,
- IgxStringReplacePipe,
- IgxGridTransactionStatePipe,
- IgxGridAddRowPipe,
- IgxColumnFormatterPipe,
- IgxSummaryFormatterPipe,
- IgxGridRowClassesPipe,
- IgxGridRowStylesPipe
- ],
- exports: [
- IgxGridFilterConditionPipe,
- IgxGridTransactionPipe,
- IgxGridNotGroupedPipe,
- IgxGridTopLevelColumns,
- IgxGridCellStylesPipe,
- IgxGridCellStyleClassesPipe,
- IgxGridCellImageAltPipe,
- IgxGridPaginatorOptionsPipe,
- IgxHasVisibleColumnsPipe,
- IgxGridRowPinningPipe,
- IgxGridDataMapperPipe,
- IgxStringReplacePipe,
- IgxGridTransactionStatePipe,
- IgxGridAddRowPipe,
- IgxColumnFormatterPipe,
- IgxSummaryFormatterPipe,
- IgxGridRowClassesPipe,
- IgxGridRowStylesPipe
- ],
- imports: [
- CommonModule
- ]
- })
-export class IgxGridPipesModule { }
diff --git a/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts b/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts
index f07aecdff62..1888857d285 100644
--- a/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts
+++ b/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts
@@ -1,4 +1,4 @@
-import { FilterMode, GridPagingMode, GridSelectionMode, GridSummaryCalculationMode, GridSummaryPosition, GridValidationTrigger } from './enums';
+import { ColumnPinningPosition, FilterMode, GridPagingMode, GridSelectionMode, GridSummaryCalculationMode, GridSummaryPosition, GridValidationTrigger, RowPinningPosition } from './enums';
import {
ISearchInfo, IGridCellEventArgs, IRowSelectionEventArgs, IColumnSelectionEventArgs, IGridEditEventArgs,
IPinColumnCancellableEventArgs, IColumnVisibilityChangedEventArgs, IColumnVisibilityChangingEventArgs,
@@ -8,7 +8,7 @@ import {
IActiveNodeChangeEventArgs,
ICellPosition, IFilteringEventArgs, IColumnResizeEventArgs, IRowToggleEventArgs, IGridToolbarExportEventArgs, IPinRowEventArgs
} from '../common/events';
-import { DisplayDensity, IDensityChangedEventArgs } from '../../core/displayDensity';
+import { DisplayDensity, IDensityChangedEventArgs } from '../../core/density';
import { ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, QueryList, TemplateRef, ViewContainerRef } from '@angular/core';
import { FilteringExpressionsTree, IFilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
import { IGridResourceStrings } from '../../core/i18n/grid-resources';
@@ -33,7 +33,6 @@ import { ISortingExpression, ISortingStrategy, SortingDirection } from '../../da
import { IGridGroupingStrategy, IGridSortingStrategy } from './strategy';
import { IForOfState, IgxGridForOfDirective } from '../../directives/for-of/for_of.directive';
import { OverlaySettings } from '../../services/overlay/utilities';
-import { IPinningConfig } from '../grid.common';
import { IDimensionsChange, IPivotConfiguration, IPivotDimension, IPivotKeys, IPivotValue, IValuesChange, PivotDimensionType } from '../pivot-grid/pivot-grid.interface';
import { IDataCloneStrategy } from '../../data-operations/data-clone-strategy';
import { FormControl, FormGroup, ValidationErrors } from '@angular/forms';
@@ -70,6 +69,7 @@ export interface CellType {
title?: any;
width: string;
visibleColumnIndex?: number;
+ defaultErrorTemplate?: TemplateRef;
update: (value: any) => void;
setEditMode?(value: boolean): void;
calculateSizeToFit?(range: any): number;
@@ -652,7 +652,6 @@ export interface GridType extends IGridDataBindable {
toggleAll?(): void;
generateRowPath?(rowId: any): any[];
preventHeaderScroll?(args: any): void;
-
}
/**
@@ -816,3 +815,11 @@ export interface IgxHeadSelectorTemplateContext {
export interface IgxSummaryTemplateContext {
$implicit: IgxSummaryResult[]
}
+
+/**
+ * An interface describing settings for row/column pinning position.
+ */
+export interface IPinningConfig {
+ columns?: ColumnPinningPosition;
+ rows?: RowPinningPosition;
+}
diff --git a/projects/igniteui-angular/src/lib/grids/common/pipes.ts b/projects/igniteui-angular/src/lib/grids/common/pipes.ts
index 2614bd5418b..a7253da47e7 100644
--- a/projects/igniteui-angular/src/lib/grids/common/pipes.ts
+++ b/projects/igniteui-angular/src/lib/grids/common/pipes.ts
@@ -14,7 +14,10 @@ interface GridStyleCSSProperty {
* @hidden
* @internal
*/
-@Pipe({ name: 'igxCellStyleClasses' })
+@Pipe({
+ name: 'igxCellStyleClasses',
+ standalone: true
+})
export class IgxGridCellStyleClassesPipe implements PipeTransform {
public transform(cssClasses: GridStyleCSSProperty, _: any, data: any, field: string, index: number, __: number): string {
@@ -42,7 +45,8 @@ export class IgxGridCellStyleClassesPipe implements PipeTransform {
* @internal
*/
@Pipe({
- name: 'igxCellStyles'
+ name: 'igxCellStyles',
+ standalone: true
})
export class IgxGridCellStylesPipe implements PipeTransform {
@@ -67,7 +71,8 @@ export class IgxGridCellStylesPipe implements PipeTransform {
* @internal
*/
@Pipe({
- name: 'igxCellImageAlt'
+ name: 'igxCellImageAlt',
+ standalone: true
})
export class IgxGridCellImageAltPipe implements PipeTransform {
@@ -86,7 +91,10 @@ export class IgxGridCellImageAltPipe implements PipeTransform {
* @hidden
* @internal
*/
-@Pipe({ name: 'igxGridRowClasses' })
+@Pipe({
+ name: 'igxGridRowClasses',
+ standalone: true
+})
export class IgxGridRowClassesPipe implements PipeTransform {
public row: RowType;
@@ -143,7 +151,10 @@ export class IgxGridRowClassesPipe implements PipeTransform {
* @hidden
* @internal
*/
-@Pipe({ name: 'igxGridRowStyles' })
+@Pipe({
+ name: 'igxGridRowStyles',
+ standalone: true
+})
export class IgxGridRowStylesPipe implements PipeTransform {
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
@@ -168,7 +179,8 @@ export class IgxGridRowStylesPipe implements PipeTransform {
* @internal
*/
@Pipe({
- name: 'igxNotGrouped'
+ name: 'igxNotGrouped',
+ standalone: true
})
export class IgxGridNotGroupedPipe implements PipeTransform {
@@ -182,7 +194,8 @@ export class IgxGridNotGroupedPipe implements PipeTransform {
* @internal
*/
@Pipe({
- name: 'igxTopLevel'
+ name: 'igxTopLevel',
+ standalone: true
})
export class IgxGridTopLevelColumns implements PipeTransform {
@@ -197,7 +210,8 @@ export class IgxGridTopLevelColumns implements PipeTransform {
*/
@Pipe({
name: 'filterCondition',
- pure: true
+ pure: true,
+ standalone: true
})
export class IgxGridFilterConditionPipe implements PipeTransform {
@@ -210,7 +224,10 @@ export class IgxGridFilterConditionPipe implements PipeTransform {
* @hidden
* @internal
*/
-@Pipe({ name: 'gridTransaction' })
+@Pipe({
+ name: 'gridTransaction',
+ standalone: true
+})
export class IgxGridTransactionPipe implements PipeTransform {
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
@@ -233,7 +250,10 @@ export class IgxGridTransactionPipe implements PipeTransform {
* @hidden
* @internal
*/
-@Pipe({ name: 'paginatorOptions' })
+@Pipe({
+ name: 'paginatorOptions',
+ standalone: true
+})
export class IgxGridPaginatorOptionsPipe implements PipeTransform {
public transform(values: Array) {
return Array.from(new Set([...values])).sort((a, b) => a - b);
@@ -244,7 +264,10 @@ export class IgxGridPaginatorOptionsPipe implements PipeTransform {
* @hidden
* @internal
*/
-@Pipe({ name: 'visibleColumns' })
+@Pipe({
+ name: 'visibleColumns',
+ standalone: true
+})
export class IgxHasVisibleColumnsPipe implements PipeTransform {
public transform(values: any[], hasVisibleColumns) {
if (!(values && values.length)) {
@@ -271,7 +294,10 @@ function buildDataView(): MethodDecorator {
/**
* @hidden
*/
-@Pipe({ name: 'gridRowPinning' })
+@Pipe({
+ name: 'gridRowPinning',
+ standalone: true
+})
export class IgxGridRowPinningPipe implements PipeTransform {
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
@@ -296,7 +322,10 @@ export class IgxGridRowPinningPipe implements PipeTransform {
}
}
-@Pipe({ name: 'dataMapper' })
+@Pipe({
+ name: 'dataMapper',
+ standalone: true
+})
export class IgxGridDataMapperPipe implements PipeTransform {
public transform(data: any[], field: string, _: number, val: any, isNestedPath: boolean) {
@@ -304,7 +333,10 @@ export class IgxGridDataMapperPipe implements PipeTransform {
}
}
-@Pipe({ name: 'igxStringReplace' })
+@Pipe({
+ name: 'igxStringReplace',
+ standalone: true
+})
export class IgxStringReplacePipe implements PipeTransform {
public transform(value: string, search: string | RegExp, replacement: string): string {
@@ -312,7 +344,10 @@ export class IgxStringReplacePipe implements PipeTransform {
}
}
-@Pipe({ name: 'transactionState' })
+@Pipe({
+ name: 'transactionState',
+ standalone: true
+})
export class IgxGridTransactionStatePipe implements PipeTransform {
public transform(row_id: any, field: string, rowEditable: boolean, transactions: any, _: any, __: any, ___: any) {
@@ -330,7 +365,10 @@ export class IgxGridTransactionStatePipe implements PipeTransform {
}
}
-@Pipe({ name: 'columnFormatter' })
+@Pipe({
+ name: 'columnFormatter',
+ standalone: true
+})
export class IgxColumnFormatterPipe implements PipeTransform {
public transform(value: any, formatter: (v: any, data: any, columnData? :any) => any, rowData: any, columnData? : any) {
@@ -338,7 +376,10 @@ export class IgxColumnFormatterPipe implements PipeTransform {
}
}
-@Pipe({ name: 'summaryFormatter' })
+@Pipe({
+ name: 'summaryFormatter',
+ standalone: true
+})
export class IgxSummaryFormatterPipe implements PipeTransform {
public transform(summaryResult: IgxSummaryResult, summaryOperand: IgxSummaryOperand,
@@ -347,7 +388,10 @@ export class IgxSummaryFormatterPipe implements PipeTransform {
}
}
-@Pipe({ name: 'gridAddRow' })
+@Pipe({
+ name: 'gridAddRow',
+ standalone: true
+})
export class IgxGridAddRowPipe implements PipeTransform {
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
diff --git a/projects/igniteui-angular/src/lib/grids/common/public_api.ts b/projects/igniteui-angular/src/lib/grids/common/public_api.ts
new file mode 100644
index 00000000000..e3062818a56
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/grids/common/public_api.ts
@@ -0,0 +1,5 @@
+export * from './enums';
+export * from './events';
+export * from './grid.interface';
+export * from './strategy';
+export * from './types';
diff --git a/projects/igniteui-angular/src/lib/grids/common/shared.module.ts b/projects/igniteui-angular/src/lib/grids/common/shared.module.ts
deleted file mode 100644
index d1befe6c238..00000000000
--- a/projects/igniteui-angular/src/lib/grids/common/shared.module.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { FormsModule } from '@angular/forms';
-import { IgxButtonModule } from '../../directives/button/button.directive';
-import { IgxIconModule } from '../../icon/public_api';
-import { IgxRippleModule } from '../../directives/ripple/ripple.directive';
-import { IgxInputGroupModule } from '../../input-group/public_api';
-import { IgxFocusModule } from '../../directives/focus/focus.directive';
-import { IgxToggleModule } from '../../directives/toggle/toggle.directive';
-import { IgxForOfModule } from '../../directives/for-of/for_of.directive';
-import { IgxTemplateOutletModule } from '../../directives/template-outlet/template_outlet.directive';
-import { IgxTextHighlightModule } from '../../directives/text-highlight/text-highlight.directive';
-import { IgxTextSelectionModule } from '../../directives/text-selection/text-selection.directive';
-import { IgxCheckboxModule } from '../../checkbox/checkbox.component';
-import { IgxBadgeModule } from '../../badge/badge.component';
-import { IgxChipsModule } from '../../chips/chips.module';
-import { IgxDragDropModule } from '../../directives/drag-drop/drag-drop.directive';
-import { IgxButtonGroupModule } from '../../buttonGroup/buttonGroup.component';
-import { IgxProgressBarModule } from '../../progressbar/progressbar.component';
-import { IgxSelectModule } from '../../select/select.module';
-import { IgxDropDownModule } from '../../drop-down/public_api';
-import { IgxGridStateModule } from '../state.directive';
-import { IgxSnackbarModule } from '../../snackbar/snackbar.component';
-import { IgxDatePickerModule } from '../../date-picker/date-picker.module';
-import { IgxTimePickerModule } from '../../time-picker/time-picker.component';
-import { IgxDateTimeEditorModule } from '../../directives/date-time-editor/date-time-editor.directive';
-
-
-@NgModule({
- imports: [
- CommonModule,
- FormsModule,
- IgxButtonModule,
- IgxDatePickerModule,
- IgxIconModule,
- IgxRippleModule,
- IgxInputGroupModule,
- IgxFocusModule,
- IgxToggleModule,
- IgxForOfModule,
- IgxTemplateOutletModule,
- IgxTextHighlightModule,
- IgxTextSelectionModule,
- IgxCheckboxModule,
- IgxBadgeModule,
- IgxChipsModule,
- IgxDragDropModule,
- IgxDropDownModule,
- IgxButtonGroupModule,
- IgxProgressBarModule,
- IgxSelectModule,
- IgxGridStateModule,
- IgxSnackbarModule,
- IgxTimePickerModule,
- IgxDateTimeEditorModule
- ],
- exports: [
- CommonModule,
- FormsModule,
- IgxButtonModule,
- IgxDatePickerModule,
- IgxIconModule,
- IgxRippleModule,
- IgxInputGroupModule,
- IgxFocusModule,
- IgxToggleModule,
- IgxForOfModule,
- IgxTemplateOutletModule,
- IgxTextHighlightModule,
- IgxGridStateModule,
- IgxTextSelectionModule,
- IgxCheckboxModule,
- IgxBadgeModule,
- IgxChipsModule,
- IgxDragDropModule,
- IgxDropDownModule,
- IgxButtonGroupModule,
- IgxProgressBarModule,
- IgxSelectModule,
- IgxSnackbarModule,
- IgxTimePickerModule,
- IgxDateTimeEditorModule
- ]
-})
-export class IgxGridSharedModules {}
diff --git a/projects/igniteui-angular/src/lib/grids/common/strategy.ts b/projects/igniteui-angular/src/lib/grids/common/strategy.ts
index e4b7582dbee..28dfa9185cb 100644
--- a/projects/igniteui-angular/src/lib/grids/common/strategy.ts
+++ b/projects/igniteui-angular/src/lib/grids/common/strategy.ts
@@ -95,7 +95,7 @@ export class IgxSorting implements IGridSortingStrategy {
return result;
}
- protected getFieldValue(obj: T, key: string, isDate: boolean = false, isTime: boolean = false) {
+ protected getFieldValue(obj: T, key: string, isDate = false, isTime = false) {
let resolvedValue = resolveNestedPath(obj, key);
const date = parseDate(resolvedValue);
if (date && isDate && isTime) {
@@ -112,8 +112,8 @@ export class IgxSorting implements IGridSortingStrategy {
data: T[],
index: number,
expression: IGroupingExpression,
- isDate: boolean = false,
- isTime: boolean = false,
+ isDate = false,
+ isTime = false,
isString: boolean,
groupingComparer?: (a: any, b: any, currRec: any, groupRec: any) => number
): T[] {
@@ -145,7 +145,7 @@ export class IgxSorting implements IGridSortingStrategy {
private sortDataRecursive(
data: T[],
expressions: ISortingExpression[],
- expressionIndex: number = 0,
+ expressionIndex = 0,
grid: GridType
): T[] {
let i: number;
@@ -215,7 +215,7 @@ export class NoopSortingStrategy implements IGridSortingStrategy {
export class IgxDataRecordSorting extends IgxSorting {
- protected override getFieldValue(obj: any, key: string, isDate: boolean = false, isTime: boolean = false): any {
+ protected override getFieldValue(obj: any, key: string, isDate = false, isTime = false): any {
return super.getFieldValue(obj.data, key, isDate, isTime);
}
}
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.ts
index 15ff1a33cd5..10c0308883e 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.ts
@@ -2,16 +2,19 @@ import {
Component, Input, ViewChild, ChangeDetectorRef, AfterViewInit, OnDestroy, HostBinding
} from '@angular/core';
import { IgxOverlayService } from '../../../services/overlay/overlay';
-import { IDragStartEventArgs } from '../../../directives/drag-drop/drag-drop.directive';
+import { IDragStartEventArgs, IgxDragDirective, IgxDragHandleDirective } from '../../../directives/drag-drop/drag-drop.directive';
import { Subject } from 'rxjs';
import { IActiveNode } from '../../grid-navigation.service';
import { PlatformUtil } from '../../../core/utils';
import { FieldType, GridType } from '../../common/grid.interface';
-import { DisplayDensity } from '../../../core/displayDensity';
+import { DisplayDensity } from '../../../core/density';
import { IgxQueryBuilderComponent } from '../../../query-builder/query-builder.component';
import { CurrentResourceStrings } from '../../../core/i18n/resources';
import { GridResourceStringsEN } from '../../../core/i18n/grid-resources';
import { IFilteringExpressionsTree } from '../../../data-operations/filtering-expressions-tree';
+import { IgxButtonDirective } from '../../../directives/button/button.directive';
+import { IgxQueryBuilderHeaderComponent } from '../../../query-builder/query-builder-header.component';
+import { NgIf, NgClass } from '@angular/common';
/**
* A component used for presenting advanced filtering UI for a Grid.
@@ -26,7 +29,9 @@ import { IFilteringExpressionsTree } from '../../../data-operations/filtering-ex
*/
@Component({
selector: 'igx-advanced-filtering-dialog',
- templateUrl: './advanced-filtering-dialog.component.html'
+ templateUrl: './advanced-filtering-dialog.component.html',
+ standalone: true,
+ imports: [NgIf, IgxDragDirective, NgClass, IgxQueryBuilderComponent, IgxQueryBuilderHeaderComponent, IgxDragHandleDirective, IgxButtonDirective]
})
export class IgxAdvancedFilteringDialogComponent implements AfterViewInit, OnDestroy {
/**
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/base/filtering.module.ts b/projects/igniteui-angular/src/lib/grids/filtering/base/filtering.module.ts
deleted file mode 100644
index 492f18fd1d2..00000000000
--- a/projects/igniteui-angular/src/lib/grids/filtering/base/filtering.module.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { NgModule } from '@angular/core';
-import { IgxGridFilteringCellComponent } from './grid-filtering-cell.component';
-import { IgxGridFilteringRowComponent } from './grid-filtering-row.component';
-import { IgxGridSharedModules } from '../../common/shared.module';
-import { IgxGridPipesModule } from '../../common/grid-pipes.module';
-
-
-export { IgxGridFilteringCellComponent as θIgxGridFilteringCellComponent } from './grid-filtering-cell.component';
-export { IgxGridFilteringRowComponent as θIgxGridFilteringRowComponent } from './grid-filtering-row.component';
-
-@NgModule({
- declarations: [
- IgxGridFilteringCellComponent,
- IgxGridFilteringRowComponent
- ],
- imports: [
- IgxGridSharedModules,
- IgxGridPipesModule
- ],
- exports: [
- IgxGridFilteringCellComponent,
- IgxGridFilteringRowComponent
- ]
-})
-export class IgxGridFilteringModule { }
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/base/grid-filtering-cell.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/base/grid-filtering-cell.component.ts
index e2ea3906696..8e7c85f0916 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/base/grid-filtering-cell.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/base/grid-filtering-cell.component.ts
@@ -13,11 +13,15 @@ import {
} from '@angular/core';
import { IFilteringExpression } from '../../../data-operations/filtering-expression.interface';
import { IgxFilteringService } from '../grid-filtering.service';
-import { DisplayDensity } from '../../../core/displayDensity';
+import { DisplayDensity } from '../../../core/density';
import { ExpressionUI } from '../excel-style/common';
import { IgxChipsAreaComponent } from '../../../chips/chips-area.component';
import { IBaseChipEventArgs, IgxChipComponent } from '../../../chips/chip.component';
import { ColumnType } from '../../common/grid.interface';
+import { IgxBadgeComponent } from '../../../badge/badge.component';
+import { NgFor, NgIf, NgClass, NgTemplateOutlet } from '@angular/common';
+import { IgxPrefixDirective } from '../../../directives/prefix/prefix.directive';
+import { IgxIconComponent } from '../../../icon/icon.component';
/**
* @hidden
@@ -25,7 +29,9 @@ import { ColumnType } from '../../common/grid.interface';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'igx-grid-filtering-cell',
- templateUrl: './grid-filtering-cell.component.html'
+ templateUrl: './grid-filtering-cell.component.html',
+ standalone: true,
+ imports: [IgxChipsAreaComponent, IgxChipComponent, IgxIconComponent, IgxPrefixDirective, NgFor, NgIf, NgClass, IgxBadgeComponent, NgTemplateOutlet]
})
export class IgxGridFilteringCellComponent implements AfterViewInit, OnInit, DoCheck {
@Input()
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/base/grid-filtering-row.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/base/grid-filtering-row.component.ts
index ae22b004a5d..e59ce558cc8 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/base/grid-filtering-row.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/base/grid-filtering-row.component.ts
@@ -15,16 +15,16 @@ import {
OnDestroy
} from '@angular/core';
import { GridColumnDataType, DataUtil } from '../../../data-operations/data-util';
-import { IgxDropDownComponent, ISelectionEventArgs } from '../../../drop-down/public_api';
+import { IgxDropDownComponent } from '../../../drop-down/drop-down.component';
import { IFilteringOperation } from '../../../data-operations/filtering-condition';
import { FilteringLogic, IFilteringExpression } from '../../../data-operations/filtering-expression.interface';
import { HorizontalAlignment, VerticalAlignment, OverlaySettings } from '../../../services/overlay/utilities';
import { ConnectedPositioningStrategy } from '../../../services/overlay/position/connected-positioning-strategy';
-import { IBaseChipEventArgs, IgxChipsAreaComponent, IgxChipComponent } from '../../../chips/public_api';
import { IgxDropDownItemComponent } from '../../../drop-down/drop-down-item.component';
+import { ISelectionEventArgs } from '../../../drop-down/drop-down.common';
import { IgxFilteringService } from '../grid-filtering.service';
import { AbsoluteScrollStrategy } from '../../../services/overlay/scroll';
-import { DisplayDensity } from '../../../core/displayDensity';
+import { DisplayDensity } from '../../../core/density';
import { IgxDatePickerComponent } from '../../../date-picker/date-picker.component';
import { IgxTimePickerComponent } from '../../../time-picker/time-picker.component';
import { isEqual, PlatformUtil } from '../../../core/utils';
@@ -32,6 +32,19 @@ import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { ExpressionUI } from '../excel-style/common';
import { ColumnType } from '../../common/grid.interface';
+import { IgxRippleDirective } from '../../../directives/ripple/ripple.directive';
+import { IgxChipComponent, IBaseChipEventArgs } from '../../../chips/chip.component';
+import { IgxChipsAreaComponent } from '../../../chips/chips-area.component';
+import { IgxButtonDirective } from '../../../directives/button/button.directive';
+import { IgxDateTimeEditorDirective } from '../../../directives/date-time-editor/date-time-editor.directive';
+import { IgxPickerToggleComponent, IgxPickerClearComponent } from '../../../date-common/picker-icons.common';
+import { IgxSuffixDirective } from '../../../directives/suffix/suffix.directive';
+import { IgxInputDirective } from '../../../directives/input/input.directive';
+import { IgxDropDownItemNavigationDirective } from '../../../drop-down/drop-down-navigation.directive';
+import { IgxPrefixDirective } from '../../../directives/prefix/prefix.directive';
+import { IgxInputGroupComponent } from '../../../input-group/input-group.component';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { NgFor, NgIf, NgTemplateOutlet, NgClass } from '@angular/common';
/**
* @hidden
@@ -39,7 +52,9 @@ import { ColumnType } from '../../common/grid.interface';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'igx-grid-filtering-row',
- templateUrl: './grid-filtering-row.component.html'
+ templateUrl: './grid-filtering-row.component.html',
+ standalone: true,
+ imports: [NgFor, IgxDropDownComponent, IgxDropDownItemComponent, IgxChipsAreaComponent, IgxChipComponent, IgxIconComponent, IgxInputGroupComponent, IgxPrefixDirective, IgxDropDownItemNavigationDirective, IgxInputDirective, NgIf, IgxSuffixDirective, IgxDatePickerComponent, IgxPickerToggleComponent, IgxPickerClearComponent, IgxTimePickerComponent, IgxDateTimeEditorDirective, NgTemplateOutlet, IgxButtonDirective, NgClass, IgxRippleDirective]
})
export class IgxGridFilteringRowComponent implements AfterViewInit, OnDestroy {
@Input()
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/base-filtering.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/base-filtering.component.ts
index 3cdf3c2966a..bf8d12a7406 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/base-filtering.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/base-filtering.component.ts
@@ -1,5 +1,5 @@
import { ChangeDetectorRef, Directive, ElementRef, EventEmitter } from '@angular/core';
-import { DisplayDensity } from '../../../core/displayDensity';
+import { DisplayDensity } from '../../../core/density';
import { PlatformUtil } from '../../../core/utils';
import { IgxOverlayService } from '../../../services/overlay/overlay';
import { ExpressionUI, FilterListItem } from './common';
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-clear-filters.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-clear-filters.component.ts
index b1231dd424b..09856c6aed6 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-clear-filters.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-clear-filters.component.ts
@@ -1,13 +1,17 @@
import { Component } from '@angular/core';
import { PlatformUtil } from '../../../core/utils';
import { BaseFilteringComponent } from './base-filtering.component';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { NgIf, NgClass } from '@angular/common';
/**
* A component used for presenting Excel style clear filters UI.
*/
@Component({
selector: 'igx-excel-style-clear-filters',
- templateUrl: './excel-style-clear-filters.component.html'
+ templateUrl: './excel-style-clear-filters.component.html',
+ standalone: true,
+ imports: [NgIf, NgClass, IgxIconComponent]
})
export class IgxExcelStyleClearFiltersComponent {
constructor(public esf: BaseFilteringComponent, protected platform: PlatformUtil) { }
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.ts
index 0a36ffa74ee..0ec7e25b1f3 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.ts
@@ -4,13 +4,18 @@ import { takeUntil } from 'rxjs/operators';
import { GridColumnDataType } from '../../../data-operations/data-util';
import { IFilteringOperation } from '../../../data-operations/filtering-condition';
import { IFilteringExpression } from '../../../data-operations/filtering-expression.interface';
-import { ISelectionEventArgs, IgxDropDownComponent } from '../../../drop-down/public_api';
import { IgxExcelStyleCustomDialogComponent } from './excel-style-custom-dialog.component';
import { PlatformUtil } from '../../../core/utils';
import { BaseFilteringComponent } from './base-filtering.component';
import { AutoPositionStrategy } from '../../../services/overlay/position/auto-position-strategy';
import { AbsoluteScrollStrategy } from '../../../services/overlay/scroll/absolute-scroll-strategy';
import { HorizontalAlignment, OverlaySettings, VerticalAlignment } from '../../../services/overlay/utilities';
+import { IgxDropDownItemComponent } from '../../../drop-down/drop-down-item.component';
+import { IgxDropDownComponent } from '../../../drop-down/drop-down.component';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { IgxDropDownItemNavigationDirective } from '../../../drop-down/drop-down-navigation.directive';
+import { NgIf, NgFor } from '@angular/common';
+import { ISelectionEventArgs } from '../../../drop-down/drop-down.common';
/**
@@ -18,7 +23,9 @@ import { HorizontalAlignment, OverlaySettings, VerticalAlignment } from '../../.
*/
@Component({
selector: 'igx-excel-style-conditional-filter',
- templateUrl: './excel-style-conditional-filter.component.html'
+ templateUrl: './excel-style-conditional-filter.component.html',
+ standalone: true,
+ imports: [NgIf, IgxDropDownItemNavigationDirective, IgxIconComponent, IgxDropDownComponent, NgFor, IgxDropDownItemComponent, IgxExcelStyleCustomDialogComponent]
})
export class IgxExcelStyleConditionalFilterComponent implements OnDestroy {
/**
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.ts
index 2c51cc11584..34c513069eb 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.ts
@@ -31,13 +31,18 @@ import { HorizontalAlignment, OverlaySettings, PositionSettings, VerticalAlignme
import { AutoPositionStrategy } from '../../../services/overlay/position/auto-position-strategy';
import { AbsoluteScrollStrategy } from '../../../services/overlay/scroll/absolute-scroll-strategy';
import { IgxOverlayService } from '../../../services/overlay/overlay';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { IgxButtonDirective } from '../../../directives/button/button.directive';
+import { NgClass, NgIf, NgFor } from '@angular/common';
/**
* @hidden
*/
@Component({
selector: 'igx-excel-style-custom-dialog',
- templateUrl: './excel-style-custom-dialog.component.html'
+ templateUrl: './excel-style-custom-dialog.component.html',
+ standalone: true,
+ imports: [IgxToggleDirective, NgClass, NgIf, NgFor, IgxExcelStyleDateExpressionComponent, IgxExcelStyleDefaultExpressionComponent, IgxButtonDirective, IgxIconComponent]
})
export class IgxExcelStyleCustomDialogComponent implements AfterViewInit {
@Input()
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-date-expression.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-date-expression.component.ts
index 82b2396f28e..bc494d1dde1 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-date-expression.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-date-expression.component.ts
@@ -1,16 +1,29 @@
import { Component, ViewChild } from '@angular/core';
import { IgxExcelStyleDefaultExpressionComponent } from './excel-style-default-expression.component';
import { IgxInputDirective } from '../../../directives/input/input.directive';
-import { IgxDatePickerComponent } from '../../../date-picker/public_api';
import { IgxTimePickerComponent } from '../../../time-picker/time-picker.component';
-import { getLocaleFirstDayOfWeek } from "@angular/common";
+import { getLocaleFirstDayOfWeek, NgIf, NgFor } from "@angular/common";
+import { IgxOverlayOutletDirective } from '../../../directives/toggle/toggle.directive';
+import { IgxButtonGroupComponent } from '../../../buttonGroup/buttonGroup.component';
+import { IgxButtonDirective } from '../../../directives/button/button.directive';
+import { IgxDateTimeEditorDirective } from '../../../directives/date-time-editor/date-time-editor.directive';
+import { FormsModule } from '@angular/forms';
+import { IgxInputGroupComponent } from '../../../input-group/input-group.component';
+import { IgxPickerToggleComponent, IgxPickerClearComponent } from '../../../date-common/picker-icons.common';
+import { IgxDatePickerComponent } from '../../../date-picker/date-picker.component';
+import { IgxSelectItemComponent } from '../../../select/select-item.component';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { IgxPrefixDirective } from '../../../directives/prefix/prefix.directive';
+import { IgxSelectComponent } from '../../../select/select.component';
/**
* @hidden
*/
@Component({
selector: 'igx-excel-style-date-expression',
- templateUrl: './excel-style-date-expression.component.html'
+ templateUrl: './excel-style-date-expression.component.html',
+ standalone: true,
+ imports: [IgxSelectComponent, IgxPrefixDirective, NgIf, IgxIconComponent, NgFor, IgxSelectItemComponent, IgxDatePickerComponent, IgxPickerToggleComponent, IgxPickerClearComponent, IgxTimePickerComponent, IgxInputGroupComponent, FormsModule, IgxInputDirective, IgxDateTimeEditorDirective, IgxButtonDirective, IgxButtonGroupComponent, IgxOverlayOutletDirective]
})
export class IgxExcelStyleDateExpressionComponent extends IgxExcelStyleDefaultExpressionComponent {
@ViewChild('input', { read: IgxInputDirective, static: false })
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-default-expression.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-default-expression.component.ts
index 9053be5d1dc..72d5a2b67ea 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-default-expression.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-default-expression.component.ts
@@ -15,12 +15,18 @@ import { FilteringLogic } from '../../../data-operations/filtering-expression.in
import { DisplayDensity } from '../../../core/density';
import { IgxSelectComponent } from '../../../select/select.component';
import { IgxOverlayOutletDirective } from '../../../directives/toggle/toggle.directive';
-import { IgxInputDirective } from '../../../input-group/public_api';
import { ExpressionUI } from './common';
import { ColumnType } from '../../common/grid.interface';
import { OverlaySettings } from '../../../services/overlay/utilities';
import { AbsoluteScrollStrategy } from '../../../services/overlay/scroll/absolute-scroll-strategy';
import { ConnectedPositioningStrategy } from '../../../services/overlay/position/connected-positioning-strategy';
+import { IgxButtonDirective } from '../../../directives/button/button.directive';
+import { IgxInputDirective } from '../../../directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../input-group/input-group.component';
+import { IgxSelectItemComponent } from '../../../select/select-item.component';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { NgIf, NgFor } from '@angular/common';
+import { IgxPrefixDirective } from '../../../directives/prefix/prefix.directive';
/**
* @hidden
@@ -35,7 +41,9 @@ export interface ILogicOperatorChangedArgs extends IBaseEventArgs {
*/
@Component({
selector: 'igx-excel-style-default-expression',
- templateUrl: './excel-style-default-expression.component.html'
+ templateUrl: './excel-style-default-expression.component.html',
+ standalone: true,
+ imports: [IgxSelectComponent, IgxPrefixDirective, NgIf, IgxIconComponent, NgFor, IgxSelectItemComponent, IgxInputGroupComponent, IgxInputDirective, IgxButtonDirective, IgxButtonGroupComponent, IgxOverlayOutletDirective]
})
export class IgxExcelStyleDefaultExpressionComponent implements AfterViewInit {
@Input()
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/grid.excel-style-filtering.component.html b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component.html
similarity index 100%
rename from projects/igniteui-angular/src/lib/grids/filtering/excel-style/grid.excel-style-filtering.component.html
rename to projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component.html
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/grid.excel-style-filtering.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component.ts
similarity index 93%
rename from projects/igniteui-angular/src/lib/grids/filtering/excel-style/grid.excel-style-filtering.component.ts
rename to projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component.ts
index b1ad376952a..50d2a0b6cff 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/grid.excel-style-filtering.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component.ts
@@ -25,20 +25,31 @@ import { Subscription } from 'rxjs';
import { DisplayDensity } from '../../../core/density';
import { GridSelectionMode } from '../../common/enums';
import { IgxFilterItem } from '../../../data-operations/filtering-strategy';
-import { formatNumber, formatPercent, getLocaleCurrencyCode } from '@angular/common';
+import { formatNumber, formatPercent, getLocaleCurrencyCode, NgIf, NgClass } from '@angular/common';
import { BaseFilteringComponent } from './base-filtering.component';
import { ExpressionUI, FilterListItem, generateExpressionsList } from './common';
import { ColumnType, GridType, IGX_GRID_BASE } from '../../common/grid.interface';
import { IgxOverlayService } from '../../../services/overlay/overlay';
import { SortingDirection } from '../../../data-operations/sorting-strategy';
+import { IgxExcelStyleSearchComponent } from './excel-style-search.component';
+import { IgxExcelStyleConditionalFilterComponent } from './excel-style-conditional-filter.component';
+import { IgxExcelStyleClearFiltersComponent } from './excel-style-clear-filters.component';
+import { IgxExcelStyleSelectingComponent } from './excel-style-selecting.component';
+import { IgxExcelStyleHidingComponent } from './excel-style-hiding.component';
+import { IgxExcelStylePinningComponent } from './excel-style-pinning.component';
+import { IgxExcelStyleMovingComponent } from './excel-style-moving.component';
+import { IgxExcelStyleSortingComponent } from './excel-style-sorting.component';
+import { IgxExcelStyleHeaderComponent } from './excel-style-header.component';
@Directive({
- selector: 'igx-excel-style-column-operations,[igxExcelStyleColumnOperations]'
+ selector: 'igx-excel-style-column-operations,[igxExcelStyleColumnOperations]',
+ standalone: true
})
export class IgxExcelStyleColumnOperationsTemplateDirective { }
@Directive({
- selector: 'igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]'
+ selector: 'igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]',
+ standalone: true
})
export class IgxExcelStyleFilterOperationsTemplateDirective { }
@@ -55,9 +66,11 @@ export class IgxExcelStyleFilterOperationsTemplateDirective { }
*/
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
- providers: [{ provide: BaseFilteringComponent, useExisting: forwardRef(() => IgxGridExcelStyleFilteringComponent)}],
+ providers: [{ provide: BaseFilteringComponent, useExisting: forwardRef(() => IgxGridExcelStyleFilteringComponent) }],
selector: 'igx-grid-excel-style-filtering',
- templateUrl: './grid.excel-style-filtering.component.html'
+ templateUrl: './excel-style-filtering.component.html',
+ standalone: true,
+ imports: [IgxExcelStyleHeaderComponent, NgIf, IgxExcelStyleSortingComponent, IgxExcelStyleMovingComponent, IgxExcelStylePinningComponent, IgxExcelStyleHidingComponent, IgxExcelStyleSelectingComponent, IgxExcelStyleClearFiltersComponent, IgxExcelStyleConditionalFilterComponent, IgxExcelStyleSearchComponent, NgClass]
})
export class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent implements OnDestroy {
@@ -484,7 +497,7 @@ export class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent
this.generateListData();
}
- private generateFilterValues(isDateColumn: boolean = false) {
+ private generateFilterValues(isDateColumn = false) {
let filterValues;
if (isDateColumn) {
@@ -603,7 +616,7 @@ export class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent
}
private generateFilterListItems(values: IgxFilterItem[], shouldUpdateSelection: boolean, parent?: FilterListItem) {
- let filterListItems = [];
+ const filterListItems = [];
values?.forEach(element => {
const value = element.value;
const hasValue = value !== undefined && value !== null && value !== '';
@@ -679,7 +692,7 @@ export class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent
return blanks;
}
- private getFilterItemLabel(value: any, applyFormatter: boolean = true, data?: any) {
+ private getFilterItemLabel(value: any, applyFormatter = true, data?: any) {
if (this.column.formatter) {
if (applyFormatter) {
return this.column.formatter(value, data);
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-header.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-header.component.ts
index 608e6990c95..596ba1f9664 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-header.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-header.component.ts
@@ -1,12 +1,17 @@
import { Component, Input } from '@angular/core';
import { BaseFilteringComponent } from './base-filtering.component';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { IgxButtonDirective } from '../../../directives/button/button.directive';
+import { NgIf, NgClass } from '@angular/common';
/**
* A component used for presenting Excel style header UI.
*/
@Component({
selector: 'igx-excel-style-header',
- templateUrl: './excel-style-header.component.html'
+ templateUrl: './excel-style-header.component.html',
+ standalone: true,
+ imports: [NgIf, IgxButtonDirective, NgClass, IgxIconComponent]
})
export class IgxExcelStyleHeaderComponent {
/**
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-hiding.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-hiding.component.ts
index ec4d85d1cd7..b790dec8499 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-hiding.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-hiding.component.ts
@@ -1,12 +1,16 @@
import { Component } from '@angular/core';
import { BaseFilteringComponent } from './base-filtering.component';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { NgIf } from '@angular/common';
/**
* A component used for presenting Excel style column hiding UI.
*/
@Component({
selector: 'igx-excel-style-hiding',
- templateUrl: './excel-style-hiding.component.html'
+ templateUrl: './excel-style-hiding.component.html',
+ standalone: true,
+ imports: [NgIf, IgxIconComponent]
})
export class IgxExcelStyleHidingComponent {
constructor(public esf: BaseFilteringComponent) { }
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-moving.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-moving.component.ts
index bd0b60f4ea5..e3e3b7a6db9 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-moving.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-moving.component.ts
@@ -1,13 +1,19 @@
import { Component, HostBinding } from '@angular/core';
import { ColumnType } from '../../common/grid.interface';
import { BaseFilteringComponent } from './base-filtering.component';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { IgxButtonDirective } from '../../../directives/button/button.directive';
+import { IgxButtonGroupComponent } from '../../../buttonGroup/buttonGroup.component';
+import { NgIf } from '@angular/common';
/**
* A component used for presenting Excel style column moving UI.
*/
@Component({
selector: 'igx-excel-style-moving',
- templateUrl: './excel-style-moving.component.html'
+ templateUrl: './excel-style-moving.component.html',
+ standalone: true,
+ imports: [NgIf, IgxButtonGroupComponent, IgxButtonDirective, IgxIconComponent]
})
export class IgxExcelStyleMovingComponent {
/**
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-pinning.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-pinning.component.ts
index 7132c46cfac..5b9a66cf2df 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-pinning.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-pinning.component.ts
@@ -1,12 +1,16 @@
import { Component } from '@angular/core';
import { BaseFilteringComponent } from './base-filtering.component';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { NgIf, NgClass } from '@angular/common';
/**
* A component used for presenting Excel style column pinning UI.
*/
@Component({
selector: 'igx-excel-style-pinning',
- templateUrl: './excel-style-pinning.component.html'
+ templateUrl: './excel-style-pinning.component.html',
+ standalone: true,
+ imports: [NgIf, NgClass, IgxIconComponent]
})
export class IgxExcelStylePinningComponent {
constructor(public esf: BaseFilteringComponent) { }
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-search.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-search.component.ts
index 508fd9bf678..254b15f6a43 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-search.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-search.component.ts
@@ -19,22 +19,35 @@ import {
IgxStringFilteringOperand, IgxDateTimeFilteringOperand, IgxTimeFilteringOperand
} from '../../../data-operations/filtering-condition';
import { Subject } from 'rxjs';
-import { IgxListComponent } from '../../../list/public_api';
import { IChangeCheckboxEventArgs, IgxCheckboxComponent } from '../../../checkbox/checkbox.component';
import { takeUntil } from 'rxjs/operators';
import { cloneHierarchicalArray, PlatformUtil } from '../../../core/utils';
import { BaseFilteringComponent } from './base-filtering.component';
import { ExpressionUI, FilterListItem } from './common';
-import { IgxTreeComponent, ITreeNodeSelectionEvent } from '../../../tree/public_api';
+import { IgxButtonDirective } from '../../../directives/button/button.directive';
+import { IgxCircularProgressBarComponent } from '../../../progressbar/progressbar.component';
+import { IgxTreeNodeComponent } from '../../../tree/tree-node/tree-node.component';
+import { IgxTreeComponent } from '../../../tree/tree.component';
+import { IgxDataLoadingTemplateDirective, IgxEmptyListTemplateDirective } from '../../../list/list.common';
+import { IgxListItemComponent } from '../../../list/list-item.component';
+import { IgxListComponent } from '../../../list/list.component';
+import { IgxSuffixDirective } from '../../../directives/suffix/suffix.directive';
+import { NgIf, NgTemplateOutlet, NgFor } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { IgxPrefixDirective } from '../../../directives/prefix/prefix.directive';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { IgxInputGroupComponent } from '../../../input-group/input-group.component';
+import { ITreeNodeSelectionEvent } from '../../../tree/common';
@Directive({
- selector: '[igxExcelStyleLoading]'
+ selector: '[igxExcelStyleLoading]',
+ standalone: true
})
export class IgxExcelStyleLoadingValuesTemplateDirective {
public static ngTemplateContextGuard(_dir: IgxExcelStyleLoadingValuesTemplateDirective,
ctx: unknown): ctx is undefined {
return true
- };
+ }
constructor(public template: TemplateRef) { }
}
@@ -43,7 +56,9 @@ export class IgxExcelStyleLoadingValuesTemplateDirective {
*/
@Component({
selector: 'igx-excel-style-search',
- templateUrl: './excel-style-search.component.html'
+ templateUrl: './excel-style-search.component.html',
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxIconComponent, IgxPrefixDirective, FormsModule, IgxInputDirective, NgIf, IgxSuffixDirective, IgxListComponent, IgxForOfDirective, IgxListItemComponent, IgxCheckboxComponent, IgxDataLoadingTemplateDirective, NgTemplateOutlet, IgxEmptyListTemplateDirective, IgxTreeComponent, NgFor, IgxTreeNodeComponent, IgxCircularProgressBarComponent, IgxButtonDirective]
})
export class IgxExcelStyleSearchComponent implements AfterViewInit, OnDestroy {
private static readonly filterOptimizationThreshold = 2;
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-selecting.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-selecting.component.ts
index f4a6b53750b..75a5d97dfc9 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-selecting.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-selecting.component.ts
@@ -1,12 +1,16 @@
import { Component } from '@angular/core';
import { BaseFilteringComponent } from './base-filtering.component';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { NgIf, NgClass } from '@angular/common';
/**
* A component used for presenting Excel style conditional filter UI.
*/
@Component({
selector: 'igx-excel-style-selecting',
- templateUrl: './excel-style-selecting.component.html'
+ templateUrl: './excel-style-selecting.component.html',
+ standalone: true,
+ imports: [NgIf, NgClass, IgxIconComponent]
})
export class IgxExcelStyleSelectingComponent {
constructor(public esf: BaseFilteringComponent) { }
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-sorting.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-sorting.component.ts
index a4feab3f6c1..1ad0df6e7cb 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-sorting.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-sorting.component.ts
@@ -9,13 +9,18 @@ import { IgxButtonGroupComponent } from '../../../buttonGroup/buttonGroup.compon
import { takeUntil } from 'rxjs/operators';
import { Subject } from 'rxjs';
import { BaseFilteringComponent } from './base-filtering.component';
+import { IgxIconComponent } from '../../../icon/icon.component';
+import { IgxButtonDirective } from '../../../directives/button/button.directive';
+import { NgIf } from '@angular/common';
/**
* A component used for presenting Excel style column sorting UI.
*/
@Component({
selector: 'igx-excel-style-sorting',
- templateUrl: './excel-style-sorting.component.html'
+ templateUrl: './excel-style-sorting.component.html',
+ standalone: true,
+ imports: [NgIf, IgxButtonGroupComponent, IgxButtonDirective, IgxIconComponent]
})
export class IgxExcelStyleSortingComponent implements OnDestroy {
/**
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/grid.excel-style-filtering.module.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/grid.excel-style-filtering.module.ts
deleted file mode 100644
index b064c7339d3..00000000000
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/grid.excel-style-filtering.module.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { IgxExcelStyleLoadingValuesTemplateDirective } from './excel-style-search.component';
-import {
- IgxGridExcelStyleFilteringComponent,
- IgxExcelStyleColumnOperationsTemplateDirective,
- IgxExcelStyleFilterOperationsTemplateDirective
-} from './grid.excel-style-filtering.component';
-import { IgxExcelStyleSortingComponent } from './excel-style-sorting.component';
-import { IgxExcelStyleMovingComponent } from './excel-style-moving.component';
-import { IgxExcelStyleSearchComponent } from './excel-style-search.component';
-import { IgxExcelStyleCustomDialogComponent } from './excel-style-custom-dialog.component';
-import { IgxExcelStyleDefaultExpressionComponent } from './excel-style-default-expression.component';
-import { IgxExcelStyleDateExpressionComponent } from './excel-style-date-expression.component';
-import { IgxSelectionAPIService } from '../../../core/selection';
-import { FormsModule } from '@angular/forms';
-import { IgxGridPipesModule } from '../../common/grid-pipes.module';
-import { IgxButtonModule } from '../../../directives/button/button.directive';
-import { IgxButtonGroupModule } from '../../../buttonGroup/buttonGroup.component';
-import { IgxIconModule } from '../../../icon/public_api';
-import { IgxRippleModule } from '../../../directives/ripple/ripple.directive';
-import { IgxInputGroupModule } from '../../../input-group/input-group.component';
-import { IgxDropDownModule } from '../../../drop-down/public_api';
-import { IgxForOfModule } from '../../../directives/for-of/for_of.directive';
-import { IgxCheckboxModule } from '../../../checkbox/checkbox.component';
-import { IgxFilterModule } from '../../../directives/filter/filter.directive';
-import { IgxToggleModule } from '../../../directives/toggle/toggle.directive';
-import { IgxListModule } from '../../../list/list.component';
-import { IgxProgressBarModule } from '../../../progressbar/progressbar.component';
-import { IgxSelectModule } from './../../../select/select.module';
-import { IgxExcelStylePinningComponent } from './excel-style-pinning.component';
-import { IgxExcelStyleHeaderComponent } from './excel-style-header.component';
-import { IgxExcelStyleHidingComponent } from './excel-style-hiding.component';
-import { IgxExcelStyleSelectingComponent } from './excel-style-selecting.component';
-import { IgxExcelStyleClearFiltersComponent } from './excel-style-clear-filters.component';
-import { IgxExcelStyleConditionalFilterComponent } from './excel-style-conditional-filter.component';
-import { IgxDatePickerModule } from '../../../date-picker/date-picker.module';
-import { IgxTimePickerModule } from '../../../time-picker/time-picker.component';
-import { IgxFocusModule } from '../../../directives/focus/focus.directive';
-import { IgxDateTimeEditorModule } from '../../../directives/date-time-editor/date-time-editor.directive';
-import { IgxTreeModule } from '../../../tree/public_api';
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [
- IgxGridExcelStyleFilteringComponent,
- IgxExcelStyleHeaderComponent,
- IgxExcelStyleSortingComponent,
- IgxExcelStylePinningComponent,
- IgxExcelStyleHidingComponent,
- IgxExcelStyleSelectingComponent,
- IgxExcelStyleClearFiltersComponent,
- IgxExcelStyleConditionalFilterComponent,
- IgxExcelStyleMovingComponent,
- IgxExcelStyleSearchComponent,
- IgxExcelStyleCustomDialogComponent,
- IgxExcelStyleDefaultExpressionComponent,
- IgxExcelStyleDateExpressionComponent,
- IgxExcelStyleColumnOperationsTemplateDirective,
- IgxExcelStyleFilterOperationsTemplateDirective,
- IgxExcelStyleLoadingValuesTemplateDirective
- ],
- exports: [
- IgxGridExcelStyleFilteringComponent,
- IgxExcelStyleColumnOperationsTemplateDirective,
- IgxExcelStyleFilterOperationsTemplateDirective,
- IgxExcelStyleLoadingValuesTemplateDirective,
- IgxExcelStyleDateExpressionComponent,
- IgxExcelStyleHeaderComponent,
- IgxExcelStyleSortingComponent,
- IgxExcelStylePinningComponent,
- IgxExcelStyleHidingComponent,
- IgxExcelStyleSelectingComponent,
- IgxExcelStyleClearFiltersComponent,
- IgxExcelStyleConditionalFilterComponent,
- IgxExcelStyleMovingComponent,
- IgxExcelStyleSearchComponent,
- IgxExcelStyleHeaderComponent
- ],
- imports: [
- CommonModule,
- FormsModule,
- IgxGridPipesModule,
- IgxButtonModule,
- IgxButtonGroupModule,
- IgxDatePickerModule,
- IgxTimePickerModule,
- IgxIconModule,
- IgxRippleModule,
- IgxInputGroupModule,
- IgxDropDownModule,
- IgxForOfModule,
- IgxCheckboxModule,
- IgxFilterModule,
- IgxToggleModule,
- IgxListModule,
- IgxProgressBarModule,
- IgxSelectModule,
- IgxFocusModule,
- IgxDateTimeEditorModule,
- IgxTreeModule
- ],
- providers: [
- IgxSelectionAPIService
- ]
-})
-export class IgxGridExcelStyleFilteringModule { }
diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/public_api.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/public_api.ts
index 4de549833cf..21c7519c4d4 100644
--- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/public_api.ts
+++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/public_api.ts
@@ -1,3 +1,14 @@
+import { IgxExcelStyleClearFiltersComponent } from './excel-style-clear-filters.component';
+import { IgxExcelStyleConditionalFilterComponent } from './excel-style-conditional-filter.component';
+import { IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleFilterOperationsTemplateDirective, IgxGridExcelStyleFilteringComponent } from './excel-style-filtering.component';
+import { IgxExcelStyleHeaderComponent } from './excel-style-header.component';
+import { IgxExcelStyleHidingComponent } from './excel-style-hiding.component';
+import { IgxExcelStyleMovingComponent } from './excel-style-moving.component';
+import { IgxExcelStylePinningComponent } from './excel-style-pinning.component';
+import { IgxExcelStyleLoadingValuesTemplateDirective, IgxExcelStyleSearchComponent } from './excel-style-search.component';
+import { IgxExcelStyleSelectingComponent } from './excel-style-selecting.component';
+import { IgxExcelStyleSortingComponent } from './excel-style-sorting.component';
+
export * from './excel-style-clear-filters.component';
export * from './excel-style-conditional-filter.component';
export * from './excel-style-header.component';
@@ -7,5 +18,22 @@ export * from './excel-style-pinning.component';
export * from './excel-style-search.component';
export * from './excel-style-selecting.component';
export * from './excel-style-sorting.component';
-export * from './grid.excel-style-filtering.component';
+export * from './excel-style-filtering.component';
export * from './excel-style-date-expression.component';
+
+/* NOTE: Grid excel-style filtering directives collection for ease-of-use import in standalone components scenario */
+export const IGX_GRID_EXCEL_STYLE_FILTER_DIRECTIVES = [
+ IgxGridExcelStyleFilteringComponent,
+ IgxExcelStyleHeaderComponent,
+ IgxExcelStyleSortingComponent,
+ IgxExcelStylePinningComponent,
+ IgxExcelStyleHidingComponent,
+ IgxExcelStyleSelectingComponent,
+ IgxExcelStyleClearFiltersComponent,
+ IgxExcelStyleConditionalFilterComponent,
+ IgxExcelStyleMovingComponent,
+ IgxExcelStyleSearchComponent,
+ IgxExcelStyleColumnOperationsTemplateDirective,
+ IgxExcelStyleFilterOperationsTemplateDirective,
+ IgxExcelStyleLoadingValuesTemplateDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts b/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts
index 1bdbf017c90..f1e5cb517a2 100644
--- a/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts
@@ -43,7 +43,7 @@ import { IGroupByRecord } from '../data-operations/groupby-record.interface';
import { IForOfDataChangingEventArgs, IgxGridForOfDirective } from '../directives/for-of/for_of.directive';
import { IgxTextHighlightDirective } from '../directives/text-highlight/text-highlight.directive';
import { ISummaryExpression } from './summaries/grid-summary';
-import { RowEditPositionStrategy, IPinningConfig } from './grid.common';
+import { RowEditPositionStrategy } from './grid.common';
import { IgxGridToolbarComponent } from './toolbar/grid-toolbar.component';
import { IgxRowDirective } from './row.directive';
import { IgxOverlayOutletDirective, IgxToggleDirective } from '../directives/toggle/toggle.directive';
@@ -60,7 +60,7 @@ import {
IgxRowEditActionsDirective
} from './grid.rowEdit.directive';
import { IgxGridNavigationService, IActiveNode } from './grid-navigation.service';
-import { IDisplayDensityOptions, DisplayDensityToken, DisplayDensityBase, DisplayDensity } from '../core/displayDensity';
+import { IDisplayDensityOptions, DisplayDensityToken, DisplayDensityBase, DisplayDensity } from '../core/density';
import { IgxFilteringService } from './filtering/grid-filtering.service';
import { IgxGridFilteringCellComponent } from './filtering/base/grid-filtering-cell.component';
import { WatchChanges } from './watch-changes';
@@ -141,7 +141,8 @@ import {
IgxRowSelectorTemplateContext,
IGX_GRID_SERVICE_BASE,
ISizeInfo,
- RowType
+ RowType,
+ IPinningConfig
} from './common/grid.interface';
import { DropPosition } from './moving/moving.service';
import { IgxHeadSelectorDirective, IgxRowSelectorDirective } from './selection/row-selectors';
@@ -167,7 +168,7 @@ import { AbsoluteScrollStrategy } from '../services/overlay/scroll/absolute-scro
import { Action, StateUpdateEvent, TransactionEventOrigin } from '../services/transaction/transaction';
import { ISortingExpression } from '../data-operations/sorting-strategy';
import { IGridSortingStrategy } from './common/strategy';
-import { IgxGridExcelStyleFilteringComponent } from './filtering/excel-style/grid.excel-style-filtering.component';
+import { IgxGridExcelStyleFilteringComponent } from './filtering/excel-style/excel-style-filtering.component';
import { IgxGridHeaderComponent } from './headers/grid-header.component';
import { IgxGridFilteringRowComponent } from './filtering/base/grid-filtering-row.component';
import { DefaultDataCloneStrategy, IDataCloneStrategy } from '../data-operations/data-clone-strategy';
@@ -1967,6 +1968,11 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
return this._rowDrag && this.hasVisibleColumns;
}
+ public set rowDraggable(val: boolean) {
+ this._rowDrag = val;
+ this.notifyChanges(true);
+ }
+
/**
* Gets/Sets the trigger for validators used when editing the grid.
*
@@ -1978,12 +1984,6 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
@Input()
public validationTrigger: GridValidationTrigger = 'change';
-
- public set rowDraggable(val: boolean) {
- this._rowDrag = val;
- this.notifyChanges(true);
- }
-
/**
* @hidden
* @internal
@@ -2153,7 +2153,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
public set isLoading(value: boolean) {
if (this._isLoading !== value) {
this._isLoading = value;
- if (!!this.data) {
+ if (this.data) {
this.evaluateLoadingState();
}
}
@@ -5970,7 +5970,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
let selectedData;
if (event.type === 'copy') {
selectedData = this.getSelectedData(this.clipboardOptions.copyFormatters, this.clipboardOptions.copyHeaders);
- };
+ }
let data = [];
let result;
@@ -6455,7 +6455,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
}
}
- protected beginAddRowForIndex(index: number, asChild: boolean = false) {
+ protected beginAddRowForIndex(index: number, asChild = false) {
// TODO is row from rowList suitable for enterAddRowMode
const row = index == null ?
null : this.rowList.find(r => r.index === index);
@@ -6521,7 +6521,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
this.summaryService.clearSummaryCache();
this.pipeTrigger++;
this.notifyChanges();
- };
+ }
protected writeToData(rowIndex: number, value: any) {
mergeObjects(this.gridAPI.get_all_data()[rowIndex], value);
@@ -7243,7 +7243,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
if (this.selectionService.selection.size > 0) {
if (expansionRowIndexes.length > 0) {
for (const [key, value] of this.selectionService.selection.entries()) {
- let updatedKey = key;
+ const updatedKey = key;
let subtract = 0;
expansionRowIndexes.forEach((row) => {
if (updatedKey > Number(row)) {
diff --git a/projects/igniteui-angular/src/lib/grids/grid-common.module.ts b/projects/igniteui-angular/src/lib/grids/grid-common.module.ts
deleted file mode 100644
index 1d9fb144468..00000000000
--- a/projects/igniteui-angular/src/lib/grids/grid-common.module.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-import { NgModule } from '@angular/core';
-import { IgxGridCellComponent } from './cell.component';
-import { IgxGridFooterComponent } from './grid-footer/grid-footer.component';
-import {
- IgxGridBodyDirective
-} from './grid.common';
-import {
- IgxRowAddTextDirective,
- IgxRowEditTemplateDirective,
- IgxRowEditActionsDirective,
- IgxRowEditTextDirective,
- IgxRowEditTabStopDirective
-} from './grid.rowEdit.directive';
-import { IgxPaginatorModule } from '../paginator/public_api';
-import { IgxGridPipesModule } from './common/grid-pipes.module';
-import { IgxGridExcelStyleFilteringModule } from './filtering/excel-style/grid.excel-style-filtering.module';
-import { IgxRowDragModule } from './row-drag.directive';
-import { IgxAdvancedFilteringDialogComponent } from './filtering/advanced-filtering/advanced-filtering-dialog.component';
-import { IgxGridSelectionModule } from './selection/selection.module';
-import { IgxGridResizingModule } from './resizing/resize.module';
-import { IgxColumnMovingModule } from './moving/moving.module';
-import { IgxGridSharedModules } from './common/shared.module';
-import { IgxGridSummaryModule } from './summaries/summary.module';
-import { IgxGridToolbarModule } from './toolbar/toolbar.module';
-import { IgxColumnActionsModule } from './column-actions/column-actions.module';
-import { IgxGridColumnModule } from './columns/column.module';
-import { IgxGridHeadersModule } from './headers/headers.module';
-import { IgxGridFilteringModule } from './filtering/base/filtering.module';
-import { IgxRowDirective } from './row.directive';
-import {
- IgxExcelStyleHeaderIconDirective,
- IgxSortAscendingHeaderIconDirective,
- IgxSortDescendingHeaderIconDirective,
- IgxSortHeaderIconDirective,
- IgxGroupAreaDropDirective,
- IgxHeaderCollapseIndicatorDirective,
- IgxHeaderExpandIndicatorDirective,
- IgxRowCollapsedIndicatorDirective,
- IgxRowExpandedIndicatorDirective
-} from './grid/grid.directives';
-export * from './common/grid-pipes.module';
-import { IgxChipsModule } from '../chips/chips.module';
-import { IgxGroupByMetaPipe } from './grouping/group-by-area.directive';
-import { IgxQueryBuilderModule } from '../query-builder/query-builder.component';
-import { ReactiveFormsModule } from '@angular/forms';
-import { IgxTooltipModule } from '../directives/tooltip';
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [
- IgxRowDirective,
- IgxGridCellComponent,
- IgxRowAddTextDirective,
- IgxRowEditTemplateDirective,
- IgxRowEditActionsDirective,
- IgxRowEditTextDirective,
- IgxRowEditTabStopDirective,
- IgxGridBodyDirective,
- IgxGridFooterComponent,
- IgxAdvancedFilteringDialogComponent,
- IgxRowExpandedIndicatorDirective,
- IgxRowCollapsedIndicatorDirective,
- IgxHeaderExpandIndicatorDirective,
- IgxHeaderCollapseIndicatorDirective,
- IgxExcelStyleHeaderIconDirective,
- IgxSortAscendingHeaderIconDirective,
- IgxSortDescendingHeaderIconDirective,
- IgxSortHeaderIconDirective,
- IgxGroupAreaDropDirective,
- IgxGroupByMetaPipe
- ],
- exports: [
- IgxGridCellComponent,
- IgxRowAddTextDirective,
- IgxRowEditTemplateDirective,
- IgxRowEditActionsDirective,
- IgxRowEditTextDirective,
- IgxRowEditTabStopDirective,
- IgxGridBodyDirective,
- IgxColumnActionsModule,
- IgxGridColumnModule,
- IgxGridHeadersModule,
- IgxGridPipesModule,
- IgxGridFilteringModule,
- IgxGridExcelStyleFilteringModule,
- IgxRowDragModule,
- IgxPaginatorModule,
- IgxGridFooterComponent,
- IgxGridResizingModule,
- IgxColumnMovingModule,
- IgxGridSelectionModule,
- IgxGridSummaryModule,
- IgxGridToolbarModule,
- IgxAdvancedFilteringDialogComponent,
- IgxGridSharedModules,
- IgxRowExpandedIndicatorDirective,
- IgxRowCollapsedIndicatorDirective,
- IgxHeaderExpandIndicatorDirective,
- IgxHeaderCollapseIndicatorDirective,
- IgxExcelStyleHeaderIconDirective,
- IgxSortAscendingHeaderIconDirective,
- IgxSortDescendingHeaderIconDirective,
- IgxSortHeaderIconDirective,
- IgxGroupAreaDropDirective,
- IgxGroupByMetaPipe
- ],
- imports: [
- IgxGridColumnModule,
- IgxGridHeadersModule,
- IgxColumnMovingModule,
- IgxGridResizingModule,
- IgxGridSelectionModule,
- IgxGridSummaryModule,
- IgxGridToolbarModule,
- IgxColumnActionsModule,
- IgxGridPipesModule,
- IgxGridFilteringModule,
- IgxGridExcelStyleFilteringModule,
- IgxRowDragModule,
- IgxPaginatorModule,
- IgxGridSharedModules,
- IgxChipsModule,
- IgxQueryBuilderModule,
- IgxTooltipModule,
- ReactiveFormsModule
- ]
-})
-export class IgxGridCommonModule { }
diff --git a/projects/igniteui-angular/src/lib/grids/grid-footer/grid-footer.component.ts b/projects/igniteui-angular/src/lib/grids/grid-footer/grid-footer.component.ts
index 21f31745219..4e49030561c 100644
--- a/projects/igniteui-angular/src/lib/grids/grid-footer/grid-footer.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid-footer/grid-footer.component.ts
@@ -2,7 +2,8 @@ import { Component } from '@angular/core';
@Component({
selector: 'igx-grid-footer',
- template: ' '
+ template: ' ',
+ standalone: true
})
export class IgxGridFooterComponent {
}
diff --git a/projects/igniteui-angular/src/lib/grids/grid-public-cell.ts b/projects/igniteui-angular/src/lib/grids/grid-public-cell.ts
index 0d8dc200ad5..a9ca9d9a13c 100644
--- a/projects/igniteui-angular/src/lib/grids/grid-public-cell.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid-public-cell.ts
@@ -74,19 +74,6 @@ export class IgxGridCell implements CellType {
}
}
- /**
- * Gets the validation status and errors, if any.
- * ```typescript
- * let validation = this.cell.validation;
- * let errors = validation.errors;
- * ```
- */
-
- public get validation(): IGridValidationState {
- const form = this.grid.validation.getFormControl(this.row.key, this.column.field);
- return { status: form?.status as ValidationStatus || 'VALID', errors: form?.errors } as const;
- }
-
/**
* Sets the current edit value while a cell is in edit mode.
* Only for cell editing mode.
@@ -102,6 +89,19 @@ export class IgxGridCell implements CellType {
}
}
+ /**
+ * Gets the validation status and errors, if any.
+ * ```typescript
+ * let validation = this.cell.validation;
+ * let errors = validation.errors;
+ * ```
+ */
+
+ public get validation(): IGridValidationState {
+ const form = this.grid.validation.getFormControl(this.row.key, this.column.field);
+ return { status: form?.status as ValidationStatus || 'VALID', errors: form?.errors } as const;
+ }
+
/**
* Returns whether the cell is editable..
*
diff --git a/projects/igniteui-angular/src/lib/grids/grid.common.ts b/projects/igniteui-angular/src/lib/grids/grid.common.ts
index f46bc95d874..be30b3d87ea 100644
--- a/projects/igniteui-angular/src/lib/grids/grid.common.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid.common.ts
@@ -3,12 +3,12 @@ import { ConnectedPositioningStrategy } from '../services/public_api';
import { VerticalAlignment, PositionSettings, Point } from '../services/overlay/utilities';
import { scaleInVerBottom, scaleInVerTop } from '../animations/main';
import { IgxForOfSyncService } from '../directives/for-of/for_of.sync.service';
-import { ColumnPinningPosition, RowPinningPosition } from './common/enums';
@Directive({
selector: '[igxGridBody]',
- providers: [IgxForOfSyncService]
+ providers: [IgxForOfSyncService],
+ standalone: true
})
export class IgxGridBodyDirective {}
@@ -20,14 +20,6 @@ export interface RowEditPositionSettings extends PositionSettings {
container?: HTMLElement;
}
-/**
- * An interface describing settings for row/column pinning position.
- */
-export interface IPinningConfig {
- columns?: ColumnPinningPosition;
- rows?: RowPinningPosition;
-}
-
/**
* @hidden
*/
diff --git a/projects/igniteui-angular/src/lib/grids/grid.rowEdit.directive.ts b/projects/igniteui-angular/src/lib/grids/grid.rowEdit.directive.ts
index 6aeb2a731ea..f67b109e4b1 100644
--- a/projects/igniteui-angular/src/lib/grids/grid.rowEdit.directive.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid.rowEdit.directive.ts
@@ -3,53 +3,58 @@ import { GridType, IgxGridEmptyTemplateContext, IgxGridRowEditActionsTemplateCon
/** @hidden @internal */
@Directive({
- selector: '[igxRowEdit]'
+ selector: '[igxRowEdit]',
+ standalone: true
})
export class IgxRowEditTemplateDirective {
public static ngTemplateContextGuard(_directive: IgxRowEditTemplateDirective,
context: unknown): context is IgxGridRowEditTemplateContext {
return true;
- };
+ }
}
/** @hidden @internal */
@Directive({
- selector: '[igxRowEditText]'
+ selector: '[igxRowEditText]',
+ standalone: true
})
export class IgxRowEditTextDirective {
public static ngTemplateContextGuard(_directive: IgxRowEditTextDirective,
context: unknown): context is IgxGridRowEditTextTemplateContext {
return true;
- };
+ }
}
/** @hidden @internal */
@Directive({
- selector: '[igxRowAddText]'
+ selector: '[igxRowAddText]',
+ standalone: true
})
export class IgxRowAddTextDirective {
public static ngTemplateContextGuard(_directive: IgxRowAddTextDirective,
context: unknown): context is IgxGridEmptyTemplateContext {
return true;
- };
+ }
}
/** @hidden @internal */
@Directive({
- selector: '[igxRowEditActions]'
+ selector: '[igxRowEditActions]',
+ standalone: true
})
export class IgxRowEditActionsDirective {
public static ngTemplateContextGuard(_directive: IgxRowEditActionsDirective,
context: unknown): context is IgxGridRowEditActionsTemplateContext {
return true;
- };
+ }
}
// TODO: Refactor circular ref, deps and logic
/** @hidden @internal */
@Directive({
- selector: `[igxRowEditTabStop]`
+ selector: `[igxRowEditTabStop]`,
+ standalone: true
})
export class IgxRowEditTabStopDirective {
private currentCellIndex: number;
diff --git a/projects/igniteui-angular/src/lib/grids/grid/cell.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/cell.spec.ts
index 601081d8ac9..0c979595afa 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/cell.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/cell.spec.ts
@@ -1,7 +1,7 @@
import { Component, ViewChild, OnInit, NgZone, DebugElement } from '@angular/core';
import { TestBed, fakeAsync } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxColumnComponent, IgxGridComponent, IgxGridModule, IGridCellEventArgs } from './public_api';
+import { IgxGridComponent } from './public_api';
import { UIInteractions, wait } from '../../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
@@ -12,6 +12,8 @@ import { VirtualGridComponent, NoScrollsComponent,
import { GridFunctions } from '../../test-utils/grid-functions.spec';
import { TestNgZone } from '../../test-utils/helper-utils.spec';
import { CellType } from '../common/grid.interface';
+import { NgFor } from '@angular/common';
+import { IGridCellEventArgs, IgxColumnComponent } from '../public_api';
describe('IgxGrid - Cell component #grid', () => {
@@ -24,10 +26,7 @@ describe('IgxGrid - Cell component #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- NoScrollsComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule],
+ imports: [NoopAnimationsModule, NoScrollsComponent]
});
}));
@@ -160,11 +159,8 @@ describe('IgxGrid - Cell component #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- VirtualGridComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule],
- providers: [{ provide: NgZone, useFactory: () => new TestNgZone() }]
+ imports: [NoopAnimationsModule, VirtualGridComponent],
+ providers: [{ provide: NgZone, useFactory: () => new TestNgZone() }]
});
}));
@@ -276,10 +272,7 @@ describe('IgxGrid - Cell component #grid', () => {
describe('iOS tests', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- NoScrollsComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule],
+ imports: [NoopAnimationsModule, NoScrollsComponent]
});
}));
@@ -335,10 +328,7 @@ describe('IgxGrid - Cell component #grid', () => {
describe('No column widths', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- NoColumnWidthGridComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule]
+ imports: [NoopAnimationsModule, NoColumnWidthGridComponent]
});
}));
@@ -356,10 +346,7 @@ describe('IgxGrid - Cell component #grid', () => {
describe('Cells styles', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- ConditionalCellStyleTestComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule]
+ imports: [NoopAnimationsModule, ConditionalCellStyleTestComponent]
});
}));
@@ -389,10 +376,7 @@ describe('IgxGrid - Cell component #grid', () => {
describe('Cell properties', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxGridDateTimeColumnComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule]
+ imports: [NoopAnimationsModule, IgxGridDateTimeColumnComponent]
});
}));
@@ -435,6 +419,8 @@ describe('IgxGrid - Cell component #grid', () => {
`,
styleUrls: ['../../test-utils/grid-cell-style-testing.scss'],
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class ConditionalCellStyleTestComponent implements OnInit {
@ViewChild('grid', { static: true }) public grid: IgxGridComponent;
diff --git a/projects/igniteui-angular/src/lib/grids/grid/column-group.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/column-group.spec.ts
index 317078f8ad0..c30122c4901 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/column-group.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/column-group.spec.ts
@@ -1,5 +1,4 @@
import { TestBed, ComponentFixture, waitForAsync, fakeAsync, tick } from '@angular/core/testing';
-import { IgxGridModule } from './grid.module';
import { IgxGridComponent } from './grid.component';
import { DebugElement, QueryList } from '@angular/core';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
@@ -34,7 +33,8 @@ describe('IgxGrid - multi-column headers #grid', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
OneGroupOneColGridComponent,
OneGroupThreeColsGridComponent,
BlueWhaleGridComponent,
@@ -48,10 +48,6 @@ describe('IgxGrid - multi-column headers #grid', () => {
DynamicGridComponent,
NestedColGroupsWithTemplatesGridComponent,
DynamicColGroupsGridComponent
- ],
- imports: [
- NoopAnimationsModule,
- IgxGridModule
]
})
.compileComponents();
diff --git a/projects/igniteui-angular/src/lib/grids/grid/column-hiding.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/column-hiding.spec.ts
index 77bb3cbbcd0..cf8e1a00c68 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/column-hiding.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/column-hiding.spec.ts
@@ -2,7 +2,6 @@
import { DebugElement } from '@angular/core';
import { TestBed, fakeAsync, tick, ComponentFixture } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxGridModule } from './public_api';
import { IgxGridComponent } from './grid.component';
import { ColumnHidingTestComponent, ColumnGroupsHidingTestComponent } from '../../test-utils/grid-base-components.spec';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
@@ -15,7 +14,6 @@ import { SortingDirection } from '../../data-operations/sorting-strategy';
describe('Column Hiding UI #grid', () => {
-
let fix: ComponentFixture;
let grid: IgxGridComponent;
let columnChooser: IgxColumnActionsComponent;
@@ -27,13 +25,10 @@ describe('Column Hiding UI #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- ColumnHidingTestComponent,
- ColumnGroupsHidingTestComponent
- ],
imports: [
NoopAnimationsModule,
- IgxGridModule
+ ColumnHidingTestComponent,
+ ColumnGroupsHidingTestComponent
]
});
}));
@@ -528,7 +523,7 @@ describe('Column Hiding UI #grid', () => {
let fixEl = fix.nativeElement; let gridEl = grid.nativeElement;
let tHeadItems = fixEl.querySelector('igx-grid-header-group');
let gridRows = fixEl.querySelector('igx-grid-row');
- let paging = fixEl.querySelector('.igx-paginator');
+ const paging = fixEl.querySelector('.igx-paginator');
let rowSelectors = gridEl.querySelector('.igx-grid__cbx-padding > igx-checkbox');
let dragIndicators = gridEl.querySelector('.igx-grid__drag-indicator');
let verticalScrollBar = gridEl.querySelector('.igx-grid__tbody-scrollbar[hidden]');
diff --git a/projects/igniteui-angular/src/lib/grids/grid/column-moving.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/column-moving.spec.ts
index df42bd386b0..aa59c8bc603 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/column-moving.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/column-moving.spec.ts
@@ -3,7 +3,6 @@ import { TestBed, fakeAsync, tick } from '@angular/core/testing';
import { FormsModule } from '@angular/forms';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxGridModule } from './public_api';
import { IgxColumnGroupComponent } from '../columns/column-group.component';
import { IgxInputDirective } from '../../directives/input/input.directive';
import {
@@ -16,8 +15,8 @@ import { UIInteractions, wait } from '../../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { IgxGridComponent } from './grid.component';
import { GridSelectionFunctions, GridFunctions } from '../../test-utils/grid-functions.spec';
-import { IgxColumnComponent } from '../tree-grid/public_api';
import { SortingDirection } from '../../data-operations/sorting-strategy';
+import { IgxColumnComponent } from '../public_api';
describe('IgxGrid - Column Moving #grid', () => {
const CELL_CSS_CLASS = '.igx-grid__td';
@@ -28,16 +27,13 @@ describe('IgxGrid - Column Moving #grid', () => {
let fixture; let grid: IgxGridComponent;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ FormsModule,
+ NoopAnimationsModule,
MovableColumnsComponent,
MovableTemplatedColumnsComponent,
MovableColumnsLargeComponent,
MultiColumnHeadersComponent
- ],
- imports: [
- FormsModule,
- NoopAnimationsModule,
- IgxGridModule
]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/column-pinning.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/column-pinning.spec.ts
index 41cf69e7d6c..f710cf93840 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/column-pinning.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/column-pinning.spec.ts
@@ -3,7 +3,6 @@ import { DebugElement } from '@angular/core';
import { TestBed, waitForAsync, ComponentFixture } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxGridComponent } from './grid.component';
-import { IgxGridModule } from './public_api';
import {
ColumnPinningTestComponent,
ColumnGroupsPinningTestComponent,
@@ -28,14 +27,11 @@ describe('Column Pinning UI #grid', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
ColumnPinningTestComponent,
ColumnGroupsPinningTestComponent,
ColumnPinningWithTemplateTestComponent
- ],
- imports: [
- NoopAnimationsModule,
- IgxGridModule
]
}).compileComponents();
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/column-resizing.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/column-resizing.spec.ts
index 1e637f9fa33..ea48663b24f 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/column-resizing.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/column-resizing.spec.ts
@@ -2,16 +2,18 @@ import { Component, DebugElement, OnInit, ViewChild } from '@angular/core';
import { TestBed, fakeAsync, tick, ComponentFixture } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxAvatarModule } from '../../avatar/avatar.component';
import { Calendar } from '../../calendar/public_api';
import { IgxGridComponent } from './grid.component';
-import { IgxGridModule, IColumnResizeEventArgs } from './public_api';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
import { GridTemplateStrings, ColumnDefinitions } from '../../test-utils/template-strings.spec';
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
import { MultiColumnHeadersComponent } from '../../test-utils/grid-samples.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { GridFunctions } from '../../test-utils/grid-functions.spec';
+import { IgxCellHeaderTemplateDirective, IgxCellTemplateDirective } from '../columns/templates.directive';
+import { NgFor } from '@angular/common';
+import { IgxAvatarComponent } from '../../avatar/avatar.component';
+import { IColumnResizeEventArgs, IgxColumnComponent } from '../public_api';
describe('IgxGrid - Deferred Column Resizing #grid', () => {
@@ -19,19 +21,15 @@ describe('IgxGrid - Deferred Column Resizing #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ MultiColumnHeadersComponent,
+ NoopAnimationsModule,
ResizableColumnsComponent,
GridFeaturesComponent,
LargePinnedColGridComponent,
NullColumnsComponent,
- MultiColumnHeadersComponent,
ColGridComponent,
ColPercentageGridComponent
- ],
- imports: [
- IgxAvatarModule,
- NoopAnimationsModule,
- IgxGridModule
]
});
}));
@@ -870,7 +868,9 @@ describe('IgxGrid - Deferred Column Resizing #grid', () => {
});
@Component({
- template: GridTemplateStrings.declareGrid(`width="500px" height="300px"`, ``, ColumnDefinitions.resizableThreeOfFour)
+ template: GridTemplateStrings.declareGrid(`width="500px" height="300px"`, ``, ColumnDefinitions.resizableThreeOfFour),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class ResizableColumnsComponent {
@ViewChild(IgxGridComponent, { static: true }) public grid: IgxGridComponent;
@@ -879,8 +879,7 @@ export class ResizableColumnsComponent {
}
@Component({
- template: GridTemplateStrings.declareGrid(`width="618px" height="600px"`, ``,
- `
+ template: GridTemplateStrings.declareGrid(`width="618px" height="600px"`, ``, `
@@ -892,8 +891,9 @@ export class ResizableColumnsComponent {
- `
- )
+ `),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective]
})
export class LargePinnedColGridComponent implements OnInit {
@ViewChild(IgxGridComponent, { static: true }) public grid: IgxGridComponent;
@@ -913,7 +913,9 @@ export class LargePinnedColGridComponent implements OnInit {
}
@Component({
- template: GridTemplateStrings.declareGrid(``, ``, ColumnDefinitions.gridFeatures)
+ template: GridTemplateStrings.declareGrid(``, ``, ColumnDefinitions.gridFeatures),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective, IgxCellHeaderTemplateDirective, IgxAvatarComponent]
})
export class GridFeaturesComponent {
@ViewChild(IgxGridComponent, { static: true }) public grid: IgxGridComponent;
@@ -925,7 +927,9 @@ export class GridFeaturesComponent {
}
@Component({
- template: GridTemplateStrings.declareGrid(`height="800px"`, ``, ColumnDefinitions.resizableColsComponent)
+ template: GridTemplateStrings.declareGrid(`height="800px"`, ``, ColumnDefinitions.resizableColsComponent),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class NullColumnsComponent implements OnInit {
@ViewChild(IgxGridComponent, { static: true }) public grid: IgxGridComponent;
@@ -952,14 +956,14 @@ export class NullColumnsComponent implements OnInit {
}
@Component({
- template: GridTemplateStrings.declareGrid(`width="400px" height="600px" [allowFiltering]="true"`, ``,
- `
+ template: GridTemplateStrings.declareGrid(`width="400px" height="600px" [allowFiltering]="true"`, ``, `
- `
- )
+ `),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class ColGridComponent implements OnInit {
@ViewChild(IgxGridComponent, { static: true }) public grid: IgxGridComponent;
@@ -972,12 +976,12 @@ export class ColGridComponent implements OnInit {
}
@Component({
- template: GridTemplateStrings.declareGrid(`width="400px" height="600px" [allowFiltering]="true"`, ``,
- `
+ template: GridTemplateStrings.declareGrid(`width="400px" height="600px" [allowFiltering]="true"`, ``, `
- `
- )
+ `),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class ColPercentageGridComponent implements OnInit {
@ViewChild(IgxGridComponent, { static: true }) public grid: IgxGridComponent;
diff --git a/projects/igniteui-angular/src/lib/grids/grid/column-selection.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/column-selection.spec.ts
index 1143b7843ae..e8ad627d92a 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/column-selection.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/column-selection.spec.ts
@@ -1,6 +1,5 @@
import { TestBed, ComponentFixture, fakeAsync, tick } from '@angular/core/testing';
import { configureTestSuite } from '../../test-utils/configure-suite';
-import { IgxGridModule } from './grid.module';
import { IgxGridComponent } from './grid.component';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { ProductsComponent, ColumnSelectionGroupTestComponent } from '../../test-utils/grid-samples.spec';
@@ -34,11 +33,7 @@ describe('IgxGrid - Column Selection #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- ProductsComponent,
- ColumnSelectionGroupTestComponent
- ],
- imports: [IgxGridModule, NoopAnimationsModule]
+ imports: [ProductsComponent, ColumnSelectionGroupTestComponent, NoopAnimationsModule]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/column.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/column.spec.ts
index ff06ad3d60e..ae893fa3219 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/column.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/column.spec.ts
@@ -2,7 +2,6 @@ import { Component, DebugElement, TemplateRef, ViewChild } from '@angular/core';
import { TestBed, fakeAsync, tick, waitForAsync, ComponentFixture } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { IgxGridComponent } from './grid.component';
-import { IgxGridModule } from './public_api';
import { GridTemplateStrings, ColumnDefinitions } from '../../test-utils/template-strings.spec';
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
import {
@@ -18,11 +17,14 @@ import { configureTestSuite } from '../../test-utils/configure-suite';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxStringFilteringOperand } from '../../data-operations/filtering-condition';
import { UIInteractions, wait } from '../../test-utils/ui-interactions.spec';
-import { getLocaleCurrencySymbol } from '@angular/common';
+import { getLocaleCurrencySymbol, NgFor } from '@angular/common';
import { GridFunctions, GridSummaryFunctions } from '../../test-utils/grid-functions.spec';
import { IgxDateTimeEditorDirective } from '../../directives/date-time-editor/date-time-editor.directive';
import { SortingDirection } from '../../data-operations/sorting-strategy';
import { GridColumnDataType } from '../../data-operations/data-util';
+import { IgxColumnComponent } from '../public_api';
+import { IgxButtonDirective } from '../../directives/button/button.directive';
+import { IgxCellFooterTemplateDirective, IgxCellHeaderTemplateDirective, IgxCellTemplateDirective, IgxSummaryTemplateDirective } from '../columns/templates.directive';
describe('IgxGrid - Column properties #grid', () => {
@@ -31,22 +33,22 @@ describe('IgxGrid - Column properties #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- ColumnsFromIterableComponent,
- TemplatedColumnsComponent,
- TemplatedInputColumnsComponent,
- TemplatedContextInputColumnsComponent,
+ imports: [
ColumnCellFormatterComponent,
- ColumnHaederClassesComponent,
ColumnHiddenFromMarkupComponent,
DynamicColumnsComponent,
GridAddColumnComponent,
IgxGridCurrencyColumnComponent,
IgxGridPercentColumnComponent,
IgxGridDateTimeColumnComponent,
+ NoopAnimationsModule,
+ ColumnsFromIterableComponent,
+ TemplatedColumnsComponent,
+ TemplatedInputColumnsComponent,
+ TemplatedContextInputColumnsComponent,
+ ColumnHaederClassesComponent,
ResizableColumnsComponent
- ],
- imports: [IgxGridModule, NoopAnimationsModule]
+ ]
});
}));
@@ -1153,7 +1155,7 @@ describe('IgxGrid - Column properties #grid', () => {
describe('Data type image column tests', () => {
let fix: ComponentFixture;
let grid: IgxGridComponent;
- let dataWithImages = [{
+ const dataWithImages = [{
avatar: 'assets/images/avatar/1.jpg',
phone: '770-504-2217',
text: 'Terrance Orta',
@@ -1201,7 +1203,7 @@ describe('IgxGrid - Column properties #grid', () => {
}));
it('should initialize correctly with autoGenerate and image data', () => {
- let column = grid.getColumnByName('avatar');
+ const column = grid.getColumnByName('avatar');
expect(column.dataType).toBe(GridColumnDataType.Image);
expect(column.sortable).toBeFalse();
expect(column.groupable).toBeFalse();
@@ -1209,7 +1211,7 @@ describe('IgxGrid - Column properties #grid', () => {
expect(column.editable).toBeFalse();
expect(column.hasSummary).toBeFalse();
- let cell = column._cells[0];
+ const cell = column._cells[0];
expect(cell.nativeElement.firstElementChild.tagName).toBe('IMG');
expect(cell.nativeElement.firstElementChild.getAttribute('src')).toBe('assets/images/avatar/1.jpg');
expect(cell.nativeElement.firstElementChild.getAttribute('alt')).toBe('1');
@@ -1402,7 +1404,9 @@ describe('IgxGrid - Column properties #grid', () => {
});
@Component({
- template: GridTemplateStrings.declareGrid('', '', ColumnDefinitions.iterableComponent)
+ template: GridTemplateStrings.declareGrid('', '', ColumnDefinitions.iterableComponent),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class ColumnsFromIterableComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1423,11 +1427,13 @@ interface IColumnConfig {
@Component({
template: GridTemplateStrings.declareGrid(`height="800px" width="400px"`, ``, ColumnDefinitions.resizableColsComponent) +
- `
+ `
{{value}}
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor, IgxButtonDirective]
})
export class ResizableColumnsComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1455,7 +1461,9 @@ export class ResizableColumnsComponent {
New summary text
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective, IgxCellHeaderTemplateDirective, IgxCellFooterTemplateDirective, IgxSummaryTemplateDirective]
})
export class TemplatedColumnsComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1497,7 +1505,9 @@ export class TemplatedColumnsComponent {
{{ summaryResults[0].label }}: {{ summaryResults[0].summaryResult }}
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor, IgxSummaryTemplateDirective]
})
export class TemplatedInputColumnsComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1522,7 +1532,9 @@ export class TemplatedInputColumnsComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective]
})
export class TemplatedContextInputColumnsComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1545,7 +1557,9 @@ export class TemplatedContextInputColumnsComponent {
`,
- styles: [`.headerAlignSyle {text-align: right !important;}`]
+ styles: [`.headerAlignSyle {text-align: right !important;}`],
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class ColumnHaederClassesComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts b/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts
index 51e5ad251b3..782b8b7133a 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts
@@ -12,17 +12,35 @@ import {
} from '@angular/core';
import { IgxGridCellComponent } from '../cell.component';
import { PlatformUtil } from '../../core/utils';
-import { DOCUMENT } from '@angular/common';
+import { DOCUMENT, NgIf, NgClass, NgTemplateOutlet, DecimalPipe, PercentPipe, CurrencyPipe, DatePipe } from '@angular/common';
import { IgxGridSelectionService } from '../selection/selection.service';
import { HammerGesturesManager } from '../../core/touch';
import { GridType, IGX_GRID_BASE } from '../common/grid.interface';
import { IgxOverlayService } from '../../services/public_api';
+import { IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe } from '../common/pipes';
+import { IgxTooltipDirective } from '../../directives/tooltip/tooltip.directive';
+import { IgxTooltipTargetDirective } from '../../directives/tooltip/tooltip-target.directive';
+import { IgxSuffixDirective } from '../../directives/suffix/suffix.directive';
+import { IgxPrefixDirective } from '../../directives/prefix/prefix.directive';
+import { IgxDateTimeEditorDirective } from '../../directives/date-time-editor/date-time-editor.directive';
+import { IgxTimePickerComponent } from '../../time-picker/time-picker.component';
+import { IgxDatePickerComponent } from '../../date-picker/date-picker.component';
+import { IgxCheckboxComponent } from '../../checkbox/checkbox.component';
+import { IgxFocusDirective } from '../../directives/focus/focus.directive';
+import { IgxInputDirective } from '../../directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../input-group/input-group.component';
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { IgxTextHighlightDirective } from '../../directives/text-highlight/text-highlight.directive';
+import { IgxChipComponent } from '../../chips/chip.component';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'igx-expandable-grid-cell',
templateUrl: 'expandable-cell.component.html',
- providers: [HammerGesturesManager]
+ providers: [HammerGesturesManager],
+ standalone: true,
+ imports: [NgIf, IgxChipComponent, IgxTextHighlightDirective, IgxIconComponent, NgClass, FormsModule, ReactiveFormsModule, IgxInputGroupComponent, IgxInputDirective, IgxFocusDirective, IgxCheckboxComponent, IgxDatePickerComponent, IgxTimePickerComponent, IgxDateTimeEditorDirective, IgxPrefixDirective, IgxSuffixDirective, NgTemplateOutlet, IgxTooltipTargetDirective, IgxTooltipDirective, IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe, DecimalPipe, PercentPipe, CurrencyPipe, DatePipe]
})
export class IgxGridExpandableCellComponent extends IgxGridCellComponent implements OnInit {
/**
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-add-row.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-add-row.spec.ts
index f25d73d829c..00d47b7d39d 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-add-row.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-add-row.spec.ts
@@ -1,4 +1,4 @@
-import { IgxGridModule, IgxGridComponent } from './public_api';
+import { IgxGridComponent } from './public_api';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { TestBed, fakeAsync, tick } from '@angular/core/testing';
import { configureTestSuite } from '../../test-utils/configure-suite';
@@ -10,7 +10,6 @@ import {
import { By } from '@angular/platform-browser';
import { IgxActionStripComponent } from '../../action-strip/action-strip.component';
-import { IgxActionStripModule } from '../../action-strip/action-strip.module';
import { DefaultGridMasterDetailComponent } from './grid.master-detail.spec';
import { ColumnLayoutTestComponent } from './grid.multi-row-layout.spec';
import { UIInteractions, wait } from '../../test-utils/ui-interactions.spec';
@@ -41,17 +40,14 @@ describe('IgxGrid - Row Adding #grid', () => {
};
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxAddRowComponent,
- ColumnLayoutTestComponent,
- DefaultGridMasterDetailComponent,
- IgxGridRowEditingTransactionComponent,
- IgxGridRowEditingDefinedColumnsComponent
- ],
imports: [
NoopAnimationsModule,
- IgxActionStripModule,
- IgxGridModule]
+ IgxAddRowComponent,
+ IgxGridRowEditingTransactionComponent,
+ IgxGridRowEditingDefinedColumnsComponent,
+ ColumnLayoutTestComponent,
+ DefaultGridMasterDetailComponent
+ ]
});
}));
@@ -1116,7 +1112,7 @@ describe('IgxGrid - Row Adding #grid', () => {
fixture.detectChanges();
endTransition();
- let cellElem = grid.gridAPI.get_cell_by_index(10, 'ProductName');
+ const cellElem = grid.gridAPI.get_cell_by_index(10, 'ProductName');
UIInteractions.simulateDoubleClickAndSelectEvent(cellElem);
fixture.detectChanges();
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-cell-editing.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-cell-editing.spec.ts
index e750bae8253..787d5867677 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-cell-editing.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-cell-editing.spec.ts
@@ -1,7 +1,7 @@
import { TestBed, fakeAsync, tick } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxColumnComponent, IgxGridComponent, IgxGridModule, IGridEditEventArgs, IGridEditDoneEventArgs } from './public_api';
+import { IgxGridComponent } from './public_api';
import { UIInteractions, wait } from '../../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { IgxStringFilteringOperand } from '../../data-operations/filtering-condition';
@@ -15,6 +15,7 @@ import { DebugElement } from '@angular/core';
import { takeUntil } from 'rxjs/operators';
import { Subject } from 'rxjs';
import { SortingDirection } from '../../data-operations/sorting-strategy';
+import { IGridEditDoneEventArgs, IGridEditEventArgs, IgxColumnComponent } from '../public_api';
const DEBOUNCETIME = 30;
const CELL_CSS_CLASS = '.igx-grid__td';
@@ -25,13 +26,13 @@ const EDITED_CELL_CSS_CLASS = 'igx-grid__td--edited';
describe('IgxGrid - Cell Editing #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
CellEditingTestComponent,
CellEditingScrollTestComponent,
ColumnEditablePropertyTestComponent,
SelectionWithTransactionsComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule]
+ ]
});
}));
@@ -309,12 +310,12 @@ describe('IgxGrid - Cell Editing #grid', () => {
expect(cell.editMode).toBe(false);
});
-
+
it('should focus the first cell when editing mode is cell', fakeAsync(() => {
const cell = grid.gridAPI.get_cell_by_index(0, 'fullName');
expect(cell.editMode).toBe(false);
expect(document.activeElement.nodeName).toEqual('BODY')
-
+
// Enter cell edit mode
UIInteractions.simulateDoubleClickAndSelectEvent(cell);
fixture.detectChanges();
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-cell-selection.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-cell-selection.spec.ts
index 5a679386582..1f234f41101 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-cell-selection.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-cell-selection.spec.ts
@@ -1,6 +1,6 @@
import { TestBed, fakeAsync, tick, ComponentFixture } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxGridModule, IgxGridComponent } from './public_api';
+import { IgxGridComponent } from './public_api';
import { configureTestSuite } from '../../test-utils/configure-suite';
import {
SelectionWithScrollsComponent,
@@ -22,13 +22,13 @@ import { IgxGridGroupByRowComponent } from './groupby-row.component';
describe('IgxGrid - Cell selection #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
SelectionWithScrollsComponent,
SelectionWithTransactionsComponent,
CellSelectionNoneComponent,
CellSelectionSingleComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule]
+ ]
});
}));
@@ -239,13 +239,13 @@ describe('IgxGrid - Cell selection #grid', () => {
fix.detectChanges();
expect(grid.selectedCells.length).toBe(0);
-
+
grid.navigation.lastActiveNode = grid.navigation.activeNode;
grid.navigation.activeNode = null;
fix.detectChanges();
grid.tbody.nativeElement.focus();
fix.detectChanges();
-
+
UIInteractions.simulateClickAndSelectEvent(secondCell, false, true);
fix.detectChanges();
GridSelectionFunctions.verifyCellSelected(firstCell, false);
@@ -925,7 +925,7 @@ describe('IgxGrid - Cell selection #grid', () => {
});
it('Should not throw an error when trying to do a drag selection that is started outside the grid', fakeAsync(() => {
- let cell = grid.gridAPI.get_cell_by_index(1, 'ParentID');
+ const cell = grid.gridAPI.get_cell_by_index(1, 'ParentID');
UIInteractions.simulatePointerOverElementEvent('pointerdown', document.body);
tick();
@@ -2177,8 +2177,7 @@ describe('IgxGrid - Cell selection #grid', () => {
grid.dataRowList.first.virtDirRow.scrollTo(2);
await wait(100);
fix.detectChanges();
- await GridSelectionFunctions.selectCellsRange
- (fix, grid.gridAPI.get_cell_by_index(2, 'Age'), grid.gridAPI.get_cell_by_index(4, 'Name'));
+ await GridSelectionFunctions.selectCellsRange(fix, grid.gridAPI.get_cell_by_index(2, 'Age'), grid.gridAPI.get_cell_by_index(4, 'Name'));
detect();
const selectedData = [
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-clipboard.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-clipboard.spec.ts
index 9b7c112617e..b87d90fe43a 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-clipboard.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-clipboard.spec.ts
@@ -1,9 +1,7 @@
import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import {
- IgxGridModule, IgxGridComponent
-} from './public_api';
+import { IgxGridComponent } from './public_api';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { IgxGridClipboardComponent } from '../../test-utils/grid-samples.spec';
import { CancelableEventArgs } from '../../core/utils';
@@ -18,10 +16,7 @@ describe('IgxGrid - Clipboard #grid', () => {
let grid: IgxGridComponent;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxGridClipboardComponent
- ],
- imports: [IgxGridModule, NoopAnimationsModule]
+ imports: [IgxGridClipboardComponent, NoopAnimationsModule]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-collapsible-columns.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-collapsible-columns.spec.ts
index 295a0ebf0f2..d4777b1de74 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-collapsible-columns.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-collapsible-columns.spec.ts
@@ -1,5 +1,4 @@
import { TestBed, fakeAsync, tick } from '@angular/core/testing';
-import { IgxGridModule } from './grid.module';
import { IgxGridComponent } from './grid.component';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { configureTestSuite } from '../../test-utils/configure-suite';
@@ -27,14 +26,11 @@ describe('IgxGrid - multi-column headers #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
CollapsibleColumnGroupTestComponent,
CollapsibleGroupsTemplatesTestComponent,
CollapsibleGroupsDynamicColComponent
- ],
- imports: [
- NoopAnimationsModule,
- IgxGridModule
]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-advanced.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-advanced.spec.ts
index c945a99fd1e..76a509291c4 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-advanced.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-advanced.spec.ts
@@ -1,7 +1,6 @@
import { fakeAsync, TestBed, tick, flush, ComponentFixture } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxGridComponent } from './grid.component';
-import { IgxGridModule } from './public_api';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
import {
@@ -20,7 +19,7 @@ import {
import { ControlsFunction } from '../../test-utils/controls-functions.spec';
import { FormattedValuesFilteringStrategy } from '../../data-operations/filtering-strategy';
import { IgxHierGridExternalAdvancedFilteringComponent } from '../../test-utils/hierarchical-grid-components.spec';
-import { IgxHierarchicalGridModule, IgxHierarchicalGridComponent } from '../hierarchical-grid/public_api';
+import { IgxHierarchicalGridComponent } from '../hierarchical-grid/public_api';
const ADVANCED_FILTERING_OPERATOR_LINE_AND_CSS_CLASS = 'igx-filter-tree__line--and';
const ADVANCED_FILTERING_OPERATOR_LINE_OR_CSS_CLASS = 'igx-filter-tree__line--or';
@@ -33,17 +32,14 @@ const CHIP_SELECT_HIDDEN_CLASS = '.igx-chip__select--hidden';
describe('IgxGrid - Advanced Filtering #grid - ', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxGridAdvancedFilteringColumnGroupComponent,
IgxGridAdvancedFilteringComponent,
IgxGridExternalAdvancedFilteringComponent,
IgxGridAdvancedFilteringBindingComponent,
IgxHierGridExternalAdvancedFilteringComponent
- ],
- imports: [
- NoopAnimationsModule,
- IgxGridModule,
- IgxHierarchicalGridModule]
+ ]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
index 7f0337f7474..d8f47352ec4 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
@@ -4,7 +4,6 @@ import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxInputDirective } from '../../directives/input/input.directive';
import { IgxGridComponent } from './grid.component';
-import { IgxGridModule } from './public_api';
import { UIInteractions, wait } from '../../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
import {
@@ -28,7 +27,6 @@ import { DatePipe } from '@angular/common';
import { FilteringExpressionsTree, IFilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
import { FilteringLogic, IFilteringExpression } from '../../data-operations/filtering-expression.interface';
import { IgxChipComponent } from '../../chips/chip.component';
-import { IgxGridExcelStyleFilteringModule } from '../filtering/excel-style/grid.excel-style-filtering.module';
import { DisplayDensity } from '../../core/density';
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
import {
@@ -60,17 +58,13 @@ const GRID_RESIZE_CLASS = '.igx-grid-th__resize-line';
describe('IgxGrid - Filtering Row UI actions #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxGridFilteringComponent,
IgxGridFilteringScrollComponent,
IgxGridFilteringMCHComponent,
IgxGridFilteringTemplateComponent,
IgxGridDatesFilteringComponent
- ],
- imports: [
- NoopAnimationsModule,
- IgxGridModule,
- IgxGridExcelStyleFilteringModule
]
});
}));
@@ -1702,7 +1696,7 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => {
expect(document.activeElement).toEqual(header.nativeElement);
}));
- it('Should update active element when click \'clear\' button of last chip and there is no \`more\` icon.', fakeAsync(() => {
+ it('Should update active element when click \'clear\' button of last chip and there is no \'more\' icon.', fakeAsync(() => {
pending('This this is not valid anymore, so we should probably dellete it.');
grid.getColumnByName('ProductName').width = '350px';
tick(DEBOUNCETIME);
@@ -1817,7 +1811,7 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => {
expect(() => {
filterUIRow.componentInstance.onChipRemoved(null, chipToRemove);
})
- .not.toThrowError(/\'id\' of undefined/);
+ .not.toThrowError(/'id' of undefined/);
fix.detectChanges();
await wait(500);
fix.detectChanges();
@@ -1826,7 +1820,7 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => {
expect(() => {
filterUIRow.componentInstance.onChipRemoved(null, chipToRemove);
})
- .not.toThrowError(/\'id\' of undefined/);
+ .not.toThrowError(/'id' of undefined/);
fix.detectChanges();
await wait(100);
}));
@@ -2655,23 +2649,23 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => {
it('Should render custom filter template instead of default one.', fakeAsync(() => {
// Verify default filter template is not present.
expect(GridFunctions.getFilterCell(fix, 'ProductName').query(By.css('.igx-filtering-chips'))).toBeNull(
- '\`ProductName\` default filter chips area template was found.');
+ '\'ProductName\' default filter chips area template was found.');
expect(GridFunctions.getFilterCell(fix, 'Downloads').query(By.css('.igx-filtering-chips'))).toBeNull(
- '\`Downloads\` default filter chips area template was found.');
+ '\'Downloads\' default filter chips area template was found.');
expect(GridFunctions.getFilterCell(fix, 'Released').query(By.css('.igx-filtering-chips'))).toBeNull(
- '\`Released\` default filter chips area template was found.');
+ '\'Released\' default filter chips area template was found.');
expect(GridFunctions.getFilterCell(fix, 'ReleaseDate').query(By.css('.igx-filtering-chips'))).toBeNull(
- '\`ReleaseDate\` default filter chips area template was found.');
+ '\'ReleaseDate\' default filter chips area template was found.');
// Verify the custom filter template is present.
expect(GridFunctions.getFilterCell(fix, 'ProductName').query(By.css('.custom-filter'))).not.toBeNull(
- '\`ProductName\` customer filter template was not found.');
+ '\'ProductName\' customer filter template was not found.');
expect(GridFunctions.getFilterCell(fix, 'Downloads').query(By.css('.custom-filter'))).not.toBeNull(
- '\`Downloads\` customer filter template was not found.');
+ '\'Downloads\' customer filter template was not found.');
expect(GridFunctions.getFilterCell(fix, 'Released').query(By.css('.custom-filter'))).not.toBeNull(
- '\`Released\` customer filter template was not found.');
+ '\'Released\' customer filter template was not found.');
expect(GridFunctions.getFilterCell(fix, 'ReleaseDate').query(By.css('.custom-filter'))).not.toBeNull(
- '\`ReleaseDate\` customer filter template was not found.');
+ '\'ReleaseDate\' customer filter template was not found.');
}));
it('Should close default filter template when clicking on a column with custom one.', fakeAsync(() => {
@@ -3007,7 +3001,8 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => {
describe('IgxGrid - Filtering actions - Excel style filtering #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxGridFilteringComponent,
IgxGridFilteringESFEmptyTemplatesComponent,
IgxGridFilteringESFTemplatesComponent,
@@ -3015,11 +3010,7 @@ describe('IgxGrid - Filtering actions - Excel style filtering #grid', () => {
IgxGridFilteringMCHComponent,
IgxGridExternalESFComponent,
IgxGridExternalESFTemplateComponent
- ],
- imports: [
- NoopAnimationsModule,
- IgxGridModule,
- IgxGridExcelStyleFilteringModule]
+ ]
});
}));
@@ -5277,7 +5268,7 @@ describe('IgxGrid - Filtering actions - Excel style filtering #grid', () => {
expect(listItems.length).toBe(0, 'incorrect rendered list items count');
}));
- it('Should ignore duplicate records when column\'\s filteringIgnoreCase is true', fakeAsync(() => {
+ it('Should ignore duplicate records when column\'s filteringIgnoreCase is true', fakeAsync(() => {
const column = grid.getColumnByName('AnotherField');
expect(column.filteringIgnoreCase).toBeTrue();
@@ -5290,7 +5281,7 @@ describe('IgxGrid - Filtering actions - Excel style filtering #grid', () => {
[true, true, true]);
}));
- it('Should not ignore duplicate records when column\'\s filteringIgnoreCase is false', fakeAsync(() => {
+ it('Should not ignore duplicate records when column\'s filteringIgnoreCase is false', fakeAsync(() => {
const column = grid.getColumnByName('AnotherField');
column.filteringIgnoreCase = false;
expect(column.filteringIgnoreCase).toBeFalse();
@@ -6235,7 +6226,7 @@ describe('IgxGrid - Filtering actions - Excel style filtering #grid', () => {
expect(() => {
GridFunctions.clickExcelFilterIcon(fix, 'Downloads');
tick(2000);
- }).not.toThrowError(/\'dataType\' of null/);
+ }).not.toThrowError(/'dataType' of null/);
}));
});
@@ -6395,12 +6386,10 @@ describe('IgxGrid - Custom Filtering Strategy #grid', () => {
let grid: IgxGridComponent;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- CustomFilteringStrategyComponent
- ],
imports: [
NoopAnimationsModule,
- IgxGridModule]
+ CustomFilteringStrategyComponent
+ ]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering.spec.ts
index 50f593263a6..fdd9c9e2495 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering.spec.ts
@@ -3,7 +3,6 @@ import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { FilteringLogic, IFilteringExpression } from '../../data-operations/filtering-expression.interface';
import { IgxGridComponent } from './grid.component';
-import { IgxGridModule } from './public_api';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { IgxChipComponent } from '../../chips/public_api';
import {
@@ -24,12 +23,9 @@ import { ExpressionUI } from '../filtering/excel-style/common';
describe('IgxGrid - Filtering actions #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxGridFilteringComponent
- ],
imports: [
- NoopAnimationsModule,
- IgxGridModule]
+ IgxGridFilteringComponent, NoopAnimationsModule
+ ]
});
}));
@@ -1152,12 +1148,10 @@ describe('IgxGrid - Filtering actions #grid', () => {
describe('IgxGrid - Filtering expression tree bindings #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxGridFilteringBindingComponent
- ],
imports: [
NoopAnimationsModule,
- IgxGridModule]
+ IgxGridFilteringBindingComponent
+ ]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-keyBoardNav-headers.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-keyBoardNav-headers.spec.ts
index 8d130b54f96..a78181b71ee 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-keyBoardNav-headers.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-keyBoardNav-headers.spec.ts
@@ -1,8 +1,6 @@
import { TestBed, fakeAsync, tick } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import {
- IgxGridModule
-} from './public_api';
+
import { IgxGridComponent } from './grid.component';
import { UIInteractions, wait } from '../../test-utils/ui-interactions.spec';
import { clearGridSubs, setupGridScrollDetection } from '../../test-utils/helper-utils.spec';
@@ -28,10 +26,7 @@ describe('IgxGrid - Headers Keyboard navigation #grid', () => {
let gridHeader: IgxGridHeaderRowComponent;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- SelectionWithScrollsComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule],
+ imports: [SelectionWithScrollsComponent, NoopAnimationsModule]
});
}));
@@ -734,10 +729,7 @@ describe('IgxGrid - Headers Keyboard navigation #grid', () => {
let gridHeader: IgxGridHeaderRowComponent;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- MRLTestComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule],
+ imports: [MRLTestComponent, NoopAnimationsModule]
});
}));
@@ -939,10 +931,7 @@ describe('IgxGrid - Headers Keyboard navigation #grid', () => {
let gridHeader: IgxGridHeaderRowComponent;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- ColumnGroupsNavigationTestComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule],
+ imports: [ColumnGroupsNavigationTestComponent, NoopAnimationsModule]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-keyBoardNav.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-keyBoardNav.spec.ts
index 7fb264217b2..6289fd1901d 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-keyBoardNav.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-keyBoardNav.spec.ts
@@ -1,6 +1,5 @@
import { TestBed } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxGridModule } from './public_api';
import { IgxGridComponent } from './grid.component';
import { IGridCellEventArgs, IActiveNodeChangeEventArgs } from '../common/events';
import { DefaultSortingStrategy, SortingDirection } from '../../data-operations/sorting-strategy';
@@ -28,10 +27,7 @@ describe('IgxGrid - Keyboard navigation #grid', () => {
let gridContent: DebugElement;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- NoScrollsComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule],
+ imports: [NoScrollsComponent, NoopAnimationsModule]
});
}));
@@ -212,10 +208,7 @@ describe('IgxGrid - Keyboard navigation #grid', () => {
let gridContent: DebugElement;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- VirtualGridComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule],
+ imports: [NoopAnimationsModule, VirtualGridComponent]
});
}));
@@ -693,10 +686,7 @@ describe('IgxGrid - Keyboard navigation #grid', () => {
describe('Group By navigation ', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxGridGroupByComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule],
+ imports: [IgxGridGroupByComponent, NoopAnimationsModule]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-mrl-keyboard-nav.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-mrl-keyboard-nav.spec.ts
index 158542572c4..85a5b928510 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-mrl-keyboard-nav.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-mrl-keyboard-nav.spec.ts
@@ -2,7 +2,6 @@
import { TestBed, ComponentFixture, fakeAsync, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxGridModule, IGridCellEventArgs } from './public_api';
import { IgxGridComponent } from './grid.component';
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
@@ -12,6 +11,9 @@ import { DefaultSortingStrategy, SortingDirection } from '../../data-operations/
import { IgxGridGroupByRowComponent } from './groupby-row.component';
import { GridFunctions, GRID_MRL_BLOCK } from '../../test-utils/grid-functions.spec';
import { CellType } from '../common/grid.interface';
+import { IgxColumnLayoutComponent } from '../columns/column-layout.component';
+import { NgFor } from '@angular/common';
+import { IGridCellEventArgs, IgxColumnComponent } from '../public_api';
const DEBOUNCETIME = 30;
const CELL_CSS_CLASS = '.igx-grid__td';
@@ -25,10 +27,7 @@ describe('IgxGrid Multi Row Layout - Keyboard navigation #grid', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- ColumnLayoutTestComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule],
+ imports: [NoopAnimationsModule, ColumnLayoutTestComponent]
}).compileComponents();
}));
@@ -2182,9 +2181,9 @@ describe('IgxGrid Multi Row Layout - Keyboard navigation #grid', () => {
fix.detectChanges();
// check if first unpinned cell is active and is in view
- let firstUnpinnedCell = grid.gridAPI.get_cell_by_index(0, 'ContactName');
+ const firstUnpinnedCell = grid.gridAPI.get_cell_by_index(0, 'ContactName');
expect(firstUnpinnedCell.active).toBe(true);
- let diff = firstUnpinnedCell.nativeElement.getBoundingClientRect().left -
+ const diff = firstUnpinnedCell.nativeElement.getBoundingClientRect().left -
grid.pinnedWidth - grid.tbody.nativeElement.getBoundingClientRect().left;
expect(diff).toBe(0);
@@ -2630,7 +2629,9 @@ describe('IgxGrid Multi Row Layout - Keyboard navigation #grid', () => {
[colEnd]="col.colEnd" [rowEnd]="col.rowEnd" [field]='col.field' [editable]='col.editable'>
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnLayoutComponent, NgFor]
})
export class ColumnLayoutTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-row-editing.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-row-editing.spec.ts
index a2c17b9a696..c5a8a414f91 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-row-editing.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-row-editing.spec.ts
@@ -5,8 +5,7 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxGridComponent } from './grid.component';
import { IGridEditEventArgs, IGridEditDoneEventArgs } from '../common/events';
import { IgxColumnComponent } from '../columns/column.component';
-import { IgxGridModule, RowType } from './public_api';
-import { DisplayDensity } from '../../core/displayDensity';
+import { DisplayDensity } from '../../core/density';
import { UIInteractions, wait } from '../../test-utils/ui-interactions.spec';
import { IgxStringFilteringOperand, IgxNumberFilteringOperand } from '../../data-operations/filtering-condition';
import { TransactionType, Transaction } from '../../services/public_api';
@@ -27,8 +26,8 @@ import {
} from '../../test-utils/grid-samples.spec';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
-import { CellType } from '../common/grid.interface';
import { DefaultDataCloneStrategy } from '../../data-operations/data-clone-strategy';
+import { CellType, RowType } from '../public_api';
const CELL_CLASS = '.igx-grid__td';
const ROW_EDITED_CLASS = 'igx-grid__tr--edited';
@@ -40,7 +39,8 @@ const DEBOUNCETIME = 30;
describe('IgxGrid - Row Editing #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxGridRowEditingComponent,
IgxGridRowEditingTransactionComponent,
IgxGridWithEditingAndFeaturesComponent,
@@ -49,9 +49,7 @@ describe('IgxGrid - Row Editing #grid', () => {
IgxGridEmptyRowEditTemplateComponent,
IgxGridCustomRowEditTemplateComponent,
VirtualGridComponent
- ],
- imports: [
- NoopAnimationsModule, IgxGridModule]
+ ]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-row-pinning.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-row-pinning.spec.ts
index e568d106b7f..54ed7c933d3 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-row-pinning.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-row-pinning.spec.ts
@@ -1,12 +1,13 @@
import { ViewChild, Component, DebugElement, OnInit, QueryList } from '@angular/core';
-import { TestBed, fakeAsync, tick } from '@angular/core/testing';
+import { NgFor, NgIf } from '@angular/common';
+import { TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
+
import { IgxGridComponent } from './grid.component';
-import { CellType, IgxGridModule, IPinRowEventArgs } from './public_api';
+import { IgxGridDetailTemplateDirective } from './public_api';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { ColumnPinningPosition, RowPinningPosition } from '../common/enums';
-import { IPinningConfig } from '../grid.common';
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
import { GridFunctions } from '../../test-utils/grid-functions.spec';
import { GridSummaryFunctions } from '../../test-utils/grid-functions.spec';
@@ -16,6 +17,8 @@ import { wait, UIInteractions } from '../../test-utils/ui-interactions.spec';
import { clearGridSubs, setupGridScrollDetection } from '../../test-utils/helper-utils.spec';
import { GridRowConditionalStylingComponent } from '../../test-utils/grid-base-components.spec';
import { SortingDirection } from '../../data-operations/sorting-strategy';
+import { IgxColumnLayoutComponent } from '../columns/column-layout.component';
+import { CellType, IPinRowEventArgs, IPinningConfig, IgxColumnComponent } from '../public_api';
describe('Row Pinning #grid', () => {
const FIXED_ROW_CONTAINER = '.igx-grid__tr--pinned ';
@@ -27,29 +30,24 @@ describe('Row Pinning #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
+ GridRowConditionalStylingComponent,
GridRowPinningComponent,
GridRowPinningWithMRLComponent,
GridRowPinningWithMDVComponent,
GridRowPinningWithTransactionsComponent,
- GridRowPinningWithInitialPinningComponent,
- GridRowConditionalStylingComponent
- ],
- imports: [
- NoopAnimationsModule,
- IgxGridModule
+ GridRowPinningWithInitialPinningComponent
]
});
}));
describe('', () => {
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(GridRowPinningComponent);
- fix.detectChanges();
grid = fix.componentInstance.instance;
- tick();
fix.detectChanges();
- }));
+ });
it('should pin rows to top.', () => {
// pin 2nd data row
@@ -582,13 +580,11 @@ describe('Row Pinning #grid', () => {
});
describe('Row pinning with Master Detail View', () => {
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(GridRowPinningWithMDVComponent);
- fix.detectChanges();
grid = fix.componentInstance.instance;
- tick();
fix.detectChanges();
- }));
+ });
it('should be in view when expanded and pinning row to bottom of the grid.', async () => {
fix.componentInstance.pinningConfig = { columns: ColumnPinningPosition.Start, rows: RowPinningPosition.Bottom };
@@ -688,20 +684,17 @@ describe('Row Pinning #grid', () => {
describe('Paging', () => {
let paginator: IgxPaginatorComponent;
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(GridRowPinningComponent);
fix.componentInstance.createSimpleData(12);
- fix.detectChanges();
grid = fix.componentInstance.instance;
fix.componentInstance.paging = true;
fix.detectChanges();
- grid.perPage = 5;
-
- fix.detectChanges();
- tick();
paginator = fix.debugElement.query(By.directive(IgxPaginatorComponent)).componentInstance;
- }));
+ paginator.perPage = 5;
+ fix.detectChanges();
+ });
it('should correctly apply paging state for grid and paginator when there are pinned rows.', () => {
// pin the first row
@@ -740,13 +733,11 @@ describe('Row Pinning #grid', () => {
});
describe(' Editing ', () => {
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(GridRowPinningWithTransactionsComponent);
- fix.detectChanges();
grid = fix.componentInstance.instance;
- tick();
fix.detectChanges();
- }));
+ });
it('should allow pinning edited row.', () => {
grid.updateCell('New value', 'ANTON', 'CompanyName');
@@ -819,13 +810,11 @@ describe('Row Pinning #grid', () => {
});
describe('Row pinning with MRL', () => {
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(GridRowPinningWithMRLComponent);
- fix.detectChanges();
grid = fix.componentInstance.instance;
- tick();
fix.detectChanges();
- }));
+ });
it('should pin/unpin correctly to top', () => {
// pin
@@ -963,13 +952,11 @@ describe('Row Pinning #grid', () => {
});
describe(' Hiding', () => {
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(GridRowPinningComponent);
- fix.detectChanges();
grid = fix.componentInstance.instance;
- tick();
fix.detectChanges();
- }));
+ });
it('should hide columns in pinned and unpinned area', () => {
// pin 2nd data row
@@ -1031,13 +1018,13 @@ describe('Row Pinning #grid', () => {
describe(' Cell Editing', () => {
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(GridRowPinningComponent);
fix.detectChanges();
// enable cell editing for column
grid = fix.componentInstance.instance;
grid.getColumnByName('CompanyName').editable = true;
- }));
+ });
it('should enter edit mode for the next editable cell when tabbing.', () => {
const gridContent = GridFunctions.getGridContent(fix);
@@ -1116,13 +1103,13 @@ describe('Row Pinning #grid', () => {
describe(' Navigation', () => {
let gridContent: DebugElement;
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(GridRowPinningComponent);
fix.detectChanges();
grid = fix.componentInstance.instance;
setupGridScrollDetection(fix, grid);
gridContent = GridFunctions.getGridContent(fix);
- }));
+ });
afterEach(() => {
clearGridSubs();
@@ -1355,11 +1342,11 @@ describe('Row Pinning #grid', () => {
});
describe(' Initial pinning', () => {
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(GridRowPinningWithInitialPinningComponent);
fix.detectChanges();
grid = fix.componentInstance.grid1;
- }));
+ });
it('should pin rows on OnInit.', () => {
fix.detectChanges();
@@ -1369,13 +1356,11 @@ describe('Row Pinning #grid', () => {
describe('Conditional row styling', () => {
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(GridRowConditionalStylingComponent);
- fix.detectChanges();
grid = fix.componentInstance.grid;
- tick();
fix.detectChanges();
- }));
+ });
it('Shoud be able to conditionally style rows. Check is the class present in the row native element class list', () => {
fix.detectChanges();
@@ -1423,7 +1408,9 @@ describe('Row Pinning #grid', () => {
[autoGenerate]="true">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxPaginatorComponent, NgIf]
})
export class GridRowPinningComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1448,7 +1435,9 @@ export class GridRowPinningComponent {
[colEnd]="col.colEnd" [rowEnd]="col.rowEnd" [field]='col.field'>
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnLayoutComponent, IgxColumnComponent, NgFor]
})
export class GridRowPinningWithMRLComponent extends GridRowPinningComponent {
public cols: Array = [
@@ -1480,7 +1469,10 @@ export class GridRowPinningWithMRLComponent extends GridRowPinningComponent {
Address: {{dataItem.Address}}
-`
+
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxGridDetailTemplateDirective]
})
export class GridRowPinningWithMDVComponent extends GridRowPinningComponent { }
@@ -1496,7 +1488,9 @@ export class GridRowPinningWithMDVComponent extends GridRowPinningComponent { }
[data]="data"
[autoGenerate]="true">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class GridRowPinningWithTransactionsComponent extends GridRowPinningComponent { }
@@ -1511,7 +1505,9 @@ export class GridRowPinningWithTransactionsComponent extends GridRowPinningCompo
[data]="data"
[autoGenerate]="true">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class GridRowPinningWithInitialPinningComponent implements OnInit {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-row-selection.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-row-selection.spec.ts
index 0c03c2f9be3..17ffb94b7fe 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-row-selection.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-row-selection.spec.ts
@@ -1,7 +1,6 @@
import { TestBed, fakeAsync, tick, waitForAsync, ComponentFixture } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxGridComponent } from './grid.component';
-import { IgxGridModule, IRowSelectionEventArgs } from './public_api';
import { wait, UIInteractions } from '../../test-utils/ui-interactions.spec';
import { IgxStringFilteringOperand, IgxNumberFilteringOperand } from '../../data-operations/filtering-condition';
import { configureTestSuite } from '../../test-utils/configure-suite';
@@ -16,10 +15,10 @@ import {
import { GridFunctions, GridSelectionFunctions } from '../../test-utils/grid-functions.spec';
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
import { GridSelectionMode } from '../common/enums';
-import { IgxGridSelectionModule } from '../selection/selection.module';
import { FilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
import { FilteringLogic } from '../../data-operations/filtering-expression.interface';
import { SortingDirection } from '../../data-operations/sorting-strategy';
+import { IRowSelectionEventArgs } from '../public_api';
const DEBOUNCETIME = 30;
const SCROLL_DEBOUNCETIME = 100;
@@ -30,18 +29,14 @@ describe('IgxGrid - Row Selection #grid', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
RowSelectionComponent,
SelectionWithScrollsComponent,
RowSelectionWithoutPrimaryKeyComponent,
SingleRowSelectionComponent,
SelectionWithTransactionsComponent,
GridCustomSelectorsComponent
- ],
- imports: [
- NoopAnimationsModule,
- IgxGridModule,
- IgxGridSelectionModule
]
}).compileComponents();
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.html b/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.html
index b3b562b9a2d..208dc2d5d76 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.html
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.html
@@ -63,14 +63,14 @@
+ [class.igx-grid__td--pinned-last]="col.hasLastPinnedChildColumn"
+ [class.igx-grid__td--pinned-first]="col.hasFirstPinnedChildColumn"
+ [style.left]="mrlRightPinnedOffset"
+ [ngStyle]="{
+ 'grid-template-rows':col.getGridTemplate(true),
+ 'grid-template-columns':col.getGridTemplate(false),
+ 'z-index': col.pinned ? 1 : null
+ }">
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.ts
index 7a674ea1b62..5da658cc2aa 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.ts
@@ -1,11 +1,20 @@
import { Component, ChangeDetectionStrategy, forwardRef } from '@angular/core';
import { IgxRowDirective } from '../row.directive';
+import { IgxGridNotGroupedPipe, IgxGridTopLevelColumns, IgxGridCellStylesPipe, IgxGridCellStyleClassesPipe, IgxGridDataMapperPipe, IgxGridTransactionStatePipe } from '../common/pipes';
+import { IgxGridExpandableCellComponent } from './expandable-cell.component';
+import { IgxGridCellComponent } from '../cell.component';
+import { IgxCheckboxComponent } from '../../checkbox/checkbox.component';
+import { IgxGridForOfDirective } from '../../directives/for-of/for_of.directive';
+import { IgxRowDragDirective } from '../row-drag.directive';
+import { NgTemplateOutlet, NgIf, NgFor, NgStyle, NgClass } from '@angular/common';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'igx-grid-row',
templateUrl: './grid-row.component.html',
- providers: [{ provide: IgxRowDirective, useExisting: forwardRef(() => IgxGridRowComponent) }]
+ providers: [{ provide: IgxRowDirective, useExisting: forwardRef(() => IgxGridRowComponent) }],
+ standalone: true,
+ imports: [NgTemplateOutlet, NgIf, IgxRowDragDirective, NgFor, IgxGridForOfDirective, NgStyle, IgxCheckboxComponent, IgxGridCellComponent, NgClass, IgxGridExpandableCellComponent, IgxGridNotGroupedPipe, IgxGridTopLevelColumns, IgxGridCellStylesPipe, IgxGridCellStyleClassesPipe, IgxGridDataMapperPipe, IgxGridTransactionStatePipe]
})
export class IgxGridRowComponent extends IgxRowDirective {
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-summary.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-summary.spec.ts
index 5fd22fbff30..bc04e7541b0 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-summary.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-summary.spec.ts
@@ -2,17 +2,6 @@
import { fakeAsync, TestBed, tick, ComponentFixture, flush } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import {
- IgxDateSummaryOperand,
- IgxGridModule,
- IgxNumberSummaryOperand,
- IgxSummaryOperand,
- IgxSummaryResult,
- IgxGroupByRow,
- IgxSummaryRow,
- IgxGridRow,
- IColumnPipeArgs
-} from './public_api';
import { IgxGridComponent } from './grid.component';
import { wait, UIInteractions } from '../../test-utils/ui-interactions.spec';
import { GridFunctions, GridSummaryFunctions } from '../../test-utils/grid-functions.spec';
@@ -32,6 +21,7 @@ import { DropPosition } from '../moving/moving.service';
import { DatePipe } from '@angular/common';
import { IgxGridGroupByRowComponent } from './groupby-row.component';
import { SortingDirection } from '../../data-operations/sorting-strategy';
+import { IColumnPipeArgs, IgxColumnComponent, IgxDateSummaryOperand, IgxGridRow, IgxGroupByRow, IgxNumberSummaryOperand, IgxSummaryOperand, IgxSummaryResult, IgxSummaryRow } from '../public_api';
describe('IgxGrid - Summaries #grid', () => {
@@ -44,15 +34,15 @@ describe('IgxGrid - Summaries #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
+ CustomSummariesComponent,
ProductsComponent,
SummaryColumnComponent,
- CustomSummariesComponent,
FilteringComponent,
SummariesGroupByComponent,
SummariesGroupByTransactionsComponent
- ],
- imports: [IgxGridModule, NoopAnimationsModule]
+ ]
});
}));
@@ -60,11 +50,11 @@ describe('IgxGrid - Summaries #grid', () => {
describe('in grid with no summaries defined: ', () => {
let fixture: ComponentFixture
;
let grid: IgxGridComponent;
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fixture = TestBed.createComponent(ProductsComponent);
fixture.detectChanges();
grid = fixture.componentInstance.grid;
- }));
+ });
it('should not have summary if no summary is active ', () => {
expect(fixture.debugElement.query(By.css(SUMMARY_CLASS))).toBeNull();
@@ -150,11 +140,11 @@ describe('IgxGrid - Summaries #grid', () => {
let fixture: ComponentFixture;
let grid: IgxGridComponent;
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fixture = TestBed.createComponent(CustomSummariesComponent);
fixture.detectChanges();
grid = fixture.componentInstance.grid1;
- }));
+ });
it('should properly render custom summaries', () => {
const summaryRow = GridSummaryFunctions.getRootSummaryRow(fixture);
@@ -599,11 +589,11 @@ describe('IgxGrid - Summaries #grid', () => {
describe('', () => {
let fix;
let grid: IgxGridComponent;
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(SummaryColumnComponent);
fix.detectChanges();
grid = fix.componentInstance.grid;
- }));
+ });
it('Filtering: should calculate summaries only over filteredData', fakeAsync(() => {
grid.filter('UnitsInStock', 0, IgxNumberFilteringOperand.instance().condition('equals'), true);
@@ -856,16 +846,14 @@ describe('IgxGrid - Summaries #grid', () => {
describe('Keyboard Navigation', () => {
let fix;
let grid: IgxGridComponent;
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fix = TestBed.createComponent(SummariesGroupByComponent);
- fix.detectChanges();
grid = fix.componentInstance.grid;
setupGridScrollDetection(fix, grid);
grid.width = '800px';
grid.height = '800px';
fix.detectChanges();
- tick(100);
- }));
+ });
afterEach(() => {
clearGridSubs();
@@ -2326,7 +2314,7 @@ describe('IgxGrid - Summaries #grid', () => {
addRow = grid.gridAPI.get_row_by_index(2);
expect(addRow.addRowUI).toBeFalse();
- let summaryRow = GridSummaryFunctions.getSummaryRowByDataRowIndex(fix, 4);
+ const summaryRow = GridSummaryFunctions.getSummaryRowByDataRowIndex(fix, 4);
GridSummaryFunctions.verifyColumnSummaries(summaryRow, 0, [], []);
GridSummaryFunctions.verifyColumnSummaries(summaryRow, 1, ['Count', 'Min', 'Max', 'Sum', 'Avg'], ['3', '17', '17', '51', '17']);
GridSummaryFunctions.verifyColumnSummaries(summaryRow, 2, ['Count'], ['3']);
@@ -2676,7 +2664,9 @@ class AllDataAvgSummary extends IgxSummaryOperand {
[summaries]="earliest">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class CustomSummariesComponent {
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-toolbar.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-toolbar.spec.ts
index a8392c87153..e902114efdf 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-toolbar.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-toolbar.spec.ts
@@ -2,10 +2,17 @@ import { Component, ViewChild } from '@angular/core';
import { TestBed, fakeAsync, ComponentFixture, tick } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { AbsoluteScrollStrategy, GlobalPositionStrategy, IgxCsvExporterService, IgxExcelExporterService } from '../../services/public_api';
-import { IgxGridComponent, IgxGridModule } from './public_api';
+import { IgxGridComponent } from './public_api';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { GridFunctions } from "../../test-utils/grid-functions.spec";
import { By } from "@angular/platform-browser";
+import { IgxGridToolbarComponent } from '../toolbar/grid-toolbar.component';
+import { NgIf } from '@angular/common';
+import { IgxGridToolbarActionsComponent, IgxGridToolbarTitleComponent } from '../toolbar/common';
+import { IgxGridToolbarPinningComponent } from '../toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarHidingComponent } from '../toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarExporterComponent } from '../toolbar/grid-toolbar-exporter.component';
const TOOLBAR_TAG = 'igx-grid-toolbar';
const TOOLBAR_TITLE_TAG = 'igx-grid-toolbar-title';
@@ -31,14 +38,11 @@ const DATA = [
describe('IgxGrid - Grid Toolbar #grid - ', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
DefaultToolbarComponent,
ToolbarActionsComponent
],
- imports: [
- IgxGridModule,
- NoopAnimationsModule
- ],
providers: [
IgxExcelExporterService,
IgxCsvExporterService
@@ -258,7 +262,9 @@ describe('IgxGrid - Grid Toolbar #grid - ', () => {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarTitleComponent, NgIf]
})
export class DefaultToolbarComponent {
public toolbarEnabled = true;
@@ -293,7 +299,18 @@ export class DefaultToolbarComponent {
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxGridComponent,
+ IgxGridToolbarComponent,
+ IgxGridToolbarActionsComponent,
+ IgxGridToolbarTitleComponent,
+ IgxGridToolbarPinningComponent,
+ IgxGridToolbarHidingComponent,
+ IgxGridToolbarAdvancedFilteringComponent,
+ IgxGridToolbarExporterComponent
+ ]
})
export class ToolbarActionsComponent {
@ViewChild(IgxGridComponent, { static: true })
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-validation.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-validation.spec.ts
index cb3102541fe..325ee49679e 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-validation.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-validation.spec.ts
@@ -1,14 +1,14 @@
import { fakeAsync, flush, TestBed, tick } from '@angular/core/testing';
-import { ReactiveFormsModule, Validators } from '@angular/forms';
+import { Validators } from '@angular/forms';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxInputDirective, IgxTooltipTargetDirective, IgxTreeGridComponent, IgxTreeGridModule } from 'igniteui-angular';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators'
+import { IgxInputDirective } from '../../directives/input/input.directive';
+import { IgxTooltipTargetDirective } from '../../directives/tooltip/tooltip-target.directive';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { GridFunctions, GridSelectionFunctions } from '../../test-utils/grid-functions.spec';
import {
- ForbiddenValidatorDirective,
IgxGridCustomEditorsComponent,
IgxGridValidationTestBaseComponent,
IgxGridValidationTestCustomErrorComponent,
@@ -16,21 +16,20 @@ import {
} from '../../test-utils/grid-validation-samples.spec';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
import { IGridFormGroupCreatedEventArgs } from '../common/grid.interface';
+import { IgxTreeGridComponent } from '../tree-grid/tree-grid.component';
import { IgxGridComponent } from './grid.component';
-import { IgxGridModule } from './grid.module';
describe('IgxGrid - Validation #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxGridValidationTestBaseComponent,
IgxGridValidationTestCustomErrorComponent,
IgxGridCustomEditorsComponent,
- IgxTreeGridValidationTestComponent,
- ForbiddenValidatorDirective
- ],
- imports: [IgxGridModule, IgxTreeGridModule, NoopAnimationsModule, ReactiveFormsModule]
+ IgxTreeGridValidationTestComponent
+ ]
});
}));
@@ -335,7 +334,7 @@ describe('IgxGrid - Validation #grid', () => {
col.inlineEditorTemplate = template;
fixture.detectChanges();
- let cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
+ const cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
UIInteractions.simulateDoubleClickAndSelectEvent(cell.element);
const input = fixture.debugElement.query(By.css('input'));
UIInteractions.clickAndSendInputElementValue(input, 'bob');
@@ -354,7 +353,7 @@ describe('IgxGrid - Validation #grid', () => {
col.inlineEditorTemplate = template;
fixture.detectChanges();
- let cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
+ const cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
UIInteractions.simulateDoubleClickAndSelectEvent(cell.element);
const input = fixture.debugElement.query(By.css('input'));
UIInteractions.clickAndSendInputElementValue(input, 'bob');
@@ -374,7 +373,7 @@ describe('IgxGrid - Validation #grid', () => {
grid.validationTrigger = 'blur';
fixture.detectChanges();
- let cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
+ const cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
UIInteractions.simulateDoubleClickAndSelectEvent(cell.element);
const input = fixture.debugElement.query(By.css('input'));
UIInteractions.clickAndSendInputElementValue(input, 'bob');
@@ -405,7 +404,7 @@ describe('IgxGrid - Validation #grid', () => {
it('should update validity when setting new value through grid API', () => {
const grid = fixture.componentInstance.grid as IgxGridComponent;
- let cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
+ const cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
grid.updateCell('IG', 2, 'ProductName');
grid.validation.markAsTouched(2);
@@ -450,7 +449,7 @@ describe('IgxGrid - Validation #grid', () => {
it('should update validation status when using undo/redo api', () => {
const grid = fixture.componentInstance.grid as IgxGridComponent;
- let cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
+ const cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
UIInteractions.simulateDoubleClickAndSelectEvent(cell.element);
cell.editMode = true;
@@ -484,7 +483,7 @@ describe('IgxGrid - Validation #grid', () => {
it('should not invalidate cleared number cell', () => {
const grid = fixture.componentInstance.grid as IgxGridComponent;
- let cell = grid.gridAPI.get_cell_by_visible_index(1, 3);
+ const cell = grid.gridAPI.get_cell_by_visible_index(1, 3);
// Set cell to null, which should invalidate
UIInteractions.simulateDoubleClickAndSelectEvent(cell.element);
@@ -527,7 +526,7 @@ describe('IgxGrid - Validation #grid', () => {
it('should not show errors when the row is deleted', () => {
const grid = fixture.componentInstance.grid as IgxGridComponent;
- let cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
+ const cell = grid.gridAPI.get_cell_by_visible_index(1, 1);
UIInteractions.simulateDoubleClickAndSelectEvent(cell.element);
cell.editMode = true;
@@ -571,7 +570,7 @@ describe('IgxGrid - Validation #grid', () => {
it('should allow setting built-in validators via template-driven and mark cell invalid', () => {
const treeGrid = fixture.componentInstance.treeGrid as IgxTreeGridComponent;
- let cell = treeGrid.gridAPI.get_cell_by_visible_index(4, 1);
+ const cell = treeGrid.gridAPI.get_cell_by_visible_index(4, 1);
UIInteractions.simulateDoubleClickAndSelectEvent(cell.element);
cell.editMode = true;
@@ -588,7 +587,7 @@ describe('IgxGrid - Validation #grid', () => {
it('should allow setting custom validators via template-driven and mark cell invalid', () => {
const treeGrid = fixture.componentInstance.treeGrid as IgxTreeGridComponent;
- let cell = treeGrid.gridAPI.get_cell_by_visible_index(4, 1);
+ const cell = treeGrid.gridAPI.get_cell_by_visible_index(4, 1);
UIInteractions.simulateDoubleClickAndSelectEvent(cell.element);
cell.editMode = true;
@@ -605,7 +604,7 @@ describe('IgxGrid - Validation #grid', () => {
it('should update validation status when using undo/redo/delete api', () => {
const treeGrid = fixture.componentInstance.treeGrid as IgxTreeGridComponent;
- let cell = treeGrid.gridAPI.get_cell_by_visible_index(4, 1);
+ const cell = treeGrid.gridAPI.get_cell_by_visible_index(4, 1);
UIInteractions.simulateDoubleClickAndSelectEvent(cell.element);
cell.editMode = true;
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.component.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.component.spec.ts
index 4f4741152c2..e9ba23b4a57 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.component.spec.ts
@@ -9,8 +9,7 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxGridComponent } from './grid.component';
import { IgxColumnComponent } from '../columns/column.component';
import { IForOfState } from '../../directives/for-of/for_of.directive';
-import { IgxGridModule, IgxGridRow, IgxGroupByRow, IgxSummaryRow } from './public_api';
-import { DisplayDensity } from '../../core/displayDensity';
+import { DisplayDensity } from '../../core/density';
import { GridColumnDataType } from '../../data-operations/data-util';
import { GridTemplateStrings } from '../../test-utils/template-strings.spec';
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
@@ -21,10 +20,13 @@ import { configureTestSuite } from '../../test-utils/configure-suite';
import { GridSelectionMode } from '../common/enums';
import { FilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
import { FilteringLogic } from '../../data-operations/filtering-expression.interface';
-import { IgxTabsComponent, IgxTabsModule } from '../../tabs/tabs/public_api';
+import { IgxTabContentComponent, IgxTabHeaderComponent, IgxTabItemComponent, IgxTabsComponent } from '../../tabs/tabs/public_api';
import { IgxGridRowComponent } from './grid-row.component';
import { ISortingExpression, SortingDirection } from '../../data-operations/sorting-strategy';
import { GRID_SCROLL_CLASS } from '../../test-utils/grid-functions.spec';
+import { AsyncPipe, NgFor, NgIf } from '@angular/common';
+import { IgxPaginatorComponent, IgxPaginatorContentDirective } from '../../paginator/paginator.component';
+import { IgxGridFooterComponent, IgxGridRow, IgxGroupByRow, IgxSummaryRow } from '../public_api';
describe('IgxGrid Component Tests #grid', () => {
@@ -39,15 +41,13 @@ describe('IgxGrid Component Tests #grid', () => {
describe('IgxGrid - input properties', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxGridTestComponent,
IgxGridMarkupDeclarationComponent,
IgxGridRemoteVirtualizationComponent,
IgxGridRemoteOnDemandComponent,
IgxGridEmptyMessage100PercentComponent
- ],
- imports: [
- NoopAnimationsModule, IgxGridModule
]
})
.compileComponents();
@@ -664,11 +664,9 @@ describe('IgxGrid Component Tests #grid', () => {
describe('IgxGrid - virtualization tests', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxGridTestComponent
- ],
imports: [
- NoopAnimationsModule, IgxGridModule
+ NoopAnimationsModule,
+ IgxGridTestComponent
]
})
.compileComponents();
@@ -799,15 +797,14 @@ describe('IgxGrid Component Tests #grid', () => {
describe('IgxGrid - default rendering for rows and columns', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxGridDefaultRenderingComponent,
IgxGridColumnPercentageWidthComponent,
IgxGridWrappedInContComponent,
IgxGridFormattingComponent,
IgxGridFixedContainerHeightComponent
- ],
- imports: [
- NoopAnimationsModule, IgxGridModule]
+ ]
})
.compileComponents();
}));
@@ -1847,12 +1844,10 @@ describe('IgxGrid Component Tests #grid', () => {
describe('IgxGrid - API methods', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxGridDefaultRenderingComponent,
IgxGridWrappedInContComponent
- ],
- imports: [
- NoopAnimationsModule, IgxGridModule
]
})
.compileComponents();
@@ -2263,11 +2258,9 @@ describe('IgxGrid Component Tests #grid', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxGridInsideIgxTabsComponent
- ],
imports: [
- NoopAnimationsModule, IgxGridModule, IgxTabsModule
+ NoopAnimationsModule,
+ IgxGridInsideIgxTabsComponent
]
})
.compileComponents();
@@ -2427,11 +2420,10 @@ describe('IgxGrid Component Tests #grid', () => {
describe('IgxGrid - footer section', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxGridWithCustomFooterComponent
- ],
imports: [
- NoopAnimationsModule, IgxGridModule]
+ NoopAnimationsModule,
+ IgxGridWithCustomFooterComponent
+ ]
})
.compileComponents();
}));
@@ -2455,11 +2447,9 @@ describe('IgxGrid Component Tests #grid', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxGridWithCustomPaginationTemplateComponent
- ],
imports: [
- NoopAnimationsModule, IgxGridModule
+ NoopAnimationsModule,
+ IgxGridWithCustomPaginationTemplateComponent
]
})
.compileComponents();
@@ -2493,13 +2483,9 @@ describe('IgxGrid Component Tests #grid', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxGridPerformanceComponent
- ],
imports: [
NoopAnimationsModule,
- IgxGridModule,
- IgxTabsModule
+ IgxGridPerformanceComponent
]
})
.compileComponents();
@@ -2687,12 +2673,10 @@ describe('IgxGrid Component Tests #grid', () => {
describe('Setting null data', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxGridNoDataComponent,
IgxGridTestComponent
- ],
- imports: [
- NoopAnimationsModule, IgxGridModule
]
})
.compileComponents();
@@ -2726,7 +2710,9 @@ describe('IgxGrid Component Tests #grid', () => {
[header]="column.field" [width]="column.width">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class IgxGridTestComponent {
@ViewChild('grid', { static: true }) public grid: IgxGridComponent;
@@ -2798,7 +2784,9 @@ export class IgxGridTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgFor, NgIf]
})
export class IgxGridDefaultRenderingComponent {
@ViewChild('grid', { read: IgxGridComponent, static: true })
@@ -2861,7 +2849,9 @@ export class IgxGridDefaultRenderingComponent {
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class IgxGridColumnPercentageWidthComponent extends IgxGridDefaultRenderingComponent {
public override initColumns(column) {
@@ -2872,8 +2862,7 @@ export class IgxGridColumnPercentageWidthComponent extends IgxGridDefaultRenderi
}
@Component({
- template:
- `
+ template: `
@@ -2882,19 +2871,22 @@ export class IgxGridColumnPercentageWidthComponent extends IgxGridDefaultRenderi
-
`
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxGridFooterComponent]
})
export class IgxGridWithCustomFooterComponent extends IgxGridTestComponent {
@ViewChild(IgxGridComponent, { static: true }) public override grid: IgxGridComponent;
public override data = SampleTestData.foodProductData();
}
@Component({
- template:
- ``,
+ standalone: true,
+ imports: [IgxGridComponent, IgxPaginatorComponent, NgIf]
})
export class IgxGridWrappedInContComponent extends IgxGridTestComponent {
public override data = [];
@@ -2942,12 +2934,13 @@ export class IgxGridWrappedInContComponent extends IgxGridTestComponent {
}
@Component({
- template:
- ``,
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class IgxGridFixedContainerHeightComponent extends IgxGridWrappedInContComponent {
public override paging = false;
@@ -2961,7 +2954,9 @@ export class IgxGridFixedContainerHeightComponent extends IgxGridWrappedInContCo
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridMarkupDeclarationComponent extends IgxGridTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -2980,7 +2975,9 @@ export class IgxGridMarkupDeclarationComponent extends IgxGridTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridEmptyMessage100PercentComponent extends IgxGridTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -3030,7 +3027,9 @@ export class LocalService {
`,
- providers: [LocalService]
+ providers: [LocalService],
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, AsyncPipe]
})
export class IgxGridRemoteVirtualizationComponent implements OnInit, AfterViewInit {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -3068,7 +3067,9 @@ export class IgxGridRemoteVirtualizationComponent implements OnInit, AfterViewIn
Loading...
`,
- providers: [LocalService]
+ providers: [LocalService],
+ standalone: true,
+ imports: [IgxGridComponent, AsyncPipe]
})
export class IgxGridRemoteOnDemandComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -3094,9 +3095,7 @@ export class IgxGridRemoteOnDemandComponent {
}
@Component({
- template: GridTemplateStrings.declareGrid(
- '', '',
- `
+ template: GridTemplateStrings.declareGrid('', '', `
@@ -3106,7 +3105,9 @@ export class IgxGridRemoteOnDemandComponent {
- `)
+ `),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridFormattingComponent extends BasicGridComponent {
@ViewChild(IgxGridComponent, { static: true }) public override grid: IgxGridComponent;
@@ -3154,7 +3155,7 @@ export class IgxGridFormattingComponent extends BasicGridComponent {
*ngFor="let column of columns"
[field]="column.field"
[header]="column.field"
- [width]="column.width"
+ [width]="column.width + 'px'"
>
@@ -3212,7 +3213,9 @@ export class IgxGridFormattingComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxTabsComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabItemComponent, IgxPaginatorComponent, NgFor]
})
export class IgxGridInsideIgxTabsComponent {
@ViewChild('grid2', { read: IgxGridComponent, static: true })
@@ -3261,7 +3264,9 @@ export class IgxGridInsideIgxTabsComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, IgxPaginatorContentDirective, NgIf, AsyncPipe]
})
export class IgxGridWithCustomPaginationTemplateComponent {
@ViewChild('grid', { read: IgxGridComponent, static: true })
@@ -3273,7 +3278,9 @@ export class IgxGridWithCustomPaginationTemplateComponent {
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class IgxGridPerformanceComponent implements AfterViewInit, OnInit {
@@ -3324,7 +3331,9 @@ export class IgxGridPerformanceComponent implements AfterViewInit, OnInit {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent]
})
export class IgxGridNoDataComponent {
@ViewChild(IgxGridComponent, { static: true }) public grid: IgxGridComponent;
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.component.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.component.ts
index 542fa92d5f0..79660439c81 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.component.ts
@@ -1,8 +1,10 @@
import {
Component, ChangeDetectionStrategy, Input, Output, EventEmitter, ContentChild, ViewChildren,
QueryList, ViewChild, TemplateRef, DoCheck, AfterContentInit, HostBinding,
- OnInit, AfterViewInit, ContentChildren
+ OnInit, AfterViewInit, ContentChildren, CUSTOM_ELEMENTS_SCHEMA
} from '@angular/core';
+import { NgIf, NgTemplateOutlet, NgClass, NgFor, NgStyle } from '@angular/common';
+
import { IgxGridBaseDirective } from '../grid-base.directive';
import { IgxGridNavigationService } from '../grid-navigation.service';
import { IgxGridAPIService } from './grid-api.service';
@@ -11,7 +13,7 @@ import { IGroupByRecord } from '../../data-operations/groupby-record.interface';
import { IgxGroupByRowTemplateDirective, IgxGridDetailTemplateDirective } from './grid.directives';
import { IgxGridGroupByRowComponent } from './groupby-row.component';
import { IGroupByExpandState } from '../../data-operations/groupby-expand-state.interface';
-import { IForOfState } from '../../directives/for-of/for_of.directive';
+import { IForOfState, IgxGridForOfDirective } from '../../directives/for-of/for_of.directive';
import { IgxColumnComponent } from '../columns/column.component';
import { takeUntil } from 'rxjs/operators';
import { IgxFilteringService } from '../filtering/grid-filtering.service';
@@ -30,6 +32,27 @@ import { IgxGridCell } from '../grid-public-cell';
import { ISortingExpression } from '../../data-operations/sorting-strategy';
import { IGridGroupingStrategy } from '../common/strategy';
import { IgxGridValidationService } from './grid-validation.service';
+import { IgxGridDetailsPipe } from './grid.details.pipe';
+import { IgxGridSummaryPipe } from './grid.summary.pipe';
+import { IgxGridGroupingPipe, IgxGridPagingPipe, IgxGridSortingPipe, IgxGridFilteringPipe } from './grid.pipes';
+import { IgxSummaryDataPipe } from '../summaries/grid-root-summary.pipe';
+import { IgxGridTransactionPipe, IgxHasVisibleColumnsPipe, IgxGridRowPinningPipe, IgxGridAddRowPipe, IgxGridRowClassesPipe, IgxGridRowStylesPipe } from '../common/pipes';
+import { IgxGridColumnResizerComponent } from '../resizing/resizer.component';
+import { IgxRowEditTabStopDirective } from '../grid.rowEdit.directive';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { IgxRippleDirective } from '../../directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../directives/button/button.directive';
+import { IgxSnackbarComponent } from '../../snackbar/snackbar.component';
+import { IgxCircularProgressBarComponent } from '../../progressbar/progressbar.component';
+import { IgxOverlayOutletDirective, IgxToggleDirective } from '../../directives/toggle/toggle.directive';
+import { IgxSummaryRowComponent } from '../summaries/summary-row.component';
+import { IgxGridRowComponent } from './grid-row.component';
+import { IgxTemplateOutletDirective } from '../../directives/template-outlet/template_outlet.directive';
+import { IgxColumnMovingDropDirective } from '../moving/moving.drop.directive';
+import { IgxGridDragSelectDirective } from '../selection/drag-select.directive';
+import { IgxGridBodyDirective } from '../grid.common';
+import { IgxGridHeaderRowComponent } from '../headers/grid-header-row.component';
+import { IgxGridGroupByAreaComponent } from '../grouping/grid-group-by-area.component';
let NEXT_ID = 0;
@@ -75,7 +98,48 @@ export interface IGroupingDoneEventArgs extends IBaseEventArgs {
IgxForOfScrollSyncService
],
selector: 'igx-grid',
- templateUrl: './grid.component.html'
+ templateUrl: './grid.component.html',
+ standalone: true,
+ imports: [
+ NgIf,
+ NgClass,
+ NgFor,
+ NgStyle,
+ NgTemplateOutlet,
+ IgxGridGroupByAreaComponent,
+ IgxGridHeaderRowComponent,
+ IgxGridBodyDirective,
+ IgxGridDragSelectDirective,
+ IgxColumnMovingDropDirective,
+ IgxGridForOfDirective,
+ IgxTemplateOutletDirective,
+ IgxGridRowComponent,
+ IgxGridGroupByRowComponent,
+ IgxSummaryRowComponent,
+ IgxOverlayOutletDirective,
+ IgxToggleDirective,
+ IgxCircularProgressBarComponent,
+ IgxSnackbarComponent,
+ IgxButtonDirective,
+ IgxRippleDirective,
+ IgxIconComponent,
+ IgxRowEditTabStopDirective,
+ IgxGridColumnResizerComponent,
+ IgxGridTransactionPipe,
+ IgxHasVisibleColumnsPipe,
+ IgxGridRowPinningPipe,
+ IgxGridAddRowPipe,
+ IgxGridRowClassesPipe,
+ IgxGridRowStylesPipe,
+ IgxSummaryDataPipe,
+ IgxGridGroupingPipe,
+ IgxGridPagingPipe,
+ IgxGridSortingPipe,
+ IgxGridFilteringPipe,
+ IgxGridSummaryPipe,
+ IgxGridDetailsPipe
+ ],
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class IgxGridComponent extends IgxGridBaseDirective implements GridType, OnInit, DoCheck, AfterContentInit, AfterViewInit {
/**
@@ -1209,10 +1273,9 @@ export class IgxGridComponent extends IgxGridBaseDirective implements GridType,
*/
public createRow(index: number, data?: any): RowType {
let row: RowType;
- let rec: any;
const dataIndex = this._getDataViewIndex(index);
- rec = data ?? this.dataView[dataIndex];
+ const rec = data ?? this.dataView[dataIndex];
if (rec && this.isGroupByRecord(rec)) {
row = new IgxGroupByRow(this, index, rec);
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.crud.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.crud.spec.ts
index 2865c7fe780..d8110f7abbd 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.crud.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.crud.spec.ts
@@ -3,7 +3,6 @@ import { TestBed, fakeAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { IgxGridComponent } from './grid.component';
import { IGridEditEventArgs } from '../common/events';
-import { IgxGridModule } from './public_api';
import { wait } from '../../test-utils/ui-interactions.spec';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
@@ -17,10 +16,7 @@ describe('IgxGrid - CRUD operations #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- DefaultCRUDGridComponent
- ],
- imports: [IgxGridModule, NoopAnimationsModule]
+ imports: [NoopAnimationsModule, DefaultCRUDGridComponent]
});
}));
@@ -351,7 +347,9 @@ describe('IgxGrid - CRUD operations #grid', () => {
[autoGenerate]="true"
[primaryKey]="'index'">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class DefaultCRUDGridComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.details.pipe.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.details.pipe.ts
index e62df78ce99..4bd21fc33ec 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.details.pipe.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.details.pipe.ts
@@ -2,7 +2,10 @@ import { PipeTransform, Pipe, Inject } from '@angular/core';
import { GridType, IGX_GRID_BASE } from '../common/grid.interface';
/** @hidden */
-@Pipe({ name: 'gridDetails' })
+@Pipe({
+ name: 'gridDetails',
+ standalone: true
+})
export class IgxGridDetailsPipe implements PipeTransform {
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.directives.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.directives.ts
index 7c978f5ea65..cb3ddbc7a7a 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.directives.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.directives.ts
@@ -15,13 +15,14 @@ import {
* @hidden
*/
@Directive({
- selector: '[igxGroupByRow]'
+ selector: '[igxGroupByRow]',
+ standalone: true
})
export class IgxGroupByRowTemplateDirective {
public static ngTemplateContextGuard(_dir: IgxGroupByRowTemplateDirective,
ctx: unknown): ctx is IgxGroupByRowTemplateContext {
return true
- };
+ }
constructor(public template: TemplateRef) { }
@@ -31,39 +32,42 @@ export class IgxGroupByRowTemplateDirective {
* @hidden
*/
@Directive({
- selector: '[igxGridDetail]'
+ selector: '[igxGridDetail]',
+ standalone: true
})
export class IgxGridDetailTemplateDirective {
public static ngTemplateContextGuard(_dir: IgxGridDetailTemplateDirective,
ctx: unknown): ctx is IgxGridMasterDetailContext {
return true
- };
+ }
}
/**
* @hidden
*/
@Directive({
- selector: '[igxRowExpandedIndicator]'
+ selector: '[igxRowExpandedIndicator]',
+ standalone: true
})
export class IgxRowExpandedIndicatorDirective {
public static ngTemplateContextGuard(_directive: IgxRowExpandedIndicatorDirective,
context: unknown): context is IgxGridRowTemplateContext {
return true
- };
+ }
}
/**
* @hidden
*/
@Directive({
- selector: '[igxRowCollapsedIndicator]'
+ selector: '[igxRowCollapsedIndicator]',
+ standalone: true
})
export class IgxRowCollapsedIndicatorDirective {
public static ngTemplateContextGuard(_directive: IgxRowCollapsedIndicatorDirective,
context: unknown): context is IgxGridRowTemplateContext {
return true
- };
+ }
}
@@ -71,85 +75,92 @@ export class IgxRowCollapsedIndicatorDirective {
* @hidden
*/
@Directive({
- selector: '[igxHeaderExpandedIndicator]'
+ selector: '[igxHeaderExpandedIndicator]',
+ standalone: true
})
export class IgxHeaderExpandIndicatorDirective {
public static ngTemplateContextGuard(_directive: IgxHeaderExpandIndicatorDirective,
context: unknown): context is IgxGridTemplateContext {
return true
- };
+ }
}
/**
* @hidden
*/
@Directive({
- selector: '[igxHeaderCollapsedIndicator]'
+ selector: '[igxHeaderCollapsedIndicator]',
+ standalone: true
})
export class IgxHeaderCollapseIndicatorDirective {
public static ngTemplateContextGuard(_directive: IgxHeaderCollapseIndicatorDirective,
context: unknown): context is IgxGridTemplateContext {
return true
- };
+ }
}
/**
* @hidden
*/
@Directive({
- selector: '[igxExcelStyleHeaderIcon]'
+ selector: '[igxExcelStyleHeaderIcon]',
+ standalone: true
})
export class IgxExcelStyleHeaderIconDirective {
public static ngTemplateContextGuard(_directive: IgxExcelStyleHeaderIconDirective,
context: unknown): context is IgxGridHeaderTemplateContext {
return true
- };
+ }
}
/**
* @hidden
*/
@Directive({
- selector: '[igxSortHeaderIcon]'
+ selector: '[igxSortHeaderIcon]',
+ standalone: true
})
export class IgxSortHeaderIconDirective {
public static ngTemplateContextGuard(_directive: IgxSortHeaderIconDirective,
context: unknown): context is IgxGridHeaderTemplateContext {
return true
- };
+ }
}
/**
* @hidden
*/
@Directive({
- selector: '[igxSortAscendingHeaderIcon]'
+ selector: '[igxSortAscendingHeaderIcon]',
+ standalone: true
})
export class IgxSortAscendingHeaderIconDirective {
public static ngTemplateContextGuard(_directive: IgxSortAscendingHeaderIconDirective,
context: unknown): context is IgxGridHeaderTemplateContext {
return true
- };
+ }
}
/**
* @hidden
*/
@Directive({
- selector: '[igxSortDescendingHeaderIcon]'
+ selector: '[igxSortDescendingHeaderIcon]',
+ standalone: true
})
export class IgxSortDescendingHeaderIconDirective {
public static ngTemplateContextGuard(_directive: IgxSortDescendingHeaderIconDirective,
context: unknown): context is IgxGridHeaderTemplateContext {
return true
- };
+ }
}
/**
* @hidden
*/
@Directive({
- selector: '[igxGroupAreaDrop]'
+ selector: '[igxGroupAreaDrop]',
+ standalone: true
})
export class IgxGroupAreaDropDirective extends IgxDropDirective {
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.groupby.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.groupby.spec.ts
index 5d34b2e2f74..616c806d5f4 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.groupby.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.groupby.spec.ts
@@ -6,9 +6,8 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxStringFilteringOperand } from '../../data-operations/filtering-condition';
import { IgxColumnComponent } from '../columns/column.component';
import { IgxGridComponent } from './grid.component';
-import { IgxGroupAreaDropDirective } from './grid.directives';
+import { IgxGroupAreaDropDirective, IgxGroupByRowTemplateDirective, IgxHeaderCollapseIndicatorDirective, IgxHeaderExpandIndicatorDirective, IgxRowCollapsedIndicatorDirective, IgxRowExpandedIndicatorDirective } from './grid.directives';
import { IgxColumnMovingDragDirective } from '../moving/moving.drag.directive';
-import { IgxGridModule, IgxGrouping } from './public_api';
import { IgxGridRowComponent } from './grid-row.component';
import { IgxChipComponent } from '../../chips/chip.component';
import { wait, UIInteractions } from '../../test-utils/ui-interactions.spec';
@@ -20,6 +19,11 @@ import { GridSelectionFunctions, GridFunctions, GRID_SCROLL_CLASS } from '../../
import { GridSelectionMode } from '../common/enums';
import { ControlsFunction } from '../../test-utils/controls-functions.spec';
import { IGroupingExpression } from '../../data-operations/grouping-expression.interface';
+import { IgxPaginatorComponent } from '../../paginator/paginator.component';
+import { NgFor, NgIf } from '@angular/common';
+import { IgxCheckboxComponent } from '../../checkbox/checkbox.component';
+import { IgxGroupByRowSelectorDirective } from '../selection/row-selectors';
+import { IgxGrouping } from '../public_api';
describe('IgxGrid - GroupBy #grid', () => {
@@ -32,18 +36,18 @@ describe('IgxGrid - GroupBy #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
DefaultGridComponent,
GroupableGridComponent,
CustomTemplateGridComponent,
GroupByDataMoreColumnsComponent,
GroupByEmptyColumnFieldComponent,
- MultiColumnHeadersWithGroupingComponent,
GridGroupByRowCustomSelectorsComponent,
GridGroupByCaseSensitiveComponent,
- GridGroupByTestDateTimeDataComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule]
+ GridGroupByTestDateTimeDataComponent,
+ MultiColumnHeadersWithGroupingComponent
+ ]
});
}));
@@ -540,8 +544,8 @@ describe('IgxGrid - GroupBy #grid', () => {
tick();
fix.detectChanges();
- let groupRows = grid.groupsRowList.toArray();
- let dataRows = grid.dataRowList.toArray();
+ const groupRows = grid.groupsRowList.toArray();
+ const dataRows = grid.dataRowList.toArray();
expect(groupRows.length).toEqual(2);
expect(dataRows.length).toEqual(5);
@@ -3722,7 +3726,9 @@ describe('IgxGrid - GroupBy #grid', () => {
Custom template
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxPaginatorComponent, NgIf]
})
export class DefaultGridComponent extends DataParent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -3782,19 +3788,21 @@ class MySortingStrategy extends IgxGrouping {
[data]="data"
[sortStrategy]="sortStrategy"
[groupStrategy]="groupStrategy">
-
-
+
-
-
-
-
+
+
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent]
})
export class GroupableGridComponent extends DataParent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -3817,11 +3825,11 @@ export class GroupableGridComponent extends DataParent {
[width]='width'
[height]='height'
[data]="data">
-
-
-
-
-
+
+
+
+
+
Grouping by "{{groupRow.column.header}}".
@@ -3847,7 +3855,9 @@ export class GroupableGridComponent extends DataParent {
CUSTOM GROUP BY
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxGroupByRowTemplateDirective, IgxRowExpandedIndicatorDirective, IgxRowCollapsedIndicatorDirective, IgxHeaderExpandIndicatorDirective, IgxHeaderCollapseIndicatorDirective]
})
export class CustomTemplateGridComponent extends DataParent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -3866,10 +3876,12 @@ export class CustomTemplateGridComponent extends DataParent {
[width]='width'
[height]='height'
[data]="testData">
-
+
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class GroupByDataMoreColumnsComponent extends DataParent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -3907,7 +3919,9 @@ export class GroupByDataMoreColumnsComponent extends DataParent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GroupByEmptyColumnFieldComponent extends DataParent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -3924,13 +3938,13 @@ export class CustomSortingStrategy extends DefaultSortingStrategy {
[width]='width'
[height]='height'
[data]="data">
-
-
+
-
-
-
+
+
Selected rows in the group: {{context.selectedCount}};
@@ -3938,7 +3952,9 @@ export class CustomSortingStrategy extends DefaultSortingStrategy {
Group Row instance: {{context.groupRow}};
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxGroupByRowSelectorDirective, IgxCheckboxComponent]
})
export class GridGroupByRowCustomSelectorsComponent extends DataParent {
@ViewChild('gridGroupByRowCustomSelectors', { read: IgxGridComponent, static: true })
@@ -3958,11 +3974,13 @@ export class GridGroupByRowCustomSelectorsComponent extends DataParent {
[width]='width'
[height]='height'
[data]="testData">
-
-
+
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GridGroupByCaseSensitiveComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -4001,13 +4019,15 @@ export class GridGroupByCaseSensitiveComponent {
[width]='width'
[height]='height'
[data]="datesData">
-
-
-
-
-
+
+
+
+
+
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GridGroupByTestDateTimeDataComponent {
@ViewChild("grid", { read: IgxGridComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.master-detail.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.master-detail.spec.ts
index 10cb0254a35..b90047838bc 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.master-detail.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.master-detail.spec.ts
@@ -4,18 +4,22 @@ import { configureTestSuite } from '../../test-utils/configure-suite';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { By } from '@angular/platform-browser';
import { UIInteractions, wait, waitForActiveNodeChange } from '../../test-utils/ui-interactions.spec';
-import { CellType, IgxGridModule } from './public_api';
+import { IgxGridDetailTemplateDirective } from './public_api';
import { IgxGridComponent } from './grid.component';
import { IgxGridRowComponent } from './grid-row.component';
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
import { GridFunctions, GridSelectionFunctions } from '../../test-utils/grid-functions.spec';
import { IgxGridExpandableCellComponent } from './expandable-cell.component';
import { IgxStringFilteringOperand } from '../../data-operations/filtering-condition';
-import { IgxInputGroupComponent } from '../../input-group/public_api';
+import { IgxInputDirective, IgxInputGroupComponent } from '../../input-group/public_api';
import { GridSummaryCalculationMode, GridSummaryPosition, GridSelectionMode } from '../common/enums';
import { IgxCheckboxComponent } from '../../checkbox/checkbox.component';
import { clearGridSubs, setupGridScrollDetection } from '../../test-utils/helper-utils.spec';
import { SortingDirection } from '../../data-operations/sorting-strategy';
+import { IgxPaginatorComponent } from '../../paginator/paginator.component';
+import { NgFor, NgIf } from '@angular/common';
+import { IgxColumnLayoutComponent } from '../columns/column-layout.component';
+import { CellType, IgxColumnComponent } from '../public_api';
const DEBOUNCETIME = 30;
const ROW_TAG = 'igx-grid-row';
@@ -32,12 +36,12 @@ describe('IgxGrid Master Detail #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
DefaultGridMasterDetailComponent,
AllExpandedGridMasterDetailComponent,
MRLMasterDetailComponent
- ],
- imports: [IgxGridModule, NoopAnimationsModule]
+ ]
});
}));
@@ -1253,31 +1257,33 @@ describe('IgxGrid Master Detail #grid', () => {
@Component({
template: `
-
-
-
-
-
-
-
-
-
- Available
-
-
{{dataItem.Address}}
-
-
-
-
-
-
-
-
- NEW TEMPLATE
+
+
+
+
+
+
+
+
+ Available
+
{{dataItem.Address}}
+
+
+
+
+
+
+
+
+ NEW TEMPLATE
+
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxGridDetailTemplateDirective, IgxCheckboxComponent, IgxPaginatorComponent, IgxInputGroupComponent, IgxInputDirective, NgIf, NgFor]
})
export class DefaultGridMasterDetailComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1290,8 +1296,8 @@ export class DefaultGridMasterDetailComponent {
public height = '500px';
public data = SampleTestData.contactInfoDataFull();
public columns = [
- { field: 'ContactName', width: 400, dataType: 'string' },
- { field: 'CompanyName', width: 400, dataType: 'string' }
+ { field: 'ContactName', width: '400px' },
+ { field: 'CompanyName', width: '400px' }
];
public paging = false;
public perPage = 15;
@@ -1300,23 +1306,25 @@ export class DefaultGridMasterDetailComponent {
@Component({
template: `
-
-
-
-
-
-
-
-
- Available
-
-
{{dataItem.Address}}
-
+
+
+
+
+
+
+
+
+ Available
-
-
- `
+
{{dataItem.Address}}
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCheckboxComponent, IgxGridDetailTemplateDirective, NgFor]
})
export class AllExpandedGridMasterDetailComponent extends DefaultGridMasterDetailComponent implements OnInit {
public expStates = new Map
();
@@ -1331,7 +1339,7 @@ export class AllExpandedGridMasterDetailComponent extends DefaultGridMasterDetai
@Component({
template: `
-
@@ -1346,18 +1354,20 @@ export class AllExpandedGridMasterDetailComponent extends DefaultGridMasterDetai
-
-
-
-
- Available
-
-
{{dataItem.Address}}
-
+
+
+
+
+ Available
-
-
- `
+
{{dataItem.Address}}
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxGridDetailTemplateDirective, IgxColumnLayoutComponent, IgxCheckboxComponent, NgFor]
})
export class MRLMasterDetailComponent extends DefaultGridMasterDetailComponent { }
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.module.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.module.ts
index eb0e9ba0470..adb8dd0b53a 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.module.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.module.ts
@@ -1,64 +1,16 @@
-import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-import {
- IgxGroupByRowTemplateDirective,
- IgxGridDetailTemplateDirective
-} from './grid.directives';
-import { IgxGridComponent } from './grid.component';
-import {
- IgxGridPagingPipe,
- IgxGridGroupingPipe,
- IgxGridSortingPipe,
- IgxGridFilteringPipe
-} from './grid.pipes';
-import { IgxGridGroupByRowComponent } from './groupby-row.component';
-import { IgxGridRowComponent } from './grid-row.component';
-import { IgxGridCommonModule } from '../grid-common.module';
-import { IgxGridSummaryPipe } from './grid.summary.pipe';
-import { IgxGridDetailsPipe } from './grid.details.pipe';
-import { IgxGridExpandableCellComponent } from './expandable-cell.component';
-import { IgxGridGroupByAreaComponent } from '../grouping/grid-group-by-area.component';
-import { IgxTooltipModule } from '../../directives/tooltip';
-import { ReactiveFormsModule } from '@angular/forms';
+import { NgModule } from '@angular/core';
+import { IGX_GRID_DIRECTIVES } from './public_api';
+
/**
* @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
*/
@NgModule({
- declarations: [
- IgxGridComponent,
- IgxGridRowComponent,
- IgxGridGroupByRowComponent,
- IgxGroupByRowTemplateDirective,
- IgxGridDetailTemplateDirective,
- IgxGridGroupingPipe,
- IgxGridPagingPipe,
- IgxGridSortingPipe,
- IgxGridFilteringPipe,
- IgxGridSummaryPipe,
- IgxGridDetailsPipe,
- IgxGridExpandableCellComponent,
- IgxGridGroupByAreaComponent,
- ],
- exports: [
- IgxGridComponent,
- IgxGridExpandableCellComponent,
- IgxGridGroupByRowComponent,
- IgxGridRowComponent,
- IgxGroupByRowTemplateDirective,
- IgxGridDetailTemplateDirective,
- IgxGridGroupingPipe,
- IgxGridPagingPipe,
- IgxGridSortingPipe,
- IgxGridFilteringPipe,
- IgxGridSummaryPipe,
- IgxGridDetailsPipe,
- IgxGridGroupByAreaComponent,
- IgxGridCommonModule
- ],
imports: [
- IgxGridCommonModule,
- IgxTooltipModule,
- ReactiveFormsModule
+ ...IGX_GRID_DIRECTIVES
],
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
+ exports: [
+ ...IGX_GRID_DIRECTIVES
+ ]
})
export class IgxGridModule {}
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.multi-row-layout.integration.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.multi-row-layout.integration.spec.ts
index da3feacc596..eeb7a0b5aa5 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.multi-row-layout.integration.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.multi-row-layout.integration.spec.ts
@@ -3,7 +3,6 @@ import { TestBed, fakeAsync, tick, waitForAsync, ComponentFixture } from '@angul
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxGridComponent } from './grid.component';
-import { IgxGridModule } from './grid.module';
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
import { ViewChild, Component } from '@angular/core';
import { IgxColumnLayoutComponent } from '../columns/column-layout.component';
@@ -11,6 +10,12 @@ import { wait, UIInteractions } from '../../test-utils/ui-interactions.spec';
import { DefaultSortingStrategy, SortingDirection } from '../../data-operations/sorting-strategy';
import { GridFunctions, GRID_MRL_BLOCK } from '../../test-utils/grid-functions.spec';
import { ControlsFunction } from '../../test-utils/controls-functions.spec';
+import { IgxColumnComponent } from '../columns/column.component';
+import { IgxGridToolbarComponent } from '../toolbar/grid-toolbar.component';
+import { IgxGridToolbarActionsComponent } from '../toolbar/common';
+import { IgxGridToolbarHidingComponent } from '../toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../toolbar/grid-toolbar-pinning.component';
+import { NgFor, NgIf } from '@angular/common';
type FixtureType = ColumnLayoutGroupingTestComponent | ColumnLayouHidingTestComponent | ColumnLayoutResizingTestComponent
@@ -27,15 +32,14 @@ describe('IgxGrid - multi-row-layout Integration #grid - ', () => {
let grid: IgxGridComponent;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
ColumnLayoutPinningTestComponent,
ColumnLayoutFilteringTestComponent,
ColumnLayouHidingTestComponent,
ColumnLayoutGroupingTestComponent,
ColumnLayoutResizingTestComponent
- ],
- imports: [
- NoopAnimationsModule, IgxGridModule]
+ ]
});
}));
@@ -234,7 +238,7 @@ describe('IgxGrid - multi-row-layout Integration #grid - ', () => {
fixture.componentInstance.grid.width = '600px';
fixture.detectChanges();
- let gridFirstRow = grid.rowList.first;
+ const gridFirstRow = grid.rowList.first;
// group1 should be hidden on init, check DOM
GridFunctions.verifyLayoutHeadersAreAligned(grid, gridFirstRow);
GridFunctions.verifyDOMMatchesLayoutSettings(grid, gridFirstRow, fixture.componentInstance.colGroups.slice(1));
@@ -594,7 +598,7 @@ describe('IgxGrid - multi-row-layout Integration #grid - ', () => {
expect(grid.getColumnByName('Fax').pinned).toBeTruthy();
expect(grid.getColumnByName('Phone').pinned).toBeTruthy();
- let gridFirstRow = grid.rowList.first;
+ const gridFirstRow = grid.rowList.first;
GridFunctions.verifyDOMMatchesLayoutSettings(grid, gridFirstRow, fixture.componentInstance.colGroups.slice(2, 3));
// headers are aligned to cells
@@ -792,11 +796,11 @@ describe('IgxGrid - multi-row-layout Integration #grid - ', () => {
});
describe('Filtering ', () => {
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fixture = TestBed.createComponent(ColumnLayoutFilteringTestComponent);
fixture.detectChanges();
grid = fixture.componentInstance.grid;
- }));
+ });
it('should enforce excel style filtering.', () => {
const filteringCells = fixture.debugElement.queryAll(By.css('igx-grid-filtering-cell'));
@@ -830,11 +834,11 @@ describe('IgxGrid - multi-row-layout Integration #grid - ', () => {
});
describe('GroupBy ', () => {
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fixture = TestBed.createComponent(ColumnLayoutGroupingTestComponent);
fixture.detectChanges();
grid = fixture.componentInstance.grid;
- }));
+ });
it('should render rows correctly when grouped by a column and scrolling to bottom should not leave empty space.', async () => {
grid.height = '600px';
@@ -899,11 +903,11 @@ describe('IgxGrid - multi-row-layout Integration #grid - ', () => {
const GRID_COL_GROUP_THEAD = 'igx-grid-header-group';
const RESIZE_LINE_CLASS = '.igx-grid-th__resize-line';
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fixture = TestBed.createComponent(ColumnLayoutResizingTestComponent);
fixture.detectChanges();
grid = fixture.componentInstance.grid;
- }));
+ });
it('should correctly resize column on upper level with 3 spans and the two cols below it with span 1 that have width', async () => {
grid.width = '1500px';
@@ -1155,11 +1159,11 @@ describe('IgxGrid - multi-row-layout Integration #grid - ', () => {
});
describe('Selection ', () => {
- beforeEach(fakeAsync(() => {
+ beforeEach(() => {
fixture = TestBed.createComponent(ColumnLayoutGroupingTestComponent);
fixture.detectChanges();
grid = fixture.componentInstance.grid;
- }));
+ });
it('should return correct selected data via getSelectedData API.', () => {
const selectedData1 = [{
@@ -1204,7 +1208,9 @@ describe('IgxGrid - multi-row-layout Integration #grid - ', () => {
[colEnd]="col.colEnd" [rowEnd]="col.rowEnd" [field]='col.field'>
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnLayoutComponent, IgxColumnComponent, IgxGridToolbarComponent, IgxGridToolbarHidingComponent, IgxGridToolbarActionsComponent, NgIf, NgFor]
})
export class ColumnLayouHidingTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1251,7 +1257,9 @@ export class ColumnLayouHidingTestComponent {
[colEnd]="col.colEnd" [rowEnd]="col.rowEnd" [field]='col.field'>
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnLayoutComponent, IgxColumnComponent, IgxGridToolbarComponent, IgxGridToolbarPinningComponent, IgxGridToolbarActionsComponent, NgFor, NgIf]
})
export class ColumnLayoutPinningTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1293,7 +1301,9 @@ export class ColumnLayoutPinningTestComponent {
[colEnd]="col.colEnd" [rowEnd]="col.rowEnd" [field]='col.field'>
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnLayoutComponent, IgxColumnComponent, NgFor]
})
export class ColumnLayoutFilteringTestComponent extends ColumnLayoutPinningTestComponent {
}
@@ -1307,7 +1317,9 @@ export class ColumnLayoutFilteringTestComponent extends ColumnLayoutPinningTestC
[colEnd]="col.colEnd" [rowEnd]="col.rowEnd" [field]='col.field' [groupable]="col.groupable">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnLayoutComponent, IgxColumnComponent, NgFor]
})
export class ColumnLayoutGroupingTestComponent extends ColumnLayoutPinningTestComponent {
public override showToolbar = false;
@@ -1333,7 +1345,9 @@ export class ColumnLayoutGroupingTestComponent extends ColumnLayoutPinningTestCo
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnLayoutComponent, IgxColumnComponent, NgFor]
})
export class ColumnLayoutResizingTestComponent {
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.multi-row-layout.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.multi-row-layout.spec.ts
index 7df5097ec7d..5d5cd494839 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.multi-row-layout.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.multi-row-layout.spec.ts
@@ -1,5 +1,4 @@
import { TestBed, fakeAsync } from '@angular/core/testing';
-import { IgxGridModule } from './grid.module';
import { IgxGridComponent } from './grid.component';
import { Component, ViewChild } from '@angular/core';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
@@ -11,6 +10,9 @@ import { DefaultSortingStrategy, SortingDirection } from '../../data-operations/
import { configureTestSuite } from '../../test-utils/configure-suite';
import { ICellPosition } from '../common/events';
import { GridFunctions, GRID_MRL_BLOCK } from '../../test-utils/grid-functions.spec';
+import { NgFor } from '@angular/common';
+import { IgxColumnGroupComponent } from '../columns/column-group.component';
+import { IgxColumnComponent } from '../columns/column.component';
const GRID_COL_THEAD_CLASS = '.igx-grid-th';
const GRID_MRL_BLOCK_CLASS = `.${GRID_MRL_BLOCK}`;
@@ -19,13 +21,10 @@ describe('IgxGrid - multi-row-layout #grid', () => {
const DEBOUNCETIME = 60;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- ColumnLayoutTestComponent,
- ColumnLayoutAndGroupsTestComponent
- ],
imports: [
NoopAnimationsModule,
- IgxGridModule
+ ColumnLayoutTestComponent,
+ ColumnLayoutAndGroupsTestComponent
]
});
}));
@@ -92,7 +91,7 @@ describe('IgxGrid - multi-row-layout #grid', () => {
fixture.componentInstance.grid.width = '617px';
fixture.detectChanges();
const grid = fixture.componentInstance.grid;
- let gridFirstRow = grid.rowList.first;
+ const gridFirstRow = grid.rowList.first;
// headers are aligned to cells
GridFunctions.verifyLayoutHeadersAreAligned(grid, gridFirstRow);
@@ -1144,7 +1143,9 @@ describe('IgxGrid - multi-row-layout #grid', () => {
[colEnd]="col.colEnd" [rowEnd]="col.rowEnd" [field]='col.field' [editable]='col.editable'>
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnLayoutComponent, IgxColumnComponent, NgFor]
})
export class ColumnLayoutTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1180,7 +1181,9 @@ export class ColumnLayoutTestComponent {
[colEnd]="col.colEnd" [rowEnd]="col.rowEnd" [field]='col.field'>
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnLayoutComponent, IgxColumnComponent, IgxColumnGroupComponent, NgFor]
})
export class ColumnLayoutAndGroupsTestComponent extends ColumnLayoutTestComponent {
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.nested.props.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.nested.props.spec.ts
index 27fa7fd9fba..7b4cd79bede 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.nested.props.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.nested.props.spec.ts
@@ -1,6 +1,5 @@
import { configureTestSuite } from '../../test-utils/configure-suite';
import { TestBed, ComponentFixture, fakeAsync } from '@angular/core/testing';
-import { IgxGridModule } from './grid.module';
import { IgxGridComponent } from './grid.component';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxStringFilteringOperand } from '../../data-operations/filtering-condition';
@@ -8,13 +7,12 @@ import { cloneArray, resolveNestedPath } from '../../core/utils';
import { Component, DebugElement, ViewChild } from '@angular/core';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
import { GridFunctions } from '../../test-utils/grid-functions.spec';
-import { IgxComboComponent, IgxComboModule } from '../../combo/public_api';
-import { IgxFocusModule } from '../../directives/focus/focus.directive';
-import { FormsModule, ReactiveFormsModule } from '@angular/forms';
-import { IgxToggleModule } from '../../directives/toggle/toggle.directive';
-import { IgxInputGroupModule } from '../../input-group/public_api';
+import { IgxComboComponent } from '../../combo/public_api';
import { IGridEditEventArgs } from '../common/events';
import { SortingDirection } from '../../data-operations/sorting-strategy';
+import { IgxColumnComponent } from '../public_api';
+import { IgxCellEditorTemplateDirective, IgxCellTemplateDirective } from '../columns/templates.directive';
+import { FormsModule } from '@angular/forms';
const first =
(array: T[]): T => array[0];
@@ -128,7 +126,9 @@ const DATA2 = [
];
@Component({
- template: ` `
+ template: ` `,
+ standalone: true,
+ imports: [IgxGridComponent]
})
class NestedPropertiesGridComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent })
@@ -145,7 +145,9 @@ class NestedPropertiesGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
class NestedPropertiesGrid2Component {
@ViewChild('grid', { static: true, read: IgxGridComponent })
@@ -153,10 +155,10 @@ class NestedPropertiesGrid2Component {
}
@Component({
- template: `
+ template: `
-
-
+
+
{{ parseArray(cell.value) }}
@@ -164,7 +166,9 @@ class NestedPropertiesGrid2Component {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective, IgxCellEditorTemplateDirective, IgxComboComponent, FormsModule]
})
class NestedPropertyGridComponent {
@ViewChild('grid', { static: true, read: IgxGridComponent })
@@ -210,8 +214,7 @@ describe('Grid - nested data source properties #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [NestedPropertiesGridComponent],
- imports: [IgxGridModule, NoopAnimationsModule]
+ imports: [NoopAnimationsModule, NestedPropertiesGridComponent]
});
}));
@@ -343,8 +346,7 @@ describe('Grid nested data advanced editing #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [NestedPropertiesGrid2Component],
- imports: [IgxGridModule, NoopAnimationsModule]
+ imports: [NoopAnimationsModule, NestedPropertiesGrid2Component]
});
}));
@@ -502,9 +504,7 @@ describe('Edit cell with data of type Array #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [NestedPropertyGridComponent],
- imports: [IgxGridModule, IgxComboModule, FormsModule, IgxToggleModule,
- ReactiveFormsModule, IgxFocusModule, IgxInputGroupModule, NoopAnimationsModule]
+ imports: [NoopAnimationsModule, NestedPropertyGridComponent]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.pagination.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.pagination.spec.ts
index 27202f90afa..e69db157e91 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.pagination.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.pagination.spec.ts
@@ -1,5 +1,4 @@
import { TestBed, fakeAsync, tick } from '@angular/core/testing';
-import { IgxGridModule } from './public_api';
import { GridWithUndefinedDataComponent } from '../../test-utils/grid-samples.spec';
import { PagingComponent, RemotePagingComponent } from '../../test-utils/grid-base-components.spec';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
@@ -34,12 +33,9 @@ const verifyGridPager = (fix, rowsCount, firstCellValue, pagerText, buttonsVisib
describe('IgxGrid - Grid Paging #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- PagingComponent,
+ imports: [NoopAnimationsModule, PagingComponent,
GridWithUndefinedDataComponent,
- RemotePagingComponent
- ],
- imports: [IgxGridModule, NoopAnimationsModule]
+ RemotePagingComponent]
});
}));
@@ -453,7 +449,7 @@ describe('IgxGrid - Grid Paging #grid', () => {
expect(errorMessage).toBe('');
grid = fix.componentInstance.grid;
expect(grid.rowList.length).toBe(0);
- tick(305);
+ tick(16);
fix.detectChanges();
expect(grid.rowList.length).toBe(5);
@@ -476,7 +472,7 @@ describe('IgxGrid - Grid Paging #grid', () => {
grid = fix.componentInstance.grid;
expect(grid.paginator.totalPages).toBe(4);
const page = (index: number) => grid.page = index;
- let desiredPageIndex = 2;
+ const desiredPageIndex = 2;
page(2);
fix.detectChanges();
tick();
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.pinning.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.pinning.spec.ts
index e28e00da373..0f216fd115e 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.pinning.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.pinning.spec.ts
@@ -1,11 +1,9 @@
import { TestBed, fakeAsync, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxGridModule } from './public_api';
import { IgxStringFilteringOperand } from '../../data-operations/filtering-condition';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { ColumnPinningPosition, GridSelectionMode } from '../common/enums';
-import { IPinningConfig } from '../grid.common';
import { wait, UIInteractions } from '../../test-utils/ui-interactions.spec';
import {
CELL_PINNED_CLASS,
@@ -28,6 +26,7 @@ import { IgxGridComponent } from './grid.component';
import { DropPosition } from '../moving/moving.service';
import { clearGridSubs, setupGridScrollDetection } from '../../test-utils/helper-utils.spec';
import { SortingDirection } from '../../data-operations/sorting-strategy';
+import { IPinningConfig } from '../public_api';
describe('IgxGrid - Column Pinning #grid', () => {
@@ -37,15 +36,14 @@ describe('IgxGrid - Column Pinning #grid', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
PinningComponent,
PinOnInitAndSelectionComponent,
GridFeaturesComponent,
MultiColumnHeadersWithGroupingComponent,
GridPinningMRLComponent
-
- ],
- imports: [NoopAnimationsModule, IgxGridModule]
+ ]
}).compileComponents();
}))
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.pipes.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.pipes.ts
index e26f183436b..314c1e496b4 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.pipes.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.pipes.ts
@@ -14,7 +14,10 @@ import { IGridSortingStrategy, IGridGroupingStrategy } from '../common/strategy'
/**
* @hidden
*/
-@Pipe({ name: 'gridSort' })
+@Pipe({
+ name: 'gridSort',
+ standalone: true
+})
export class IgxGridSortingPipe implements PipeTransform {
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
@@ -37,7 +40,10 @@ export class IgxGridSortingPipe implements PipeTransform {
/**
* @hidden
*/
-@Pipe({ name: 'gridGroupBy' })
+@Pipe({
+ name: 'gridGroupBy',
+ standalone: true
+})
export class IgxGridGroupingPipe implements PipeTransform {
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
@@ -74,7 +80,10 @@ export class IgxGridGroupingPipe implements PipeTransform {
/**
* @hidden
*/
-@Pipe({ name: 'gridPaging' })
+@Pipe({
+ name: 'gridPaging',
+ standalone: true
+})
export class IgxGridPagingPipe implements PipeTransform {
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
@@ -105,7 +114,10 @@ export class IgxGridPagingPipe implements PipeTransform {
/**
* @hidden
*/
-@Pipe({ name: 'gridFiltering' })
+@Pipe({
+ name: 'gridFiltering',
+ standalone: true
+})
export class IgxGridFilteringPipe implements PipeTransform {
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.search.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.search.spec.ts
index 34e9249e8ed..e966324031e 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.search.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.search.spec.ts
@@ -1,6 +1,6 @@
import { TestBed, fakeAsync, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { IgxGridModule, IgxGridComponent } from './public_api';
+import { IgxGridComponent } from './public_api';
import { BasicGridSearchComponent } from '../../test-utils/grid-base-components.spec';
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
import { GridWithAvatarComponent, GroupableGridSearchComponent, ScrollableGridSearchComponent } from '../../test-utils/grid-samples.spec';
@@ -25,13 +25,13 @@ describe('IgxGrid - search API #grid', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
BasicGridSearchComponent,
GridWithAvatarComponent,
GroupableGridSearchComponent,
ScrollableGridSearchComponent
- ],
- imports: [IgxGridModule, NoopAnimationsModule]
+ ]
}).compileComponents();
}))
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.sorting.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.sorting.spec.ts
index 9200e59f66a..4c59f0943e0 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.sorting.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.sorting.spec.ts
@@ -1,6 +1,5 @@
import { TestBed, fakeAsync, tick } from '@angular/core/testing';
import { IgxGridComponent } from './grid.component';
-import { IgxGridModule } from './public_api';
import { DefaultSortingStrategy, SortingDirection } from '../../data-operations/sorting-strategy';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
@@ -18,13 +17,12 @@ describe('IgxGrid - Grid Sorting #grid', () => {
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
+ imports: [
GridDeclaredColumnsComponent,
SortByParityComponent,
GridWithPrimaryKeyComponent,
- SortByAnotherColumnComponent
- ],
- imports: [NoopAnimationsModule, IgxGridModule]
+ NoopAnimationsModule
+ ]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.summary.pipe.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.summary.pipe.ts
index 463b574558e..edb74f3652c 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid.summary.pipe.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid.summary.pipe.ts
@@ -9,7 +9,10 @@ import { GridType, IGX_GRID_BASE } from '../common/grid.interface';
interface ISkipRecord { skip?: boolean }
/** @hidden */
-@Pipe({ name: 'gridSummary' })
+@Pipe({
+ name: 'gridSummary',
+ standalone: true
+})
export class IgxGridSummaryPipe implements PipeTransform {
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
diff --git a/projects/igniteui-angular/src/lib/grids/grid/groupby-row.component.ts b/projects/igniteui-angular/src/lib/grids/grid/groupby-row.component.ts
index fe61f06877f..b3f40b63e8c 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/groupby-row.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/groupby-row.component.ts
@@ -11,22 +11,41 @@ import {
OnDestroy,
Inject
} from '@angular/core';
+import { NgIf, NgTemplateOutlet, DecimalPipe, DatePipe, getLocaleCurrencyCode, PercentPipe, CurrencyPipe } from '@angular/common';
+
+import { takeUntil } from 'rxjs/operators';
+import { Subject } from 'rxjs';
+
import { IGroupByRecord } from '../../data-operations/groupby-record.interface';
import { GridColumnDataType } from '../../data-operations/data-util';
import { IgxGridSelectionService } from '../selection/selection.service';
import { GridType, IGX_GRID_BASE } from '../common/grid.interface';
import { IgxFilteringService } from '../filtering/grid-filtering.service';
-import { takeUntil } from 'rxjs/operators';
-import { Subject } from 'rxjs';
import { IgxGridRowComponent } from './grid-row.component';
import { GridSelectionMode } from '../common/enums';
import { ISelectionNode } from '../common/types';
-import { getLocaleCurrencyCode } from '@angular/common';
+import { IgxCheckboxComponent } from '../../checkbox/checkbox.component';
+import { IgxBadgeComponent } from '../../badge/badge.component';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { IgxColumnFormatterPipe } from '../common/pipes';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'igx-grid-groupby-row',
- templateUrl: './groupby-row.component.html'
+ templateUrl: './groupby-row.component.html',
+ standalone: true,
+ imports: [
+ NgIf,
+ NgTemplateOutlet,
+ DecimalPipe,
+ DatePipe,
+ PercentPipe,
+ CurrencyPipe,
+ IgxIconComponent,
+ IgxBadgeComponent,
+ IgxCheckboxComponent,
+ IgxColumnFormatterPipe
+ ]
})
export class IgxGridGroupByRowComponent implements OnDestroy {
/**
diff --git a/projects/igniteui-angular/src/lib/grids/grid/public_api.ts b/projects/igniteui-angular/src/lib/grids/grid/public_api.ts
index 9301722b2a7..d4ba319f19e 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/public_api.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/public_api.ts
@@ -1,11 +1,23 @@
-export * from '../public_api';
+import { IGX_GRID_COMMON_DIRECTIVES } from '../public_api';
+import { IgxGridComponent } from './grid.component';
+import { IgxExcelStyleHeaderIconDirective, IgxGridDetailTemplateDirective, IgxGroupAreaDropDirective, IgxGroupByRowTemplateDirective, IgxHeaderCollapseIndicatorDirective, IgxHeaderExpandIndicatorDirective, IgxRowCollapsedIndicatorDirective, IgxRowExpandedIndicatorDirective, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective, IgxSortHeaderIconDirective } from './grid.directives';
+
export * from './grid.component';
export * from './grid.directives';
-export * from './grid.module';
-export * from './grid-api.service';
-export * from './grid.pipes';
-export { IgxGridRowComponent as Ï´IgxGridRowComponent} from './grid-row.component';
-export * from './grid.summary.pipe';
-export * from './grid.details.pipe';
-export * from './groupby-row.component';
-export * from './expandable-cell.component';
+
+/* NOTE: Grid directives collection for ease-of-use import in standalone components scenario */
+export const IGX_GRID_DIRECTIVES = [
+ IgxGridComponent,
+ IgxGroupByRowTemplateDirective,
+ IgxGridDetailTemplateDirective,
+ IgxRowExpandedIndicatorDirective,
+ IgxRowCollapsedIndicatorDirective,
+ IgxHeaderExpandIndicatorDirective,
+ IgxHeaderCollapseIndicatorDirective,
+ IgxExcelStyleHeaderIconDirective,
+ IgxSortHeaderIconDirective,
+ IgxSortAscendingHeaderIconDirective,
+ IgxSortDescendingHeaderIconDirective,
+ IgxGroupAreaDropDirective,
+ ...IGX_GRID_COMMON_DIRECTIVES
+] as const;
diff --git a/projects/igniteui-angular/src/lib/grids/grid/row-drag.directive.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/row-drag.directive.spec.ts
index ded90f8c5e2..36217c635f8 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/row-drag.directive.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/row-drag.directive.spec.ts
@@ -1,6 +1,5 @@
import { Component, ViewChild, DebugElement, QueryList, TemplateRef } from '@angular/core';
import { TestBed, ComponentFixture } from '@angular/core/testing';
-import { FormsModule } from '@angular/forms';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
@@ -9,20 +8,21 @@ import { UIInteractions, wait } from '../../test-utils/ui-interactions.spec';
import { DataParent, SampleTestData } from '../../test-utils/sample-test-data.spec';
import { Point } from '../../services/public_api';
-import { IgxGridModule } from './grid.module';
import { IgxGridComponent } from './grid.component';
import { IgxColumnComponent } from '../columns/column.component';
-import { IgxRowDragDirective } from '../row-drag.directive';
+import { IgxDragIndicatorIconDirective, IgxRowDragDirective, IgxRowDragGhostDirective } from '../row-drag.directive';
import { IRowDragStartEventArgs, IRowDragEndEventArgs } from '../common/events';
import { IgxDropDirective } from '../../directives/drag-drop/drag-drop.directive';
import { IgxStringFilteringOperand } from '../../data-operations/filtering-condition';
-import { IgxHierarchicalGridComponent, IgxHierarchicalGridModule } from '../hierarchical-grid/public_api';
+import { IgxHierarchicalGridComponent } from '../hierarchical-grid/public_api';
import { IgxRowIslandComponent } from '../hierarchical-grid/row-island.component';
-import { IgxTreeGridComponent, IgxTreeGridModule } from '../tree-grid/public_api';
+import { IgxTreeGridComponent } from '../tree-grid/public_api';
import { GridSelectionMode } from '../common/enums';
import { CellType, GridType, RowType } from '../common/grid.interface';
import { SortingDirection } from '../../data-operations/sorting-strategy';
import { IgxRowDirective } from '../row.directive';
+import { NgStyle } from '@angular/common';
+import { IgxIconComponent } from '../../icon/icon.component';
const DEBOUNCE_TIME = 50;
const CSS_CLASS_DRAG_INDICATOR = '.igx-grid__drag-indicator';
@@ -61,13 +61,9 @@ describe('Row Drag Tests', () => {
let rowToDrag: IgxRowDirective;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxGridRowDraggableComponent
- ],
imports: [
- FormsModule,
NoopAnimationsModule,
- IgxGridModule
+ IgxGridRowDraggableComponent
]
});
}));
@@ -412,13 +408,9 @@ describe('Row Drag Tests', () => {
let dragRows: DebugElement[];
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxGridRowCustomGhostDraggableComponent
- ],
imports: [
- FormsModule,
NoopAnimationsModule,
- IgxGridModule
+ IgxGridRowCustomGhostDraggableComponent
]
});
}));
@@ -501,13 +493,9 @@ describe('Row Drag Tests', () => {
let dragRows: DebugElement[];
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxGridFeaturesRowDragComponent
- ],
imports: [
- FormsModule,
NoopAnimationsModule,
- IgxGridModule
+ IgxGridFeaturesRowDragComponent
]
});
}));
@@ -957,15 +945,10 @@ describe('Row Drag Tests', () => {
let pointerMoveToDropEvent: PointerEvent;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxHierarchicalGridTestComponent,
- IgxHierarchicalGridCustomGhostTestComponent
- ],
imports: [
- FormsModule,
NoopAnimationsModule,
- IgxGridModule,
- IgxHierarchicalGridModule
+ IgxHierarchicalGridTestComponent,
+ IgxHierarchicalGridCustomGhostTestComponent
]
});
}));
@@ -1111,14 +1094,9 @@ describe('Row Drag Tests', () => {
let pointerMoveToDropEvent: PointerEvent;
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxTreeGridTestComponent
- ],
imports: [
- FormsModule,
NoopAnimationsModule,
- IgxGridModule,
- IgxTreeGridModule
+ IgxTreeGridTestComponent
]
});
}));
@@ -1210,7 +1188,9 @@ describe('Row Drag Tests', () => {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxDropDirective, NgStyle]
})
export class IgxGridRowDraggableComponent extends DataParent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1278,7 +1258,9 @@ export class IgxGridRowDraggableComponent extends DataParent {
expand_less
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxIconComponent, IgxDropDirective, IgxRowDragGhostDirective, IgxDragIndicatorIconDirective, NgStyle]
})
export class IgxGridRowCustomGhostDraggableComponent extends DataParent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1340,7 +1322,9 @@ export class IgxGridRowCustomGhostDraggableComponent extends DataParent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxDropDirective]
})
export class IgxGridFeaturesRowDragComponent extends DataParent {
@ViewChild('dragGrid', { read: IgxGridComponent, static: true })
@@ -1379,7 +1363,9 @@ export class IgxGridFeaturesRowDragComponent extends DataParent {
- `
+ `,
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxColumnComponent, IgxRowIslandComponent, IgxDropDirective]
})
export class IgxHierarchicalGridTestComponent {
@ViewChild('hierarchicalDragGrid', { read: IgxHierarchicalGridComponent, static: true }) public hDragGrid: IgxHierarchicalGridComponent;
@@ -1418,7 +1404,9 @@ export class IgxHierarchicalGridTestComponent {
Moving {{data.ProductName}}!
- `
+ `,
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxRowIslandComponent, IgxRowDragGhostDirective]
})
export class IgxHierarchicalGridCustomGhostTestComponent {
@ViewChild('hierarchicalDragGrid', { read: IgxHierarchicalGridComponent, static: true }) public hDragGrid: IgxHierarchicalGridComponent;
@@ -1449,7 +1437,9 @@ export class IgxHierarchicalGridCustomGhostTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxGridComponent, IgxColumnComponent, IgxDropDirective]
})
export class IgxTreeGridTestComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -1522,7 +1512,7 @@ const verifyRowDragStartEvent =(
dragRow: RowType,
dragElement: HTMLElement,
dragDirective: IgxRowDragDirective,
- timesCalled: number = 1,
+ timesCalled = 1,
cancel = false) => {
expect(grid.rowDragStart.emit).toHaveBeenCalledTimes(timesCalled);
expect(grid.rowDragStart.emit).toHaveBeenCalledWith({
@@ -1548,7 +1538,7 @@ const verifyRowDragEndEvent = (
dragElement: HTMLElement,
dragDirective: IgxRowDragDirective,
animations: boolean,
- timesCalled: number = 1) => {
+ timesCalled = 1) => {
expect(grid.rowDragEnd.emit).toHaveBeenCalledTimes(timesCalled);
expect(grid.rowDragEnd.emit).toHaveBeenCalledWith({
dragDirective,
diff --git a/projects/igniteui-angular/src/lib/grids/grouping/grid-group-by-area.component.ts b/projects/igniteui-angular/src/lib/grids/grouping/grid-group-by-area.component.ts
index ea420c22d7f..348bd520fa6 100644
--- a/projects/igniteui-angular/src/lib/grids/grouping/grid-group-by-area.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/grouping/grid-group-by-area.component.ts
@@ -8,7 +8,14 @@ import { PlatformUtil } from '../../core/utils';
import { IGroupingExpression } from '../../data-operations/grouping-expression.interface';
import { ISortingExpression } from '../../data-operations/sorting-strategy';
import { FlatGridType } from '../common/grid.interface';
-import { IgxGroupByAreaDirective } from './group-by-area.directive';
+import { IgxGroupByAreaDirective, IgxGroupByMetaPipe } from './group-by-area.directive';
+import { IgxDropDirective } from '../../directives/drag-drop/drag-drop.directive';
+import { IgxGroupAreaDropDirective } from '../grid/grid.directives';
+import { IgxSuffixDirective } from '../../directives/suffix/suffix.directive';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { IgxChipComponent } from '../../chips/chip.component';
+import { NgFor, NgTemplateOutlet } from '@angular/common';
+import { IgxChipsAreaComponent } from '../../chips/chips-area.component';
/**
* An internal component representing the group-by drop area for the igx-grid component.
@@ -18,7 +25,9 @@ import { IgxGroupByAreaDirective } from './group-by-area.directive';
@Component({
selector: 'igx-grid-group-by-area',
templateUrl: 'group-by-area.component.html',
- providers: [{ provide: IgxGroupByAreaDirective, useExisting: IgxGridGroupByAreaComponent }]
+ providers: [{ provide: IgxGroupByAreaDirective, useExisting: IgxGridGroupByAreaComponent }],
+ standalone: true,
+ imports: [IgxChipsAreaComponent, NgFor, IgxChipComponent, IgxIconComponent, IgxSuffixDirective, IgxGroupAreaDropDirective, IgxDropDirective, NgTemplateOutlet, IgxGroupByMetaPipe]
})
export class IgxGridGroupByAreaComponent extends IgxGroupByAreaDirective {
@Input()
diff --git a/projects/igniteui-angular/src/lib/grids/grouping/group-by-area.directive.ts b/projects/igniteui-angular/src/lib/grids/grouping/group-by-area.directive.ts
index 3aa6479c5a1..ff439b1ea95 100644
--- a/projects/igniteui-angular/src/lib/grids/grouping/group-by-area.directive.ts
+++ b/projects/igniteui-angular/src/lib/grids/grouping/group-by-area.directive.ts
@@ -12,7 +12,7 @@ import {
ViewChildren
} from '@angular/core';
import { IChipsAreaReorderEventArgs, IgxChipComponent } from '../../chips/public_api';
-import { DisplayDensity } from '../../core/displayDensity';
+import { DisplayDensity } from '../../core/density';
import { PlatformUtil } from '../../core/utils';
import { IGroupingExpression } from '../../data-operations/grouping-expression.interface';
import { SortingDirection } from '../../data-operations/sorting-strategy';
@@ -187,7 +187,10 @@ export abstract class IgxGroupByAreaDirective {
*
* @hidden @internal
*/
-@Pipe({ name: 'igxGroupByMeta' })
+@Pipe({
+ name: 'igxGroupByMeta',
+ standalone: true
+})
export class IgxGroupByMetaPipe implements PipeTransform {
public transform(key: string, grid: GridType) {
diff --git a/projects/igniteui-angular/src/lib/grids/grouping/tree-grid-group-by-area.component.ts b/projects/igniteui-angular/src/lib/grids/grouping/tree-grid-group-by-area.component.ts
index 4f06fdd6ead..962ec414970 100644
--- a/projects/igniteui-angular/src/lib/grids/grouping/tree-grid-group-by-area.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/grouping/tree-grid-group-by-area.component.ts
@@ -13,7 +13,14 @@ import { IChipsAreaReorderEventArgs } from '../../chips/public_api';
import { PlatformUtil } from '../../core/utils';
import { IGroupingExpression } from '../../data-operations/grouping-expression.interface';
import { ISortingExpression } from '../../data-operations/sorting-strategy';
-import { IgxGroupByAreaDirective } from './group-by-area.directive';
+import { IgxGroupByAreaDirective, IgxGroupByMetaPipe } from './group-by-area.directive';
+import { IgxDropDirective } from '../../directives/drag-drop/drag-drop.directive';
+import { IgxGroupAreaDropDirective } from '../grid/grid.directives';
+import { IgxSuffixDirective } from '../../directives/suffix/suffix.directive';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { IgxChipComponent } from '../../chips/chip.component';
+import { NgFor, NgTemplateOutlet } from '@angular/common';
+import { IgxChipsAreaComponent } from '../../chips/chips-area.component';
/**
* An internal component representing the group-by drop area for the igx-grid component.
@@ -23,7 +30,9 @@ import { IgxGroupByAreaDirective } from './group-by-area.directive';
@Component({
selector: 'igx-tree-grid-group-by-area',
templateUrl: 'group-by-area.component.html',
- providers: [{ provide: IgxGroupByAreaDirective, useExisting: IgxTreeGridGroupByAreaComponent }]
+ providers: [{ provide: IgxGroupByAreaDirective, useExisting: IgxTreeGridGroupByAreaComponent }],
+ standalone: true,
+ imports: [IgxChipsAreaComponent, NgFor, IgxChipComponent, IgxIconComponent, IgxSuffixDirective, IgxGroupAreaDropDirective, IgxDropDirective, NgTemplateOutlet, IgxGroupByMetaPipe]
})
export class IgxTreeGridGroupByAreaComponent extends IgxGroupByAreaDirective implements AfterContentInit, OnDestroy {
@Input()
diff --git a/projects/igniteui-angular/src/lib/grids/headers/grid-header-group.component.ts b/projects/igniteui-angular/src/lib/grids/headers/grid-header-group.component.ts
index 2ffdccbc057..3b23ac8caa3 100644
--- a/projects/igniteui-angular/src/lib/grids/headers/grid-header-group.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/headers/grid-header-group.component.ts
@@ -20,6 +20,12 @@ import { IgxGridFilteringCellComponent } from '../filtering/base/grid-filtering-
import { ColumnType, GridType, IGX_GRID_BASE } from '../common/grid.interface';
import { GridSelectionMode } from '../common/enums';
import { PlatformUtil } from '../../core/utils';
+import { IgxHeaderGroupWidthPipe, IgxHeaderGroupStylePipe } from './pipes';
+import { IgxResizeHandleDirective } from '../resizing/resize-handle.directive';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { IgxColumnMovingDropDirective } from '../moving/moving.drop.directive';
+import { IgxColumnMovingDragDirective } from '../moving/moving.drag.directive';
+import { NgIf, NgClass, NgStyle, NgFor, NgTemplateOutlet } from '@angular/common';
const Z_INDEX = 9999;
@@ -29,7 +35,9 @@ const Z_INDEX = 9999;
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'igx-grid-header-group',
- templateUrl: './grid-header-group.component.html'
+ templateUrl: './grid-header-group.component.html',
+ standalone: true,
+ imports: [NgIf, NgClass, NgStyle, NgFor, IgxColumnMovingDragDirective, IgxColumnMovingDropDirective, IgxIconComponent, NgTemplateOutlet, IgxGridHeaderComponent, IgxGridFilteringCellComponent, IgxResizeHandleDirective, IgxHeaderGroupWidthPipe, IgxHeaderGroupStylePipe]
})
export class IgxGridHeaderGroupComponent implements DoCheck {
diff --git a/projects/igniteui-angular/src/lib/grids/headers/grid-header-row.component.ts b/projects/igniteui-angular/src/lib/grids/headers/grid-header-row.component.ts
index 245e8c0aa22..8db488ce2fa 100644
--- a/projects/igniteui-angular/src/lib/grids/headers/grid-header-row.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/headers/grid-header-row.component.ts
@@ -11,7 +11,7 @@ import {
ViewChild,
ViewChildren
} from '@angular/core';
-import { DisplayDensity } from '../../core/displayDensity';
+import { DisplayDensity } from '../../core/density';
import { flatten } from '../../core/utils';
import { IgxGridForOfDirective } from '../../directives/for-of/for_of.directive';
import { ColumnType, GridType, IgxHeadSelectorTemplateContext } from '../common/grid.interface';
@@ -19,6 +19,11 @@ import { IgxGridFilteringCellComponent } from '../filtering/base/grid-filtering-
import { IgxGridFilteringRowComponent } from '../filtering/base/grid-filtering-row.component';
import { IgxGridHeaderGroupComponent } from './grid-header-group.component';
import { IgxGridHeaderComponent } from './grid-header.component';
+import { IgxHeaderGroupWidthPipe, IgxHeaderGroupStylePipe } from './pipes';
+import { IgxGridTopLevelColumns } from '../common/pipes';
+import { IgxCheckboxComponent } from '../../checkbox/checkbox.component';
+import { IgxColumnMovingDropDirective } from '../moving/moving.drop.directive';
+import { NgIf, NgTemplateOutlet, NgClass, NgFor, NgStyle } from '@angular/common';
/**
*
@@ -31,7 +36,9 @@ import { IgxGridHeaderComponent } from './grid-header.component';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'igx-grid-header-row',
- templateUrl: './grid-header-row.component.html'
+ templateUrl: './grid-header-row.component.html',
+ standalone: true,
+ imports: [NgIf, IgxColumnMovingDropDirective, NgTemplateOutlet, NgClass, NgFor, IgxGridHeaderGroupComponent, NgStyle, IgxGridForOfDirective, IgxGridFilteringRowComponent, IgxCheckboxComponent, IgxGridTopLevelColumns, IgxHeaderGroupWidthPipe, IgxHeaderGroupStylePipe]
})
export class IgxGridHeaderRowComponent implements DoCheck {
diff --git a/projects/igniteui-angular/src/lib/grids/headers/grid-header.component.ts b/projects/igniteui-angular/src/lib/grids/headers/grid-header.component.ts
index 1365d59ce3a..184a05ff0f6 100644
--- a/projects/igniteui-angular/src/lib/grids/headers/grid-header.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/headers/grid-header.component.ts
@@ -17,8 +17,11 @@ import { IgxColumnResizingService } from '../resizing/resizing.service';
import { Subject } from 'rxjs';
import { ColumnType, GridType, IGX_GRID_BASE } from '../common/grid.interface';
import { GridSelectionMode } from '../common/enums';
-import { DisplayDensity } from '../../core/displayDensity';
+import { DisplayDensity } from '../../core/density';
import { SortingDirection } from '../../data-operations/sorting-strategy';
+import { SortingIndexPipe } from './pipes';
+import { NgTemplateOutlet, NgIf, NgClass } from '@angular/common';
+import { IgxIconComponent } from '../../icon/icon.component';
/**
* @hidden
@@ -26,7 +29,9 @@ import { SortingDirection } from '../../data-operations/sorting-strategy';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'igx-grid-header',
- templateUrl: 'grid-header.component.html'
+ templateUrl: 'grid-header.component.html',
+ standalone: true,
+ imports: [IgxIconComponent, NgTemplateOutlet, NgIf, NgClass, SortingIndexPipe]
})
export class IgxGridHeaderComponent implements DoCheck, OnDestroy {
diff --git a/projects/igniteui-angular/src/lib/grids/headers/headers.module.ts b/projects/igniteui-angular/src/lib/grids/headers/headers.module.ts
deleted file mode 100644
index b960999892e..00000000000
--- a/projects/igniteui-angular/src/lib/grids/headers/headers.module.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import { NgModule } from '@angular/core';
-import { IgxGridHeaderComponent } from './grid-header.component';
-import { IgxGridHeaderGroupComponent } from './grid-header-group.component';
-import { IgxGridSharedModules } from '../common/shared.module';
-import { IgxColumnMovingModule } from '../moving/moving.module';
-import { IgxGridFilteringModule } from '../filtering/base/filtering.module';
-import { IgxGridResizingModule } from '../resizing/resize.module';
-import { IgxHeaderGroupStylePipe, IgxHeaderGroupWidthPipe, SortingIndexPipe } from './pipes';
-export * from './grid-header-group.component';
-export * from './grid-header.component';
-import { IgxGridPipesModule } from '../common/grid-pipes.module';
-import { IgxGridHeaderRowComponent } from './grid-header-row.component';
-
-export * from './pipes';
-export { IgxGridHeaderComponent } from './grid-header.component';
-export { IgxGridHeaderGroupComponent } from './grid-header-group.component';
-export { IgxGridHeaderRowComponent } from './grid-header-row.component';
-
-@NgModule({
- declarations: [
- IgxGridHeaderComponent,
- IgxGridHeaderGroupComponent,
- IgxGridHeaderRowComponent,
- SortingIndexPipe,
- IgxHeaderGroupWidthPipe,
- IgxHeaderGroupStylePipe
- ],
- imports: [
- IgxGridSharedModules,
- IgxGridFilteringModule,
- IgxColumnMovingModule,
- IgxGridResizingModule,
- IgxGridPipesModule
- ],
- exports: [
- IgxGridHeaderComponent,
- IgxGridHeaderGroupComponent,
- IgxGridHeaderRowComponent,
- IgxHeaderGroupWidthPipe,
- SortingIndexPipe,
- IgxHeaderGroupStylePipe
- ]
-})
-export class IgxGridHeadersModule {}
diff --git a/projects/igniteui-angular/src/lib/grids/headers/pipes.ts b/projects/igniteui-angular/src/lib/grids/headers/pipes.ts
index 02012121884..2fae67d1b14 100644
--- a/projects/igniteui-angular/src/lib/grids/headers/pipes.ts
+++ b/projects/igniteui-angular/src/lib/grids/headers/pipes.ts
@@ -3,7 +3,10 @@ import { ISortingExpression } from '../../data-operations/sorting-strategy';
import { ColumnType } from '../common/grid.interface';
-@Pipe({ name: 'sortingIndex' })
+@Pipe({
+ name: 'sortingIndex',
+ standalone: true
+})
export class SortingIndexPipe implements PipeTransform {
public transform(columnField: string, sortingExpressions: ISortingExpression[]): number {
let sortIndex = sortingExpressions.findIndex(expression => expression.fieldName === columnField);
@@ -11,7 +14,10 @@ export class SortingIndexPipe implements PipeTransform {
}
}
-@Pipe({ name: 'igxHeaderGroupWidth' })
+@Pipe({
+ name: 'igxHeaderGroupWidth',
+ standalone: true
+})
export class IgxHeaderGroupWidthPipe implements PipeTransform {
public transform(width: any, minWidth: any, hasLayout: boolean) {
@@ -22,7 +28,10 @@ export class IgxHeaderGroupWidthPipe implements PipeTransform {
}
-@Pipe({ name: 'igxHeaderGroupStyle' })
+@Pipe({
+ name: 'igxHeaderGroupStyle',
+ standalone: true
+})
export class IgxHeaderGroupStylePipe implements PipeTransform {
public transform(styles: { [prop: string]: any }, column: ColumnType, _: number): { [prop: string]: any } {
diff --git a/projects/igniteui-angular/src/lib/grids/headers/public_api.ts b/projects/igniteui-angular/src/lib/grids/headers/public_api.ts
new file mode 100644
index 00000000000..e95bac76f3d
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/grids/headers/public_api.ts
@@ -0,0 +1,14 @@
+import { IgxGridHeaderGroupComponent } from './grid-header-group.component';
+import { IgxGridHeaderRowComponent } from './grid-header-row.component';
+import { IgxGridHeaderComponent } from './grid-header.component';
+
+export { IgxGridHeaderComponent } from './grid-header.component';
+export { IgxGridHeaderGroupComponent } from './grid-header-group.component';
+export { IgxGridHeaderRowComponent } from './grid-header-row.component';
+
+/* NOTE: Grid headers directives collection for ease-of-use import in standalone components scenario */
+export const IGX_GRID_HEADERS_DIRECTIVES = [
+ IgxGridHeaderComponent,
+ IgxGridHeaderGroupComponent,
+ IgxGridHeaderRowComponent
+] as const;
diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts
index b130a1578f0..a5de0127753 100644
--- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts
+++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts
@@ -5,12 +5,32 @@ import { HammerGesturesManager } from '../../core/touch';
import { PlatformUtil } from '../../core/utils';
import { GridType, IGX_GRID_BASE } from '../common/grid.interface';
import { IgxOverlayService } from '../../services/public_api';
+import { IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe } from '../common/pipes';
+import { IgxTooltipDirective } from '../../directives/tooltip/tooltip.directive';
+import { IgxTooltipTargetDirective } from '../../directives/tooltip/tooltip-target.directive';
+import { IgxSuffixDirective } from '../../directives/suffix/suffix.directive';
+import { IgxPrefixDirective } from '../../directives/prefix/prefix.directive';
+import { IgxDateTimeEditorDirective } from '../../directives/date-time-editor/date-time-editor.directive';
+import { IgxTimePickerComponent } from '../../time-picker/time-picker.component';
+import { IgxDatePickerComponent } from '../../date-picker/date-picker.component';
+import { IgxCheckboxComponent } from '../../checkbox/checkbox.component';
+import { IgxTextSelectionDirective } from '../../directives/text-selection/text-selection.directive';
+import { IgxFocusDirective } from '../../directives/focus/focus.directive';
+import { IgxInputDirective } from '../../directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../input-group/input-group.component';
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { IgxTextHighlightDirective } from '../../directives/text-highlight/text-highlight.directive';
+import { IgxChipComponent } from '../../chips/chip.component';
+import { NgIf, NgClass, NgTemplateOutlet, DecimalPipe, PercentPipe, CurrencyPipe, DatePipe } from '@angular/common';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'igx-hierarchical-grid-cell',
templateUrl: '../cell.component.html',
- providers: [HammerGesturesManager]
+ providers: [HammerGesturesManager],
+ standalone: true,
+ imports: [NgIf, IgxChipComponent, IgxTextHighlightDirective, IgxIconComponent, NgClass, FormsModule, ReactiveFormsModule, IgxInputGroupComponent, IgxInputDirective, IgxFocusDirective, IgxTextSelectionDirective, IgxCheckboxComponent, IgxDatePickerComponent, IgxTimePickerComponent, IgxDateTimeEditorDirective, IgxPrefixDirective, IgxSuffixDirective, NgTemplateOutlet, IgxTooltipTargetDirective, IgxTooltipDirective, IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe, DecimalPipe, PercentPipe, CurrencyPipe, DatePipe]
})
export class IgxHierarchicalGridCellComponent extends IgxGridCellComponent implements OnInit {
// protected hSelection;
diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-add-row.spec.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-add-row.spec.ts
index 66023e33bb4..b78c525c4a4 100644
--- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-add-row.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-add-row.spec.ts
@@ -1,8 +1,8 @@
import { TestBed } from '@angular/core/testing';
-import { IgxHierarchicalGridModule, IgxHierarchicalGridComponent } from './public_api';
+import { IgxHierarchicalGridComponent } from './public_api';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxActionStripModule, IgxActionStripComponent } from '../../action-strip/public_api';
+import { IgxActionStripComponent } from '../../action-strip/public_api';
import { IgxHierarchicalGridActionStripComponent } from '../../test-utils/hierarchical-grid-components.spec';
import { wait } from '../../test-utils/ui-interactions.spec';
import { By } from '@angular/platform-browser';
@@ -19,10 +19,7 @@ describe('IgxHierarchicalGrid - Add Row UI #tGrid', () => {
};
configureTestSuite((() => {
return TestBed.configureTestingModule({
- declarations: [
- IgxHierarchicalGridActionStripComponent
- ],
- imports: [IgxHierarchicalGridModule, NoopAnimationsModule, IgxActionStripModule]
+ imports: [NoopAnimationsModule, IgxHierarchicalGridActionStripComponent]
});
}));
diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.ts
index 1a10095d311..6032524e22b 100644
--- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.ts
+++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.ts
@@ -21,7 +21,7 @@ import { IgxGridBaseDirective } from '../grid-base.directive';
import { IgxHierarchicalGridAPIService } from './hierarchical-grid-api.service';
import { IgxRowIslandComponent } from './row-island.component';
import { IgxFilteringService } from '../filtering/grid-filtering.service';
-import { IDisplayDensityOptions, DisplayDensityToken } from '../../core/displayDensity';
+import { IDisplayDensityOptions, DisplayDensityToken } from '../../core/density';
import { IgxSummaryOperand } from '../summaries/grid-summary';
import { DOCUMENT } from '@angular/common';
import { IgxHierarchicalGridNavigationService } from './hierarchical-grid-navigation.service';
diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.html b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.html
index 7bccdb642ee..4e544c167f6 100644
--- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.html
+++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.html
@@ -20,7 +20,7 @@
+ [style.height.px]="totalHeight" [style.width.px]="calcWidth" #tbody (scroll)="preventContainerScroll($event)">
@@ -35,9 +35,9 @@
| gridRowPinning:id:true:pipeTrigger
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger:true
| gridSort:sortingExpressions:[]:sortStrategy:id:pipeTrigger:true as pinnedData">
-
0' class='igx-grid__tr--pinned'
+
0" class="igx-grid__tr--pinned"
[ngClass]="{ 'igx-grid__tr--pinned-bottom': !isRowPinningToTop, 'igx-grid__tr--pinned-top': isRowPinningToTop }"
- [style.width.px]='calcWidth'>
+ [style.width.px]="calcWidth">
@@ -56,13 +56,13 @@
| gridHierarchical:expansionStates:id:primaryKey:childLayoutKeys:pipeTrigger
| gridAddRow:false:pipeTrigger
| gridRowPinning:id:false:pipeTrigger"
- [igxForScrollOrientation]="'vertical'" [igxForScrollContainer]='verticalScroll'
- [igxForContainerSize]='calcHeight' [igxForItemSize]="renderedRowHeight" [igxForTrackBy]='trackChanges'
+ [igxForScrollOrientation]="'vertical'" [igxForScrollContainer]="verticalScroll"
+ [igxForContainerSize]="calcHeight" [igxForItemSize]="renderedRowHeight" [igxForTrackBy]="trackChanges"
#verticalScrollContainer (chunkPreload)="dataLoading($event)" (dataChanging)="dataRebinding($event)" (dataChanged)="dataRebound($event)">
+ [igxTemplateOutlet]="(isHierarchicalRecord(rowData) ? hierarchical_record_template : (isChildGridRecord(rowData) ? child_record_template : hierarchical_record_template))"
+ [igxTemplateOutletContext]="getContext(rowData, rowIndex, false)" (viewCreated)="viewCreatedHandler($event)"
+ (viewMoved)="viewMovedHandler($event)" (cachedViewLoaded)="cachedViewLoaded($event)">
@@ -80,13 +80,13 @@
-
+ [data]="rowData" [layout]="layout" #row>
@@ -99,45 +99,45 @@
-
+
-
-
-
-
+
- {{resourceStrings.igx_grid_snackbar_addrow_label}}
+ {{resourceStrings.igx_grid_snackbar_addrow_label}}
-
Show second Overlay
-
`
+
`,
+ standalone: true
})
export class TwoButtonsComponent {
public settings: OverlaySettings = { modal: false };
@@ -4620,7 +4623,8 @@ export class TwoButtonsComponent {
width: 100px;
height: 60px;
border: 0;
- }`]
+ }`],
+ standalone: true
})
export class WidthTestOverlayComponent {
@@ -4658,7 +4662,9 @@ export class WidthTestOverlayComponent {
AAAAA
AAAAA
-
`
+ `,
+ standalone: true,
+ imports: [NgIf]
})
export class ScrollableComponent {
@ViewChild(IgxToggleDirective, { static: true })
@@ -4689,7 +4695,8 @@ export class ScrollableComponent {
Show Overlay
- `
+ `,
+ standalone: true
})
export class FlexContainerComponent {
@ViewChild('button', { static: true }) public buttonElement: ElementRef;
@@ -4701,34 +4708,3 @@ export class FlexContainerComponent {
this.overlay.show(this.overlay.attach(SimpleDynamicComponent), this.overlaySettings);
}
}
-
-const DYNAMIC_COMPONENTS = [
- EmptyPageComponent,
- SimpleRefComponent,
- EmptyPageInShadowDomComponent,
- SimpleDynamicComponent,
- SimpleBigSizeComponent,
- DownRightButtonComponent,
- TopLeftOffsetComponent,
- TwoButtonsComponent,
- WidthTestOverlayComponent,
- ScrollableComponent,
- FlexContainerComponent
-];
-
-const DIRECTIVE_COMPONENTS = [
- SimpleDynamicWithDirectiveComponent
-];
-
-@NgModule({
- imports: [BrowserModule],
- declarations: [DYNAMIC_COMPONENTS],
- exports: [DYNAMIC_COMPONENTS]
-})
-export class DynamicModule { }
-
-@NgModule({
- imports: [IgxCalendarModule, IgxAvatarModule, IgxDatePickerModule]
-})
-export class IgxComponentsModule {
-}
diff --git a/projects/igniteui-angular/src/lib/services/overlay/overlay.ts b/projects/igniteui-angular/src/lib/services/overlay/overlay.ts
index c2fe7ce7937..5521bc28a50 100644
--- a/projects/igniteui-angular/src/lib/services/overlay/overlay.ts
+++ b/projects/igniteui-angular/src/lib/services/overlay/overlay.ts
@@ -1,4 +1,4 @@
-import { AnimationBuilder, AnimationReferenceMetadata } from '@angular/animations';
+import { AnimationReferenceMetadata } from '@angular/animations';
import { DOCUMENT } from '@angular/common';
import {
ApplicationRef,
@@ -159,7 +159,6 @@ export class IgxOverlayService implements OnDestroy {
private _factoryResolver: ComponentFactoryResolver,
private _appRef: ApplicationRef,
private _injector: Injector,
- private builder: AnimationBuilder,
@Inject(DOCUMENT) private document: any,
private _zone: NgZone,
protected platformUtil: PlatformUtil,
diff --git a/projects/igniteui-angular/src/lib/services/transaction/igx-transaction.ts b/projects/igniteui-angular/src/lib/services/transaction/igx-transaction.ts
index 7b14b2e8919..4d95b2e08f9 100644
--- a/projects/igniteui-angular/src/lib/services/transaction/igx-transaction.ts
+++ b/projects/igniteui-angular/src/lib/services/transaction/igx-transaction.ts
@@ -71,7 +71,7 @@ export class IgxTransactionService exten
* @param pending Should get pending state
* @returns State of the record if any
*/
- public override getState(id: any, pending: boolean = false): S {
+ public override getState(id: any, pending = false): S {
return pending ? this._pendingStates.get(id) : this._states.get(id);
}
diff --git a/projects/igniteui-angular/src/lib/services/transaction/transaction-factory.service.ts b/projects/igniteui-angular/src/lib/services/transaction/transaction-factory.service.ts
index ce212eb05a9..db27ad20227 100644
--- a/projects/igniteui-angular/src/lib/services/transaction/transaction-factory.service.ts
+++ b/projects/igniteui-angular/src/lib/services/transaction/transaction-factory.service.ts
@@ -57,7 +57,7 @@ export class IgxHierarchicalTransactionFactory extends IgxFlatTransactionFactory
public override create(type: TRANSACTION_TYPE): HierarchicalTransactionService {
switch (type) {
case (TRANSACTION_TYPE.Base):
- return new IgxHierarchicalTransactionService();;
+ return new IgxHierarchicalTransactionService();
default:
return new IgxBaseTransactionService();
}
diff --git a/projects/igniteui-angular/src/lib/simple-combo/public_api.ts b/projects/igniteui-angular/src/lib/simple-combo/public_api.ts
index f4c14031377..d99538332e4 100644
--- a/projects/igniteui-angular/src/lib/simple-combo/public_api.ts
+++ b/projects/igniteui-angular/src/lib/simple-combo/public_api.ts
@@ -1 +1,34 @@
+import {
+ IgxComboAddItemDirective,
+ IgxComboClearIconDirective,
+ IgxComboEmptyDirective,
+ IgxComboFooterDirective,
+ IgxComboHeaderDirective,
+ IgxComboHeaderItemDirective,
+ IgxComboItemDirective,
+ IgxComboToggleIconDirective
+} from '../combo/combo.directives';
+import { IgxHintDirective } from '../directives/hint/hint.directive';
+import { IgxLabelDirective } from '../directives/label/label.directive';
+import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxSimpleComboComponent } from './simple-combo.component';
+
export * from './simple-combo.component';
+
+/* NOTE: Simple combo directives collection for ease-of-use import in standalone components scenario */
+export const IGX_SIMPLE_COMBO_DIRECTIVES = [
+ IgxSimpleComboComponent,
+ IgxComboAddItemDirective,
+ IgxComboClearIconDirective,
+ IgxComboEmptyDirective,
+ IgxComboFooterDirective,
+ IgxComboHeaderDirective,
+ IgxComboHeaderItemDirective,
+ IgxComboItemDirective,
+ IgxComboToggleIconDirective,
+ IgxLabelDirective,
+ IgxPrefixDirective,
+ IgxSuffixDirective,
+ IgxHintDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.spec.ts b/projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.spec.ts
index c9ab1275cbd..e79cd16f888 100644
--- a/projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.spec.ts
@@ -1,3 +1,4 @@
+import { AsyncPipe } from '@angular/common';
import { AfterViewInit, ChangeDetectorRef, Component, DebugElement, OnDestroy, OnInit, ViewChild } from '@angular/core';
import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { FormsModule, NgForm, ReactiveFormsModule, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
@@ -6,17 +7,17 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxComboDropDownComponent } from '../combo/combo-dropdown.component';
import { IgxComboState } from '../combo/combo.common';
import { RemoteDataService } from '../combo/combo.component.spec';
-import { IComboSelectionChangingEventArgs } from '../combo/public_api';
-import { DisplayDensity } from '../core/displayDensity';
+import { IComboSelectionChangingEventArgs, IgxComboFooterDirective, IgxComboHeaderDirective, IgxComboItemDirective, IgxComboToggleIconDirective } from '../combo/public_api';
+import { DisplayDensity } from '../core/density';
import { IgxSelectionAPIService } from '../core/selection';
import { IBaseCancelableBrowserEventArgs, PlatformUtil } from '../core/utils';
-import { IgxToggleModule } from '../directives/toggle/toggle.directive';
-import { IgxIconComponent, IgxIconModule, IgxIconService } from '../icon/public_api';
-import { IgxInputState } from '../input-group/public_api';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxIconService } from '../icon/icon.service';
+import { IgxInputState, IgxLabelDirective } from '../input-group/public_api';
import { AbsoluteScrollStrategy, AutoPositionStrategy, ConnectedPositioningStrategy } from '../services/public_api';
import { configureTestSuite } from '../test-utils/configure-suite';
import { UIInteractions, wait } from '../test-utils/ui-interactions.spec';
-import { IgxSimpleComboComponent, IgxSimpleComboModule, ISimpleComboSelectionChangingEventArgs } from './public_api';
+import { IgxSimpleComboComponent, ISimpleComboSelectionChangingEventArgs } from './public_api';
const CSS_CLASS_COMBO = 'igx-combo';
@@ -221,7 +222,7 @@ describe('IgxSimpleCombo', () => {
spyOnProperty(combo, 'totalItemCount').and.returnValue(combo.data.length);
spyOn(combo.selectionChanging, 'emit');
- let oldSelection;
+ let oldSelection = undefined;
let newSelection = [combo.data[1]];
combo.select(combo.data[1]);
@@ -432,16 +433,12 @@ describe('IgxSimpleCombo', () => {
describe('Initialization and rendering tests: ', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxSimpleComboSampleComponent,
- IgxSimpleComboEmptyComponent
- ],
imports: [
- IgxSimpleComboModule,
NoopAnimationsModule,
- IgxToggleModule,
ReactiveFormsModule,
- FormsModule
+ FormsModule,
+ IgxSimpleComboSampleComponent,
+ IgxSimpleComboEmptyComponent
]
}).compileComponents();
}));
@@ -643,18 +640,14 @@ describe('IgxSimpleCombo', () => {
describe('Binding tests: ', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
+ ReactiveFormsModule,
+ FormsModule,
IgxSimpleComboSampleComponent,
IgxComboInContainerTestComponent,
IgxComboRemoteDataComponent,
ComboModelBindingComponent
- ],
- imports: [
- IgxSimpleComboModule,
- NoopAnimationsModule,
- IgxToggleModule,
- ReactiveFormsModule,
- FormsModule
]
}).compileComponents();
}));
@@ -808,19 +801,13 @@ describe('IgxSimpleCombo', () => {
let dropdown: IgxComboDropDownComponent;
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxSimpleComboSampleComponent,
- IgxComboInContainerTestComponent,
- IgxSimpleComboIconTemplatesComponent,
- IgxBottomPositionSimpleComboComponent
- ],
imports: [
- IgxSimpleComboModule,
NoopAnimationsModule,
- IgxToggleModule,
- IgxIconModule,
ReactiveFormsModule,
- FormsModule
+ FormsModule,
+ IgxSimpleComboSampleComponent,
+ IgxComboInContainerTestComponent,
+ IgxSimpleComboIconTemplatesComponent
]
}).compileComponents();
}));
@@ -1481,15 +1468,11 @@ describe('IgxSimpleCombo', () => {
describe('Display density', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxSimpleComboSampleComponent
- ],
imports: [
- IgxSimpleComboModule,
NoopAnimationsModule,
- IgxToggleModule,
ReactiveFormsModule,
- FormsModule
+ FormsModule,
+ IgxSimpleComboSampleComponent
]
}).compileComponents();
}));
@@ -1544,15 +1527,11 @@ describe('IgxSimpleCombo', () => {
let inputGroupRequired: DebugElement;
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxSimpleComboInTemplatedFormComponent
- ],
imports: [
- IgxSimpleComboModule,
NoopAnimationsModule,
- IgxToggleModule,
ReactiveFormsModule,
- FormsModule
+ FormsModule,
+ IgxSimpleComboInTemplatedFormComponent
]
}).compileComponents();
}));
@@ -1757,15 +1736,11 @@ describe('IgxSimpleCombo', () => {
describe('Reactive form tests: ', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxSimpleComboInReactiveFormComponent
- ],
imports: [
- IgxSimpleComboModule,
NoopAnimationsModule,
- IgxToggleModule,
ReactiveFormsModule,
- FormsModule
+ FormsModule,
+ IgxSimpleComboInReactiveFormComponent
]
}).compileComponents();
}));
@@ -1938,16 +1913,12 @@ describe('IgxSimpleCombo', () => {
describe('Selection tests: ', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxComboRemoteDataComponent,
- IgxSimpleComboBindingDataAfterInitComponent
- ],
imports: [
- IgxSimpleComboModule,
NoopAnimationsModule,
- IgxToggleModule,
ReactiveFormsModule,
- FormsModule
+ FormsModule,
+ IgxComboRemoteDataComponent,
+ IgxSimpleComboBindingDataAfterInitComponent
]
}).compileComponents();
}));
@@ -1984,7 +1955,7 @@ describe('IgxSimpleCombo', () => {
expect(combo.valueKey).toBeDefined();
expect(combo.selection.length).toEqual(0);
- let selectedItem = combo.data[1];
+ const selectedItem = combo.data[1];
combo.toggle();
combo.select(combo.data[1][combo.valueKey]);
@@ -2008,24 +1979,26 @@ describe('IgxSimpleCombo', () => {
@Component({
template: `
-
-
-
-
-
State: {{display[key]}}
-
Region: {{display.region}}
-
-
-
-
-
-
-
-
-
-`
+
+
+
+
+
State: {{display[key]}}
+
Region: {{display.region}}
+
+
+
+
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxSimpleComboComponent, IgxComboItemDirective, IgxComboHeaderDirective, IgxComboFooterDirective]
})
class IgxSimpleComboSampleComponent {
@ViewChild('combo', { read: IgxSimpleComboComponent, static: true })
@@ -2074,7 +2047,9 @@ class IgxSimpleComboSampleComponent {
}
@Component({
- template: ` `
+ template: ` `,
+ standalone: true,
+ imports: [IgxSimpleComboComponent, FormsModule]
})
export class IgxSimpleComboEmptyComponent {
@ViewChild('combo', { read: IgxSimpleComboComponent, static: true })
@@ -2087,7 +2062,9 @@ export class IgxSimpleComboEmptyComponent {
@Component({
template: `
search
- `
+ `,
+ standalone: true,
+ imports: [IgxSimpleComboComponent, IgxIconComponent, IgxComboToggleIconDirective, FormsModule]
})
export class IgxSimpleComboIconTemplatesComponent {
@ViewChild('combo', { read: IgxSimpleComboComponent, static: true })
@@ -2101,7 +2078,9 @@ export class IgxSimpleComboIconTemplatesComponent {
}
@Component({
- template: ` `
+ template: ` `,
+ standalone: true,
+ imports: [IgxSimpleComboComponent, FormsModule]
})
export class ComboModelBindingComponent implements OnInit {
@ViewChild(IgxSimpleComboComponent, { read: IgxSimpleComboComponent, static: true })
@@ -2124,7 +2103,9 @@ export class ComboModelBindingComponent implements OnInit {
>
-`
+`,
+ standalone: true,
+ imports: [IgxSimpleComboComponent]
})
class IgxComboInContainerTestComponent {
@ViewChild('combo', { read: IgxSimpleComboComponent, static: true })
@@ -2158,7 +2139,9 @@ class IgxComboInContainerTestComponent {
[itemHeight]='40' [valueKey]="'id'" [displayKey]="'product'" [width]="'400px'"
[ariaLabelledBy]="'mockID'">
- `
+ `,
+ standalone: true,
+ imports: [IgxSimpleComboComponent, AsyncPipe]
})
export class IgxComboRemoteDataComponent implements OnInit, AfterViewInit, OnDestroy {
@ViewChild('combo', { read: IgxSimpleComboComponent, static: true })
@@ -2196,8 +2179,10 @@ export class IgxComboRemoteDataComponent implements OnInit, AfterViewInit, OnDes
[groupKey]="'field' ? 'region' : ''" [width]="'100%'">
Combo Label
-
-`
+
+ `,
+ standalone: true,
+ imports: [IgxSimpleComboComponent, IgxLabelDirective, FormsModule]
})
class IgxSimpleComboInTemplatedFormComponent {
@ViewChild('testCombo', { read: IgxSimpleComboComponent, static: true })
@@ -2245,7 +2230,9 @@ class IgxSimpleComboInTemplatedFormComponent {
displayKey="field" valueKey="value" [data]="comboData">
-`
+ `,
+ standalone: true,
+ imports: [IgxSimpleComboComponent, ReactiveFormsModule]
})
export class IgxSimpleComboInReactiveFormComponent {
@ViewChild('reactiveCombo', { read: IgxSimpleComboComponent, static: true })
@@ -2271,11 +2258,14 @@ export class IgxSimpleComboInReactiveFormComponent {
@Component({
template: `
- `
+
+ `,
+ standalone: true,
+ imports: [IgxSimpleComboComponent, FormsModule]
})
export class IgxSimpleComboBindingDataAfterInitComponent implements AfterViewInit {
public items: any[];
- public selectedItem: number = 1;
+ public selectedItem = 1;
constructor(private cdr: ChangeDetectorRef) { }
@@ -2290,11 +2280,14 @@ export class IgxSimpleComboBindingDataAfterInitComponent implements AfterViewIni
@Component({
template: `
-
-
-
-
`
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxSimpleComboComponent]
})
export class IgxBottomPositionSimpleComboComponent {
@ViewChild('combo', { read: IgxSimpleComboComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.ts b/projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.ts
index 613fb6767ab..c155a610c7e 100644
--- a/projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.ts
+++ b/projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.ts
@@ -1,41 +1,31 @@
-import { CommonModule } from '@angular/common';
+import { NgIf, NgTemplateOutlet } from '@angular/common';
import {
- AfterViewInit,
- ChangeDetectorRef,
- Component,
- ElementRef,
- EventEmitter,
- HostListener,
- Inject,
- Injector,
- NgModule,
- Optional,
- Output,
- ViewChild
+ AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostListener, Inject, Injector,
+ Optional, Output, ViewChild
} from '@angular/core';
-import { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
+import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
import { takeUntil } from 'rxjs/operators';
-import { IgxCheckboxModule } from '../checkbox/checkbox.component';
+
import { IgxComboAddItemComponent } from '../combo/combo-add-item.component';
import { IgxComboDropDownComponent } from '../combo/combo-dropdown.component';
import { IgxComboItemComponent } from '../combo/combo-item.component';
import { IgxComboAPIService } from '../combo/combo.api';
import { IgxComboBaseDirective, IGX_COMBO_COMPONENT } from '../combo/combo.common';
-import { IgxComboModule } from '../combo/combo.component';
-import { DisplayDensityToken, IDisplayDensityOptions } from '../core/displayDensity';
+import { DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
import { IgxSelectionAPIService } from '../core/selection';
import { CancelableEventArgs, IBaseCancelableBrowserEventArgs, IBaseEventArgs, PlatformUtil } from '../core/utils';
-import { IgxButtonModule } from '../directives/button/button.directive';
-import { IgxForOfModule } from '../directives/for-of/for_of.directive';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
-import { IgxTextSelectionDirective, IgxTextSelectionModule } from '../directives/text-selection/text-selection.directive';
-import { IgxToggleModule } from '../directives/toggle/toggle.directive';
-import { IgxDropDownModule } from '../drop-down/public_api';
-import { IgxIconModule, IgxIconService } from '../icon/public_api';
-import {
- IgxInputGroupModule,
- IgxInputGroupType,
- IGX_INPUT_GROUP_TYPE} from '../input-group/public_api';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { IgxForOfDirective } from '../directives/for-of/for_of.directive';
+import { IgxRippleDirective } from '../directives/ripple/ripple.directive';
+import { IgxTextSelectionDirective } from '../directives/text-selection/text-selection.directive';
+import { IgxIconService } from '../icon/icon.service';
+import { IgxInputGroupType, IGX_INPUT_GROUP_TYPE } from '../input-group/public_api';
+import { IgxComboFilteringPipe, IgxComboGroupingPipe } from '../combo/combo.pipes';
+import { IgxDropDownItemNavigationDirective } from '../drop-down/drop-down-navigation.directive';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxInputDirective } from '../directives/input/input.directive';
+import { IgxInputGroupComponent } from '../input-group/input-group.component';
/** Emitted when an igx-simple-combo's selection is changing. */
export interface ISimpleComboSelectionChangingEventArgs extends CancelableEventArgs, IBaseEventArgs {
@@ -73,7 +63,9 @@ export interface ISimpleComboSelectionChangingEventArgs extends CancelableEventA
IgxComboAPIService,
{ provide: IGX_COMBO_COMPONENT, useExisting: IgxSimpleComboComponent },
{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSimpleComboComponent, multi: true }
- ]
+ ],
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxInputDirective, IgxTextSelectionDirective, NgIf, IgxSuffixDirective, NgTemplateOutlet, IgxIconComponent, IgxComboDropDownComponent, IgxDropDownItemNavigationDirective, IgxForOfDirective, IgxComboItemComponent, IgxComboAddItemComponent, IgxButtonDirective, IgxRippleDirective, IgxComboFilteringPipe, IgxComboGroupingPipe]
})
export class IgxSimpleComboComponent extends IgxComboBaseDirective implements ControlValueAccessor, AfterViewInit {
/** @hidden @internal */
@@ -550,16 +542,3 @@ export class IgxSimpleComboComponent extends IgxComboBaseDirective implements Co
: value !== undefined;
}
}
-
-@NgModule({
- declarations: [IgxSimpleComboComponent],
- imports: [
- IgxComboModule, IgxRippleModule, CommonModule,
- IgxInputGroupModule, FormsModule, ReactiveFormsModule,
- IgxForOfModule, IgxToggleModule, IgxCheckboxModule,
- IgxDropDownModule, IgxButtonModule, IgxIconModule,
- IgxTextSelectionModule
- ],
- exports: [IgxSimpleComboComponent, IgxComboModule]
-})
-export class IgxSimpleComboModule { }
diff --git a/projects/igniteui-angular/src/lib/simple-combo/simple-combo.module.ts b/projects/igniteui-angular/src/lib/simple-combo/simple-combo.module.ts
new file mode 100644
index 00000000000..50e1b8b5a6d
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/simple-combo/simple-combo.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IGX_SIMPLE_COMBO_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ ...IGX_SIMPLE_COMBO_DIRECTIVES
+ ],
+ exports: [
+ ...IGX_SIMPLE_COMBO_DIRECTIVES
+ ]
+})
+export class IgxSimpleComboModule { }
diff --git a/projects/igniteui-angular/src/lib/slider/label/thumb-label.component.ts b/projects/igniteui-angular/src/lib/slider/label/thumb-label.component.ts
index ddb1f20f2fd..e4d296d232b 100644
--- a/projects/igniteui-angular/src/lib/slider/label/thumb-label.component.ts
+++ b/projects/igniteui-angular/src/lib/slider/label/thumb-label.component.ts
@@ -1,13 +1,16 @@
import { Component, Input, TemplateRef, HostBinding, ElementRef } from '@angular/core';
import { SliderHandle } from '../slider.common';
import { IgxSliderThumbComponent } from '../thumb/thumb-slider.component';
+import { NgClass, NgTemplateOutlet } from '@angular/common';
/**
* @hidden
*/
@Component({
selector: 'igx-thumb-label',
- templateUrl: 'thumb-label.component.html'
+ templateUrl: 'thumb-label.component.html',
+ standalone: true,
+ imports: [NgClass, NgTemplateOutlet]
})
export class IgxThumbLabelComponent {
@Input()
diff --git a/projects/igniteui-angular/src/lib/slider/public_api.ts b/projects/igniteui-angular/src/lib/slider/public_api.ts
index 4137b05942f..634b5483c8f 100644
--- a/projects/igniteui-angular/src/lib/slider/public_api.ts
+++ b/projects/igniteui-angular/src/lib/slider/public_api.ts
@@ -1,2 +1,13 @@
+import { IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective } from './slider.common';
+import { IgxSliderComponent } from './slider.component';
+
export * from './slider.component';
export * from './slider.common';
+
+/* NOTE: Slider directives collection for ease-of-use import in standalone components scenario */
+export const IGX_SLIDER_DIRECTIVES = [
+ IgxSliderComponent,
+ IgxThumbFromTemplateDirective,
+ IgxThumbToTemplateDirective,
+ IgxTickLabelTemplateDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/slider/slider.common.ts b/projects/igniteui-angular/src/lib/slider/slider.common.ts
index 3207abae0f4..95c3ae854c0 100644
--- a/projects/igniteui-angular/src/lib/slider/slider.common.ts
+++ b/projects/igniteui-angular/src/lib/slider/slider.common.ts
@@ -13,7 +13,8 @@ import { mkenum } from '../core/utils';
* @context {@link IgxSliderComponent.context}
*/
@Directive({
- selector: '[igxSliderThumbFrom]'
+ selector: '[igxSliderThumbFrom]',
+ standalone: true
})
export class IgxThumbFromTemplateDirective {}
@@ -29,7 +30,8 @@ export class IgxThumbFromTemplateDirective {}
* @context {@link IgxSliderComponent.context}
*/
@Directive({
- selector: '[igxSliderThumbTo]'
+ selector: '[igxSliderThumbTo]',
+ standalone: true
})
export class IgxThumbToTemplateDirective {}
@@ -39,7 +41,8 @@ export class IgxThumbToTemplateDirective {}
* @context {@link IgxTicksComponent.context}
*/
@Directive({
- selector: '[igxSliderTickLabel]'
+ selector: '[igxSliderTickLabel]',
+ standalone: true
})
export class IgxTickLabelTemplateDirective {}
diff --git a/projects/igniteui-angular/src/lib/slider/slider.component.spec.ts b/projects/igniteui-angular/src/lib/slider/slider.component.spec.ts
index cd73264f1ba..f02fe6240e9 100644
--- a/projects/igniteui-angular/src/lib/slider/slider.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/slider/slider.component.spec.ts
@@ -6,8 +6,8 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { DIR_DOCUMENT, IgxDirectionality } from '../services/direction/directionality';
import { configureTestSuite } from '../test-utils/configure-suite';
import { UIInteractions, wait } from '../test-utils/ui-interactions.spec';
-import { IgxSliderType, IRangeSliderValue, TickLabelsOrientation, TicksOrientation } from './slider.common';
-import { IgxSliderComponent, IgxSliderModule } from './slider.component';
+import { IgxSliderType, IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IRangeSliderValue, TickLabelsOrientation, TicksOrientation } from './slider.common';
+import { IgxSliderComponent } from './slider.component';
declare let Simulator: any;
const SLIDER_CLASS = '.igx-slider';
@@ -35,7 +35,8 @@ describe('IgxSlider', () => {
fakeDoc = { body: {}, documentElement: {} };
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule, FormsModule, ReactiveFormsModule, HammerModule,
SliderInitializeTestComponent,
SliderMinMaxComponent,
SliderTestComponent,
@@ -48,9 +49,6 @@ describe('IgxSlider', () => {
SliderReactiveFormComponent,
SliderWithValueAdjustmentComponent
],
- imports: [
- IgxSliderModule, NoopAnimationsModule, FormsModule, ReactiveFormsModule, HammerModule
- ],
providers: [
{ provide: DIR_DOCUMENT, useFactory: () => fakeDoc }
]
@@ -1356,8 +1354,8 @@ describe('IgxSlider', () => {
const componentInst = fix.componentInstance;
const slider = componentInst.slider;
- let expectedMinVal = 0;
- let expectedMaxVal = 10;
+ const expectedMinVal = 0;
+ const expectedMaxVal = 10;
expect(slider.minValue).toEqual(expectedMinVal);
expect(slider.maxValue).toEqual(expectedMaxVal);
@@ -1789,7 +1787,9 @@ describe('IgxSlider', () => {
selector: 'igx-slider-rtl',
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxSliderComponent]
})
export class SliderRtlComponent {
@ViewChild(IgxSliderComponent)
@@ -1816,7 +1816,9 @@ export class SliderRtlComponent {
[primaryTickLabels]="primaryTickLabels"
[secondaryTickLabels]="secondaryTickLabels"
[tickLabelsOrientation]="tickLabelsOrientation">
- `
+ `,
+ standalone: true,
+ imports: [IgxSliderComponent]
})
export class SliderTicksComponent {
@@ -1834,7 +1836,9 @@ export class SliderTicksComponent {
@Component({
selector: 'igx-slider-test-component',
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxSliderComponent]
})
class SliderInitializeTestComponent {
@ViewChild(IgxSliderComponent, { read: IgxSliderComponent, static: true }) public slider: IgxSliderComponent;
@@ -1843,7 +1847,9 @@ class SliderInitializeTestComponent {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxSliderComponent]
})
export class SliderMinMaxComponent {
@ViewChild(IgxSliderComponent, { read: IgxSliderComponent, static: true }) public slider: IgxSliderComponent;
@@ -1859,7 +1865,9 @@ export class SliderMinMaxComponent {
[maxValue]="maxValue"
[type]="type">
- `
+ `,
+ standalone: true,
+ imports: [IgxSliderComponent]
})
class SliderTestComponent {
@ViewChild(IgxSliderComponent, { read: IgxSliderComponent, static: true }) public slider: IgxSliderComponent;
@@ -1880,7 +1888,9 @@ class SliderTestComponent {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxSliderComponent]
})
class SliderWithLabelsComponent {
@ViewChild(IgxSliderComponent, { read: IgxSliderComponent, static: true }) public slider: IgxSliderComponent;
@@ -1891,7 +1901,9 @@ class SliderWithLabelsComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxSliderComponent]
})
class RangeSliderWithLabelsComponent {
@ViewChild(IgxSliderComponent, { read: IgxSliderComponent, static: true })
@@ -1911,8 +1923,9 @@ class RangeSliderWithLabelsComponent {
Upper {{ labels[value.upper] }}
- `
-
+ `,
+ standalone: true,
+ imports: [IgxSliderComponent, IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective]
})
class RangeSliderWithCustomTemplateComponent {
@ViewChild(IgxSliderComponent, { read: IgxSliderComponent, static: true }) public slider: IgxSliderComponent;
@@ -1924,7 +1937,9 @@ class RangeSliderWithCustomTemplateComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxSliderComponent, FormsModule]
})
export class SliderTemplateFormComponent {
@ViewChild(IgxSliderComponent, { read: IgxSliderComponent, static: true }) public slider: IgxSliderComponent;
@@ -1937,7 +1952,9 @@ export class SliderTemplateFormComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxSliderComponent, FormsModule, ReactiveFormsModule]
})
export class SliderReactiveFormComponent {
@ViewChild(IgxSliderComponent, { read: IgxSliderComponent, static: true }) public slider: IgxSliderComponent;
@@ -1948,7 +1965,9 @@ export class SliderReactiveFormComponent {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxSliderComponent]
})
export class SliderWithValueAdjustmentComponent {
@ViewChild(IgxSliderComponent, { read: IgxSliderComponent, static: true }) public slider: IgxSliderComponent;
diff --git a/projects/igniteui-angular/src/lib/slider/slider.component.ts b/projects/igniteui-angular/src/lib/slider/slider.component.ts
index d497b3b598d..e2a5b4db930 100644
--- a/projects/igniteui-angular/src/lib/slider/slider.component.ts
+++ b/projects/igniteui-angular/src/lib/slider/slider.component.ts
@@ -1,9 +1,9 @@
-import { CommonModule } from '@angular/common';
+import { NgIf } from '@angular/common';
import {
AfterContentInit, AfterViewInit, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter,
- HostBinding, HostListener, Input, NgModule, NgZone, OnChanges, OnDestroy, OnInit, Output, QueryList, Renderer2, SimpleChanges, TemplateRef, ViewChild, ViewChildren
+ HostBinding, HostListener, Input, NgZone, OnChanges, OnDestroy, OnInit, Output, QueryList, Renderer2, SimpleChanges, TemplateRef, ViewChild, ViewChildren
} from '@angular/core';
-import { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
+import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
import { merge, noop, Observable, Subject, timer } from 'rxjs';
import { takeUntil, throttleTime } from 'rxjs/operators';
import { EditorProvider } from '../core/edit-provider';
@@ -38,7 +38,9 @@ let NEXT_ID = 0;
@Component({
providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSliderComponent, multi: true }],
selector: 'igx-slider',
- templateUrl: 'slider.component.html'
+ templateUrl: 'slider.component.html',
+ standalone: true,
+ imports: [NgIf, IgxTicksComponent, IgxThumbLabelComponent, IgxSliderThumbComponent, IgxTickLabelsPipe]
})
export class IgxSliderComponent implements
ControlValueAccessor,
@@ -1437,24 +1439,4 @@ export class IgxSliderComponent implements
/**
* @hidden
*/
-@NgModule({
- declarations: [
- IgxSliderComponent,
- IgxThumbFromTemplateDirective,
- IgxThumbToTemplateDirective,
- IgxTickLabelTemplateDirective,
- IgxSliderThumbComponent,
- IgxThumbLabelComponent,
- IgxTicksComponent,
- IgxTickLabelsPipe
- ],
- exports: [
- IgxSliderComponent,
- IgxThumbFromTemplateDirective,
- IgxThumbToTemplateDirective,
- IgxTickLabelTemplateDirective
- ],
- imports: [CommonModule, FormsModule]
-})
-export class IgxSliderModule {
-}
+
diff --git a/projects/igniteui-angular/src/lib/slider/slider.module.ts b/projects/igniteui-angular/src/lib/slider/slider.module.ts
new file mode 100644
index 00000000000..755d691578b
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/slider/slider.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IGX_SLIDER_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ ...IGX_SLIDER_DIRECTIVES
+ ],
+ exports: [
+ ...IGX_SLIDER_DIRECTIVES
+ ]
+})
+export class IgxSliderModule { }
diff --git a/projects/igniteui-angular/src/lib/slider/thumb/thumb-slider.component.ts b/projects/igniteui-angular/src/lib/slider/thumb/thumb-slider.component.ts
index fdbb4f40a06..522f4734a08 100644
--- a/projects/igniteui-angular/src/lib/slider/thumb/thumb-slider.component.ts
+++ b/projects/igniteui-angular/src/lib/slider/thumb/thumb-slider.component.ts
@@ -14,6 +14,7 @@ import { takeUntil } from 'rxjs/operators';
import { SliderHandle } from '../slider.common';
import { Subject } from 'rxjs';
import { IgxDirectionality } from '../../services/direction/directionality';
+import { NgClass } from '@angular/common';
/**
* @hidden
@@ -21,6 +22,8 @@ import { IgxDirectionality } from '../../services/direction/directionality';
@Component({
selector: 'igx-thumb',
templateUrl: 'thumb-slider.component.html',
+ standalone: true,
+ imports: [NgClass]
})
export class IgxSliderThumbComponent implements OnInit, OnDestroy {
@Input()
diff --git a/projects/igniteui-angular/src/lib/slider/ticks/tick.pipe.ts b/projects/igniteui-angular/src/lib/slider/ticks/tick.pipe.ts
index 8b61cbf63a2..ac9979dea12 100644
--- a/projects/igniteui-angular/src/lib/slider/ticks/tick.pipe.ts
+++ b/projects/igniteui-angular/src/lib/slider/ticks/tick.pipe.ts
@@ -4,7 +4,8 @@ import { Pipe, PipeTransform } from '@angular/core';
* @hidden
*/
@Pipe({
- name: 'spreadTickLabels'
+ name: 'spreadTickLabels',
+ standalone: true
})
export class IgxTickLabelsPipe implements PipeTransform {
diff --git a/projects/igniteui-angular/src/lib/slider/ticks/ticks.component.ts b/projects/igniteui-angular/src/lib/slider/ticks/ticks.component.ts
index 78be769edf0..49f867498aa 100644
--- a/projects/igniteui-angular/src/lib/slider/ticks/ticks.component.ts
+++ b/projects/igniteui-angular/src/lib/slider/ticks/ticks.component.ts
@@ -1,5 +1,6 @@
import { Component, Input, TemplateRef, HostBinding } from '@angular/core';
import { TicksOrientation, TickLabelsOrientation } from '../slider.common';
+import { NgFor, NgClass, NgTemplateOutlet } from '@angular/common';
/**
* @hidden
@@ -7,6 +8,8 @@ import { TicksOrientation, TickLabelsOrientation } from '../slider.common';
@Component({
selector: 'igx-ticks',
templateUrl: 'ticks.component.html',
+ standalone: true,
+ imports: [NgFor, NgClass, NgTemplateOutlet]
})
export class IgxTicksComponent {
@Input()
diff --git a/projects/igniteui-angular/src/lib/snackbar/snackbar.component.spec.ts b/projects/igniteui-angular/src/lib/snackbar/snackbar.component.spec.ts
index 2019a7a4ef1..82d6a5d5dd3 100644
--- a/projects/igniteui-angular/src/lib/snackbar/snackbar.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/snackbar/snackbar.component.spec.ts
@@ -1,8 +1,8 @@
import { Component, ViewChild } from '@angular/core';
import { TestBed, fakeAsync, tick, waitForAsync, ComponentFixture } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
-import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxSnackbarComponent, IgxSnackbarModule } from './snackbar.component';
+import { NoopAnimationsModule } from '@angular/platform-browser/animations';
+import { IgxSnackbarComponent } from './snackbar.component';
import { configureTestSuite } from '../test-utils/configure-suite';
import { HorizontalAlignment, PositionSettings, slideInLeft, slideInRight, VerticalAlignment } from 'igniteui-angular';
import { useAnimation } from '@angular/animations';
@@ -11,13 +11,10 @@ describe('IgxSnackbar', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- SnackbarInitializeTestComponent,
- SnackbarCustomContentComponent
- ],
imports: [
NoopAnimationsModule,
- IgxSnackbarModule
+ SnackbarInitializeTestComponent,
+ SnackbarCustomContentComponent
]
}).compileComponents();
}));
@@ -192,12 +189,9 @@ describe('IgxSnackbar with custom content', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- SnackbarCustomContentComponent
- ],
imports: [
- BrowserAnimationsModule,
- IgxSnackbarModule
+ NoopAnimationsModule,
+ SnackbarCustomContentComponent
]
}).compileComponents();
}));
@@ -257,7 +251,9 @@ describe('IgxSnackbar with custom content', () => {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxSnackbarComponent]
})
class SnackbarInitializeTestComponent {
@ViewChild(IgxSnackbarComponent, { static: true }) public snackbar: IgxSnackbarComponent;
@@ -267,7 +263,9 @@ class SnackbarInitializeTestComponent {
@Component({
template: `
Custom content
- `
+ `,
+ standalone: true,
+ imports: [IgxSnackbarComponent]
})
class SnackbarCustomContentComponent {
@ViewChild(IgxSnackbarComponent, { static: true }) public snackbar: IgxSnackbarComponent;
diff --git a/projects/igniteui-angular/src/lib/snackbar/snackbar.component.ts b/projects/igniteui-angular/src/lib/snackbar/snackbar.component.ts
index e2d59a467f8..1ddfc4810f9 100644
--- a/projects/igniteui-angular/src/lib/snackbar/snackbar.component.ts
+++ b/projects/igniteui-angular/src/lib/snackbar/snackbar.component.ts
@@ -1,11 +1,10 @@
import { useAnimation } from '@angular/animations';
-import { CommonModule } from '@angular/common';
+import { NgIf } from '@angular/common';
import {
Component,
EventEmitter,
HostBinding,
Input,
- NgModule,
OnInit,
Output
} from '@angular/core';
@@ -36,7 +35,9 @@ let NEXT_ID = 0;
*/
@Component({
selector: 'igx-snackbar',
- templateUrl: 'snackbar.component.html'
+ templateUrl: 'snackbar.component.html',
+ standalone: true,
+ imports: [NgIf]
})
export class IgxSnackbarComponent extends IgxNotificationsDirective
implements OnInit {
@@ -203,12 +204,3 @@ export class IgxSnackbarComponent extends IgxNotificationsDirective
}
}
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxSnackbarComponent],
- exports: [IgxSnackbarComponent],
- imports: [CommonModule]
-})
-export class IgxSnackbarModule { }
diff --git a/projects/igniteui-angular/src/lib/snackbar/snackbar.module.ts b/projects/igniteui-angular/src/lib/snackbar/snackbar.module.ts
new file mode 100644
index 00000000000..f7ba5ce2467
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/snackbar/snackbar.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IgxSnackbarComponent } from './snackbar.component';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ IgxSnackbarComponent
+ ],
+ exports: [
+ IgxSnackbarComponent
+ ]
+})
+export class IgxSnackbarModule { }
diff --git a/projects/igniteui-angular/src/lib/splitter/public_api.ts b/projects/igniteui-angular/src/lib/splitter/public_api.ts
new file mode 100644
index 00000000000..f9564e5a11a
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/splitter/public_api.ts
@@ -0,0 +1,12 @@
+import { IgxSplitterPaneComponent } from './splitter-pane/splitter-pane.component';
+import { IgxSplitBarComponent, IgxSplitterComponent } from './splitter.component';
+
+export * from './splitter.component';
+export * from './splitter-pane/splitter-pane.component';
+
+/* NOTE: Splitter directives collection for ease-of-use import in standalone components scenario */
+export const IGX_SPLITTER_DIRECTIVES = [
+ IgxSplitterComponent,
+ IgxSplitterPaneComponent,
+ IgxSplitBarComponent
+] as const;
diff --git a/projects/igniteui-angular/src/lib/splitter/splitter-pane/splitter-pane.component.ts b/projects/igniteui-angular/src/lib/splitter/splitter-pane/splitter-pane.component.ts
index d43881a0533..08f15d3f8c6 100644
--- a/projects/igniteui-angular/src/lib/splitter/splitter-pane/splitter-pane.component.ts
+++ b/projects/igniteui-angular/src/lib/splitter/splitter-pane/splitter-pane.component.ts
@@ -16,7 +16,8 @@ import { Component, HostBinding, Input, ElementRef, Output, EventEmitter } from
*/
@Component({
selector: 'igx-splitter-pane',
- templateUrl: './splitter-pane.component.html'
+ templateUrl: './splitter-pane.component.html',
+ standalone: true
})
export class IgxSplitterPaneComponent {
private _minSize: string;
@@ -42,7 +43,7 @@ export class IgxSplitterPaneComponent {
@Input()
public get minSize(): string {
return this._minSize;
- };
+ }
public set minSize(value: string) {
this._minSize = value;
if (this.owner) {
@@ -63,7 +64,7 @@ export class IgxSplitterPaneComponent {
@Input()
public get maxSize(): string {
return this._maxSize;
- };
+ }
public set maxSize(value: string) {
this._maxSize = value;
if (this.owner) {
diff --git a/projects/igniteui-angular/src/lib/splitter/splitter.component.spec.ts b/projects/igniteui-angular/src/lib/splitter/splitter.component.spec.ts
index 1710af97565..50f584d2e64 100644
--- a/projects/igniteui-angular/src/lib/splitter/splitter.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/splitter/splitter.component.spec.ts
@@ -1,10 +1,10 @@
-import { IgxSplitterModule } from './splitter.module';
import { configureTestSuite } from '../test-utils/configure-suite';
import { TestBed, waitForAsync } from '@angular/core/testing';
import { Component, ViewChild, DebugElement } from '@angular/core';
import { SplitterType, IgxSplitterComponent, ISplitterBarResizeEventArgs } from './splitter.component';
import { By } from '@angular/platform-browser';
import { UIInteractions } from '../test-utils/ui-interactions.spec';
+import { IgxSplitterPaneComponent } from './splitter-pane/splitter-pane.component';
const SPLITTERBAR_CLASS = 'igx-splitter-bar';
@@ -14,11 +14,10 @@ const SPLITTER_BAR_VERTICAL_CLASS = 'igx-splitter-bar--vertical';
describe('IgxSplitter', () => {
configureTestSuite();
beforeAll(waitForAsync(() => TestBed.configureTestingModule({
- declarations: [ SplitterTestComponent ],
- imports: [
- IgxSplitterModule
- ]
- }).compileComponents()));
+ imports: [
+ SplitterTestComponent
+ ]
+}).compileComponents()));
let fixture; let splitter;
beforeEach(waitForAsync(() => {
@@ -296,11 +295,10 @@ describe('IgxSplitter', () => {
describe('IgxSplitter pane toggle', () => {
configureTestSuite();
beforeAll(waitForAsync(() => TestBed.configureTestingModule({
- declarations: [ SplitterTogglePaneComponent ],
- imports: [
- IgxSplitterModule
- ]
- }).compileComponents()));
+ imports: [
+ SplitterTogglePaneComponent
+ ]
+ }).compileComponents()));
let fixture; let splitter;
beforeEach(waitForAsync(() => {
@@ -401,11 +399,10 @@ describe('IgxSplitter pane toggle', () => {
describe('IgxSplitter pane collapse', () => {
configureTestSuite();
beforeAll(waitForAsync(() => TestBed.configureTestingModule({
- declarations: [ SplitterCollapsedPaneComponent ],
- imports: [
- IgxSplitterModule
- ]
- }).compileComponents()));
+ imports: [
+ SplitterCollapsedPaneComponent
+ ]
+ }).compileComponents()));
let fixture; let splitter;
beforeEach(waitForAsync(() => {
@@ -447,6 +444,8 @@ describe('IgxSplitter pane collapse', () => {
`,
+ standalone: true,
+ imports: [IgxSplitterComponent, IgxSplitterPaneComponent]
})
export class SplitterTestComponent {
@ViewChild(IgxSplitterComponent, { static: true })
@@ -474,6 +473,8 @@ export class SplitterTestComponent {
`,
+ standalone: true,
+ imports: [IgxSplitterComponent, IgxSplitterPaneComponent]
})
export class SplitterTogglePaneComponent extends SplitterTestComponent {
@@ -499,6 +500,8 @@ export class SplitterTogglePaneComponent extends SplitterTestComponent {
`,
+ standalone: true,
+ imports: [IgxSplitterComponent, IgxSplitterPaneComponent]
})
export class SplitterCollapsedPaneComponent extends SplitterTestComponent {
}
diff --git a/projects/igniteui-angular/src/lib/splitter/splitter.component.ts b/projects/igniteui-angular/src/lib/splitter/splitter.component.ts
index e84a82d7855..87078b1a18f 100644
--- a/projects/igniteui-angular/src/lib/splitter/splitter.component.ts
+++ b/projects/igniteui-angular/src/lib/splitter/splitter.component.ts
@@ -1,6 +1,6 @@
-import { DOCUMENT } from '@angular/common';
-import { AfterContentInit, Component, ContentChildren, ElementRef, EventEmitter, HostBinding, HostListener, Inject, Input, Output, QueryList } from '@angular/core';
-import { DragDirection, IDragMoveEventArgs, IDragStartEventArgs } from '../directives/drag-drop/drag-drop.directive';
+import { DOCUMENT, NgFor, NgIf } from '@angular/common';
+import { AfterContentInit, Component, ContentChildren, ElementRef, EventEmitter, HostBinding, HostListener, Inject, Input, Output, QueryList, forwardRef } from '@angular/core';
+import { DragDirection, IDragMoveEventArgs, IDragStartEventArgs, IgxDragDirective, IgxDragIgnoreDirective } from '../directives/drag-drop/drag-drop.directive';
import { IgxSplitterPaneComponent } from './splitter-pane/splitter-pane.component';
/**
@@ -44,7 +44,9 @@ export declare interface ISplitterBarResizeEventArgs {
*/
@Component({
selector: 'igx-splitter',
- templateUrl: './splitter.component.html'
+ templateUrl: './splitter.component.html',
+ standalone: true,
+ imports: [NgFor, NgIf, forwardRef(() => IgxSplitBarComponent)]
})
export class IgxSplitterComponent implements AfterContentInit {
/**
@@ -346,7 +348,9 @@ export const SPLITTER_INTERACTION_KEYS = new Set('right down left up arrowright
*/
@Component({
selector: 'igx-splitter-bar',
- templateUrl: './splitter-bar.component.html'
+ templateUrl: './splitter-bar.component.html',
+ standalone: true,
+ imports: [IgxDragDirective, IgxDragIgnoreDirective]
})
export class IgxSplitBarComponent {
/**
diff --git a/projects/igniteui-angular/src/lib/splitter/splitter.module.ts b/projects/igniteui-angular/src/lib/splitter/splitter.module.ts
index cb67c6bbc18..a901ea7f5b8 100644
--- a/projects/igniteui-angular/src/lib/splitter/splitter.module.ts
+++ b/projects/igniteui-angular/src/lib/splitter/splitter.module.ts
@@ -1,22 +1,16 @@
import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { IgxSplitterPaneComponent } from './splitter-pane/splitter-pane.component';
-import { IgxSplitterComponent, IgxSplitBarComponent } from './splitter.component';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxDragDropModule } from '../directives/drag-drop/drag-drop.directive';
+import { IGX_SPLITTER_DIRECTIVES } from './public_api';
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
@NgModule({
imports: [
- CommonModule, IgxIconModule, IgxDragDropModule
- ],
- declarations: [
- IgxSplitterComponent,
- IgxSplitterPaneComponent,
- IgxSplitBarComponent
+ ...IGX_SPLITTER_DIRECTIVES
],
exports: [
- IgxSplitterComponent,
- IgxSplitterPaneComponent
+ ...IGX_SPLITTER_DIRECTIVES
]
})
export class IgxSplitterModule { }
diff --git a/projects/igniteui-angular/src/lib/stepper/public_api.ts b/projects/igniteui-angular/src/lib/stepper/public_api.ts
index a7792408539..8e8cd47dce3 100644
--- a/projects/igniteui-angular/src/lib/stepper/public_api.ts
+++ b/projects/igniteui-angular/src/lib/stepper/public_api.ts
@@ -1,4 +1,28 @@
+import { IgxStepComponent } from './step/step.component';
+import { IgxStepperComponent } from './stepper.component';
+import { IgxStepActiveIndicatorDirective, IgxStepCompletedIndicatorDirective, IgxStepContentDirective, IgxStepIndicatorDirective, IgxStepInvalidIndicatorDirective, IgxStepSubTitleDirective, IgxStepTitleDirective } from './stepper.directive';
+
export * from './stepper.component';
export * from './step/step.component';
-export * from './stepper.common';
+export {
+ IStepChangingEventArgs,
+ IStepChangedEventArgs,
+ IgxStepperOrientation,
+ IgxStepType,
+ IgxStepperTitlePosition,
+ VerticalAnimationType
+} from './stepper.common';
export * from './stepper.directive';
+
+/* NOTE: Stepper directives collection for ease-of-use import in standalone components scenario */
+export const IGX_STEPPER_DIRECTIVES = [
+ IgxStepComponent,
+ IgxStepperComponent,
+ IgxStepTitleDirective,
+ IgxStepSubTitleDirective,
+ IgxStepIndicatorDirective,
+ IgxStepContentDirective,
+ IgxStepActiveIndicatorDirective,
+ IgxStepCompletedIndicatorDirective,
+ IgxStepInvalidIndicatorDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/stepper/step/step.component.ts b/projects/igniteui-angular/src/lib/stepper/step/step.component.ts
index 3c2c8a9ec40..6f9c6e97532 100644
--- a/projects/igniteui-angular/src/lib/stepper/step/step.component.ts
+++ b/projects/igniteui-angular/src/lib/stepper/step/step.component.ts
@@ -26,6 +26,8 @@ import { IgxDirectionality } from '../../services/direction/directionality';
import { IgxStep, IgxStepper, IgxStepperOrientation, IgxStepType, IGX_STEPPER_COMPONENT, IGX_STEP_COMPONENT } from '../stepper.common';
import { IgxStepContentDirective, IgxStepIndicatorDirective } from '../stepper.directive';
import { IgxStepperService } from '../stepper.service';
+import { IgxRippleDirective } from '../../directives/ripple/ripple.directive';
+import { NgIf, NgClass, NgTemplateOutlet } from '@angular/common';
let NEXT_ID = 0;
@@ -53,7 +55,9 @@ let NEXT_ID = 0;
templateUrl: 'step.component.html',
providers: [
{ provide: IGX_STEP_COMPONENT, useExisting: IgxStepComponent }
- ]
+ ],
+ standalone: true,
+ imports: [NgIf, NgClass, IgxRippleDirective, NgTemplateOutlet]
})
export class IgxStepComponent extends ToggleAnimationPlayer implements IgxStep, AfterViewInit, OnDestroy, IgxSlideComponentBase {
diff --git a/projects/igniteui-angular/src/lib/stepper/stepper.common.ts b/projects/igniteui-angular/src/lib/stepper/stepper.common.ts
index 916e40c9f6d..9254027d85e 100644
--- a/projects/igniteui-angular/src/lib/stepper/stepper.common.ts
+++ b/projects/igniteui-angular/src/lib/stepper/stepper.common.ts
@@ -43,7 +43,6 @@ export interface IgxStepper extends IgxCarouselComponentBase {
}
// Item interfaces
-
export interface IgxStep extends ToggleAnimationPlayer {
id: string;
/** @hidden @internal */
diff --git a/projects/igniteui-angular/src/lib/stepper/stepper.component.spec.ts b/projects/igniteui-angular/src/lib/stepper/stepper.component.spec.ts
index 60b000f1616..7ef0634088e 100644
--- a/projects/igniteui-angular/src/lib/stepper/stepper.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/stepper/stepper.component.spec.ts
@@ -1,10 +1,13 @@
import { AnimationBuilder } from '@angular/animations';
+import { NgIf } from '@angular/common';
import { Component, ViewChild } from '@angular/core';
import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { take } from 'rxjs/operators';
-import { IgxIconModule } from '../icon/public_api';
+import { HorizontalAnimationType } from '../carousel/carousel-base';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxInputDirective, IgxInputGroupComponent } from '../input-group/public_api';
import { Direction } from '../services/direction/directionality';
import { configureTestSuite } from '../test-utils/configure-suite';
import { UIInteractions } from '../test-utils/ui-interactions.spec';
@@ -14,9 +17,11 @@ import {
IgxStepperTitlePosition,
IgxStepType,
IStepChangedEventArgs,
- IStepChangingEventArgs
+ IStepChangingEventArgs,
+ VerticalAnimationType
} from './stepper.common';
-import { IgxStepperComponent, IgxStepperModule } from './stepper.component';
+import { IgxStepperComponent } from './stepper.component';
+import { IgxStepActiveIndicatorDirective, IgxStepCompletedIndicatorDirective, IgxStepContentDirective, IgxStepIndicatorDirective, IgxStepInvalidIndicatorDirective, IgxStepSubTitleDirective, IgxStepTitleDirective } from './stepper.directive';
import { IgxStepperService } from './stepper.service';
const STEPPER_CLASS = 'igx-stepper';
@@ -78,16 +83,11 @@ describe('Rendering Tests', () => {
beforeAll(
waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxStepperSampleTestComponent,
- IgxStepperLinearComponent
- ],
imports: [
NoopAnimationsModule,
- IgxStepperModule,
- IgxIconModule
- ],
- providers: []
+ IgxStepperSampleTestComponent,
+ IgxStepperLinearComponent
+ ]
}).compileComponents();
})
);
@@ -1231,7 +1231,7 @@ describe('Stepper service unit tests', () => {
@Component({
template: `
-
@@ -1250,8 +1250,10 @@ describe('Stepper service unit tests', () => {
1
Step No 1
Step SubTitle
-
-
+
+
+
+
@@ -1298,13 +1300,29 @@ describe('Stepper service unit tests', () => {
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxStepperComponent,
+ IgxStepComponent,
+ IgxStepTitleDirective,
+ IgxStepIndicatorDirective,
+ IgxStepSubTitleDirective,
+ IgxStepContentDirective,
+ IgxStepInvalidIndicatorDirective,
+ IgxStepCompletedIndicatorDirective,
+ IgxStepActiveIndicatorDirective,
+ IgxIconComponent,
+ IgxInputDirective,
+ IgxInputGroupComponent,
+ NgIf
+ ]
})
export class IgxStepperSampleTestComponent {
@ViewChild(IgxStepperComponent) public stepper: IgxStepperComponent;
- public horizontalAnimationType = 'slide';
- public verticalAnimationType = 'grow';
+ public horizontalAnimationType: HorizontalAnimationType = 'slide';
+ public verticalAnimationType: VerticalAnimationType = 'grow';
public animationDuration = 300;
public displayHiddenStep = false;
@@ -1322,7 +1340,9 @@ export class IgxStepperSampleTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxStepperComponent, IgxStepComponent]
})
export class IgxStepperLinearComponent {
@ViewChild(IgxStepperComponent) public stepper: IgxStepperComponent;
diff --git a/projects/igniteui-angular/src/lib/stepper/stepper.component.ts b/projects/igniteui-angular/src/lib/stepper/stepper.component.ts
index 6c74fe69a67..a8c7572882a 100644
--- a/projects/igniteui-angular/src/lib/stepper/stepper.component.ts
+++ b/projects/igniteui-angular/src/lib/stepper/stepper.component.ts
@@ -1,8 +1,8 @@
import { AnimationReferenceMetadata, useAnimation } from '@angular/animations';
-import { CommonModule } from '@angular/common';
+import { NgIf, NgTemplateOutlet, NgFor } from '@angular/common';
import {
AfterContentInit, ChangeDetectorRef, Component, ContentChild, ContentChildren,
- ElementRef, EventEmitter, HostBinding, Inject, Input, NgModule, OnChanges, OnDestroy,
+ ElementRef, EventEmitter, HostBinding, Inject, Input, OnChanges, OnDestroy,
OnInit, Output, QueryList, SimpleChanges,TemplateRef
} from '@angular/core';
import { Subject } from 'rxjs';
@@ -10,7 +10,7 @@ import { takeUntil } from 'rxjs/operators';
import { growVerIn, growVerOut } from '../animations/grow';
import { fadeIn } from '../animations/main';
import { HorizontalAnimationType, IgxCarouselComponentBase } from '../carousel/carousel-base';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
+
import { ToggleAnimationSettings } from '../expansion-panel/toggle-animation-component';
import { IgxAngularAnimationService } from '../services/animation/angular-animation-service';
import { AnimationService } from '../services/animation/animation';
@@ -22,9 +22,7 @@ import {
import {
IgxStepActiveIndicatorDirective,
IgxStepCompletedIndicatorDirective,
- IgxStepContentDirective,
- IgxStepIndicatorDirective, IgxStepInvalidIndicatorDirective,
- IgxStepSubTitleDirective, IgxStepTitleDirective
+ IgxStepInvalidIndicatorDirective
} from './stepper.directive';
import { IgxStepperService } from './stepper.service';
@@ -74,7 +72,9 @@ import { IgxStepperService } from './stepper.service';
providers: [
IgxStepperService,
{ provide: IGX_STEPPER_COMPONENT, useExisting: IgxStepperComponent },
- ]
+ ],
+ standalone: true,
+ imports: [NgIf, NgTemplateOutlet, NgFor]
})
export class IgxStepperComponent extends IgxCarouselComponentBase implements IgxStepper, OnChanges, OnInit, AfterContentInit, OnDestroy {
@@ -540,32 +540,4 @@ export class IgxStepperComponent extends IgxCarouselComponentBase implements Igx
}
}
-@NgModule({
- imports: [
- CommonModule,
- IgxRippleModule
- ],
- declarations: [
- IgxStepComponent,
- IgxStepperComponent,
- IgxStepTitleDirective,
- IgxStepSubTitleDirective,
- IgxStepIndicatorDirective,
- IgxStepContentDirective,
- IgxStepActiveIndicatorDirective,
- IgxStepCompletedIndicatorDirective,
- IgxStepInvalidIndicatorDirective,
- ],
- exports: [
- IgxStepComponent,
- IgxStepperComponent,
- IgxStepTitleDirective,
- IgxStepSubTitleDirective,
- IgxStepIndicatorDirective,
- IgxStepContentDirective,
- IgxStepActiveIndicatorDirective,
- IgxStepCompletedIndicatorDirective,
- IgxStepInvalidIndicatorDirective,
- ]
-})
-export class IgxStepperModule { }
+
diff --git a/projects/igniteui-angular/src/lib/stepper/stepper.directive.ts b/projects/igniteui-angular/src/lib/stepper/stepper.directive.ts
index 50f1f34ad67..b2b549137c1 100644
--- a/projects/igniteui-angular/src/lib/stepper/stepper.directive.ts
+++ b/projects/igniteui-angular/src/lib/stepper/stepper.directive.ts
@@ -3,27 +3,32 @@ import { IgxStep, IGX_STEP_COMPONENT } from './stepper.common';
import { IgxStepperService } from './stepper.service';
@Directive({
- selector: '[igxStepActiveIndicator]'
+ selector: '[igxStepActiveIndicator]',
+ standalone: true
})
export class IgxStepActiveIndicatorDirective { }
@Directive({
- selector: '[igxStepCompletedIndicator]'
+ selector: '[igxStepCompletedIndicator]',
+ standalone: true
})
export class IgxStepCompletedIndicatorDirective { }
@Directive({
- selector: '[igxStepInvalidIndicator]'
+ selector: '[igxStepInvalidIndicator]',
+ standalone: true
})
export class IgxStepInvalidIndicatorDirective { }
@Directive({
- selector: '[igxStepIndicator]'
+ selector: '[igxStepIndicator]',
+ standalone: true
})
export class IgxStepIndicatorDirective { }
@Directive({
- selector: '[igxStepTitle]'
+ selector: '[igxStepTitle]',
+ standalone: true
})
export class IgxStepTitleDirective {
@HostBinding('class.igx-stepper__step-title')
@@ -31,7 +36,8 @@ export class IgxStepTitleDirective {
}
@Directive({
- selector: '[igxStepSubTitle]'
+ selector: '[igxStepSubTitle]',
+ standalone: true
})
export class IgxStepSubTitleDirective {
@HostBinding('class.igx-stepper__step-subtitle')
@@ -39,7 +45,8 @@ export class IgxStepSubTitleDirective {
}
@Directive({
- selector: '[igxStepContent]'
+ selector: '[igxStepContent]',
+ standalone: true
})
export class IgxStepContentDirective {
private get target(): IgxStep {
diff --git a/projects/igniteui-angular/src/lib/stepper/stepper.module.ts b/projects/igniteui-angular/src/lib/stepper/stepper.module.ts
new file mode 100644
index 00000000000..45fedb83aa6
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/stepper/stepper.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IGX_STEPPER_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ ...IGX_STEPPER_DIRECTIVES
+ ],
+ exports: [
+ ...IGX_STEPPER_DIRECTIVES
+ ]
+})
+export class IgxStepperModule { }
diff --git a/projects/igniteui-angular/src/lib/switch/README.md b/projects/igniteui-angular/src/lib/switch/README.md
index cc06af1e573..7ac218251d9 100644
--- a/projects/igniteui-angular/src/lib/switch/README.md
+++ b/projects/igniteui-angular/src/lib/switch/README.md
@@ -1,6 +1,6 @@
# igx-switch
-`igx-switch` is a selection component that allows users to make a binary choice for a certain condition. It behaves similar to the switch component sans the indeterminate state.Â
+`igx-switch` is a selection component that allows users to make a binary choice for a certain condition. It behaves similar to the switch component sans the indeterminate state.
A walkthrough of how to get started can be found [here](https://www.infragistics.com/products/ignite-ui-angular/angular/components/switch)
Basic usage of `igx-switch`
diff --git a/projects/igniteui-angular/src/lib/switch/switch.component.spec.ts b/projects/igniteui-angular/src/lib/switch/switch.component.spec.ts
index 89d14c06179..481e3ea9f4b 100644
--- a/projects/igniteui-angular/src/lib/switch/switch.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/switch/switch.component.spec.ts
@@ -2,7 +2,6 @@ import { Component, ViewChild } from '@angular/core';
import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { UntypedFormBuilder, FormsModule, ReactiveFormsModule, Validators, NgForm } from '@angular/forms';
import { By } from '@angular/platform-browser';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
import { IgxSwitchComponent } from './switch.component';
import { configureTestSuite } from '../test-utils/configure-suite';
@@ -13,7 +12,8 @@ describe('IgxSwitch', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
InitSwitchComponent,
SwitchSimpleComponent,
SwitchRequiredComponent,
@@ -22,8 +22,7 @@ describe('IgxSwitch', () => {
SwitchFormComponent,
SwitchFormGroupComponent,
IgxSwitchComponent
- ],
- imports: [FormsModule, ReactiveFormsModule, IgxRippleModule, NoopAnimationsModule]
+ ]
}).compileComponents();
}));
@@ -305,14 +304,21 @@ describe('IgxSwitch', () => {
});
});
-@Component({ template: `
Init ` })
+@Component({
+ template: `
Init `,
+ standalone: true,
+ imports: [IgxSwitchComponent]
+})
class InitSwitchComponent {
@ViewChild('switch', { static: true }) public switch: IgxSwitchComponent;
}
@Component({
template: `
Simple `})
+[(ngModel)]="subscribed" [checked]="subscribed">Simple`,
+ standalone: true,
+ imports: [FormsModule, IgxSwitchComponent]
+})
class SwitchSimpleComponent {
@ViewChild('switch', { static: true }) public switch: IgxSwitchComponent;
public changeEventCalled = false;
@@ -327,7 +333,9 @@ class SwitchSimpleComponent {
}
@Component({
- template: `
Required `
+ template: `
Required `,
+ standalone: true,
+ imports: [IgxSwitchComponent]
})
class SwitchRequiredComponent {
@ViewChild('switch', { static: true }) public switch: IgxSwitchComponent;
@@ -335,7 +343,9 @@ class SwitchRequiredComponent {
@Component({
template: `
{{label}}
-
`
+
`,
+ standalone: true,
+ imports: [IgxSwitchComponent]
})
class SwitchExternalLabelComponent {
@ViewChild('switch', { static: true }) public switch: IgxSwitchComponent;
@@ -343,7 +353,9 @@ class SwitchExternalLabelComponent {
}
@Component({
- template: `
`
+ template: `
`,
+ standalone: true,
+ imports: [IgxSwitchComponent]
})
class SwitchInvisibleLabelComponent {
@ViewChild('switch', { static: true }) public switch: IgxSwitchComponent;
@@ -351,7 +363,9 @@ class SwitchInvisibleLabelComponent {
}
@Component({
- template: `
`
+ template: `
`,
+ standalone: true,
+ imports: [ReactiveFormsModule, IgxSwitchComponent]
})
class SwitchFormGroupComponent {
@ViewChild('switch', { static: true }) public switch: IgxSwitchComponent;
@@ -366,7 +380,9 @@ class SwitchFormGroupComponent {
-`
+ `,
+ standalone: true,
+ imports: [FormsModule, IgxSwitchComponent]
})
class SwitchFormComponent {
@ViewChild('switch', { read: IgxSwitchComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/switch/switch.component.ts b/projects/igniteui-angular/src/lib/switch/switch.component.ts
index b79140ab1f6..d0adc78af16 100644
--- a/projects/igniteui-angular/src/lib/switch/switch.component.ts
+++ b/projects/igniteui-angular/src/lib/switch/switch.component.ts
@@ -3,7 +3,6 @@ import {
EventEmitter,
HostBinding,
Input,
- NgModule,
Output,
ViewChild,
ElementRef,
@@ -15,7 +14,7 @@ import {
Optional
} from '@angular/core';
import { ControlValueAccessor, NgControl, Validators } from '@angular/forms';
-import { IgxRippleModule } from '../directives/ripple/ripple.directive';
+import { IgxRippleDirective } from '../directives/ripple/ripple.directive';
import { IBaseEventArgs, mkenum } from '../core/utils';
import { EditorProvider, EDITOR_PROVIDER } from '../core/edit-provider';
import { noop, Subject } from 'rxjs';
@@ -60,10 +59,12 @@ let nextId = 0;
providers: [{
provide: EDITOR_PROVIDER,
useExisting: IgxSwitchComponent,
- multi: true
+ multi: true
}],
selector: 'igx-switch',
- templateUrl: 'switch.component.html'
+ templateUrl: 'switch.component.html',
+ standalone: true,
+ imports: [IgxRippleDirective]
})
export class IgxSwitchComponent implements ControlValueAccessor, EditorProvider, AfterViewInit {
private static ngAcceptInputType_required: boolean | '';
@@ -494,13 +495,3 @@ export class IgxSwitchComponent implements ControlValueAccessor, EditorProvider,
}
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxSwitchComponent],
- exports: [IgxSwitchComponent],
- imports: [IgxRippleModule]
-})
-export class IgxSwitchModule { }
diff --git a/projects/igniteui-angular/src/lib/switch/switch.module.ts b/projects/igniteui-angular/src/lib/switch/switch.module.ts
new file mode 100644
index 00000000000..0b9c8c228cf
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/switch/switch.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IgxSwitchComponent } from './switch.component';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ IgxSwitchComponent
+ ],
+ exports: [
+ IgxSwitchComponent
+ ]
+})
+export class IgxSwitchModule { }
diff --git a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-content.component.ts b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-content.component.ts
index cf37c6cfa77..994ae273777 100644
--- a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-content.component.ts
+++ b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-content.component.ts
@@ -1,11 +1,14 @@
import { Component, HostBinding } from '@angular/core';
import { IgxTabContentDirective } from '../tab-content.directive';
import { IgxTabContentBase } from '../tabs.base';
+import { NgIf } from '@angular/common';
@Component({
selector: 'igx-bottom-nav-content',
templateUrl: 'bottom-nav-content.component.html',
- providers: [{ provide: IgxTabContentBase, useExisting: IgxBottomNavContentComponent }]
+ providers: [{ provide: IgxTabContentBase, useExisting: IgxBottomNavContentComponent }],
+ standalone: true,
+ imports: [NgIf]
})
export class IgxBottomNavContentComponent extends IgxTabContentDirective {
/** @hidden */
diff --git a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-header.component.ts b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-header.component.ts
index 1483be7568a..eacda00c52f 100644
--- a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-header.component.ts
+++ b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-header.component.ts
@@ -5,7 +5,8 @@ import { IgxTabHeaderBase } from '../tabs.base';
@Component({
selector: 'igx-bottom-nav-header',
templateUrl: 'bottom-nav-header.component.html',
- providers: [{ provide: IgxTabHeaderBase, useExisting: IgxBottomNavHeaderComponent }]
+ providers: [{ provide: IgxTabHeaderBase, useExisting: IgxBottomNavHeaderComponent }],
+ standalone: true
})
export class IgxBottomNavHeaderComponent extends IgxTabHeaderDirective {
diff --git a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-item.component.ts b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-item.component.ts
index 5adf87ab26b..1d1e3fafd01 100644
--- a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-item.component.ts
+++ b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav-item.component.ts
@@ -4,7 +4,8 @@ import { IgxTabItemDirective } from '../tab-item.directive';
@Component({
selector: 'igx-bottom-nav-item',
templateUrl: 'bottom-nav-item.component.html',
- providers: [{ provide: IgxTabItemDirective, useExisting: IgxBottomNavItemComponent }]
+ providers: [{ provide: IgxTabItemDirective, useExisting: IgxBottomNavItemComponent }],
+ standalone: true
})
export class IgxBottomNavItemComponent extends IgxTabItemDirective {
}
diff --git a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.component.spec.ts b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.component.spec.ts
index ab2c0e48b9a..ed3fd90bafc 100644
--- a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.component.spec.ts
@@ -10,19 +10,12 @@ import { BottomTabBarTestComponent,
TabBarTestComponent,
BottomNavRoutingGuardTestComponent,
BottomNavTestHtmlAttributesComponent } from '../../test-utils/bottom-nav-components.spec';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxBottomNavModule } from './bottom-nav.module';
+import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxBottomNavContentComponent } from './bottom-nav-content.component';
import { IgxBottomNavComponent, IgxBottomNavItemComponent } from './public_api';
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
-import { IgxIconModule } from '../../icon/public_api';
import { RoutingTestGuard } from '../../test-utils/routing-test-guard.spec';
-import { RoutingView1Component,
- RoutingView2Component,
- RoutingView3Component,
- RoutingView4Component,
- RoutingView5Component,
- RoutingViewComponentsModule } from '../../test-utils/routing-view-components.spec';
+import { RoutingView1Component, RoutingView2Component, RoutingView3Component, RoutingView4Component, RoutingView5Component } from '../../test-utils/routing-view-components.spec';
describe('IgxBottomNav', () => {
configureTestSuite();
@@ -40,10 +33,21 @@ describe('IgxBottomNav', () => {
];
TestBed.configureTestingModule({
- declarations: [TabBarTestComponent, BottomTabBarTestComponent, TabBarRoutingTestComponent,
- TabBarTabsOnlyModeTestComponent, BottomNavRoutingGuardTestComponent, BottomNavTestHtmlAttributesComponent],
- imports: [IgxBottomNavModule, BrowserAnimationsModule, IgxIconModule, RoutingViewComponentsModule,
- RouterTestingModule.withRoutes(testRoutes)],
+ imports: [
+ NoopAnimationsModule,
+ RouterTestingModule.withRoutes(testRoutes),
+ TabBarTestComponent,
+ BottomTabBarTestComponent,
+ TabBarRoutingTestComponent,
+ TabBarTabsOnlyModeTestComponent,
+ BottomNavRoutingGuardTestComponent,
+ BottomNavTestHtmlAttributesComponent,
+ RoutingView1Component,
+ RoutingView2Component,
+ RoutingView3Component,
+ RoutingView4Component,
+ RoutingView5Component
+ ],
providers: [RoutingTestGuard]
}).compileComponents();
}));
diff --git a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.component.ts b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.component.ts
index f2c08cf4299..7db226f4a45 100644
--- a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.component.ts
+++ b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.component.ts
@@ -1,6 +1,7 @@
import { Component } from '@angular/core';
import { IgxTabsBase } from '../tabs.base';
import { IgxTabsDirective } from '../tabs.directive';
+import { NgFor, NgTemplateOutlet } from '@angular/common';
/** @hidden */
@@ -40,7 +41,9 @@ let NEXT_BOTTOM_NAV_ITEM_ID = 0;
@Component({
selector: 'igx-bottom-nav',
templateUrl: 'bottom-nav.component.html',
- providers: [{ provide: IgxTabsBase, useExisting: IgxBottomNavComponent }]
+ providers: [{ provide: IgxTabsBase, useExisting: IgxBottomNavComponent }],
+ standalone: true,
+ imports: [NgFor, NgTemplateOutlet]
})
export class IgxBottomNavComponent extends IgxTabsDirective {
/** @hidden */
diff --git a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.directives.ts b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.directives.ts
index 88753b40db1..3348cf062be 100644
--- a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.directives.ts
+++ b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.directives.ts
@@ -1,11 +1,13 @@
import { Directive } from '@angular/core';
@Directive({
- selector: 'igx-bottom-nav-header-label,[igxBottomNavHeaderLabel]'
+ selector: 'igx-bottom-nav-header-label,[igxBottomNavHeaderLabel]',
+ standalone: true
})
export class IgxBottomNavHeaderLabelDirective { }
@Directive({
- selector: 'igx-bottom-nav-header-icon,[igxBottomNavHeaderIcon]'
+ selector: 'igx-bottom-nav-header-icon,[igxBottomNavHeaderIcon]',
+ standalone: true
})
export class IgxBottomNavHeaderIconDirective { }
diff --git a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.module.ts b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.module.ts
index d8153c19e6c..c76878569b6 100644
--- a/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.module.ts
+++ b/projects/igniteui-angular/src/lib/tabs/bottom-nav/bottom-nav.module.ts
@@ -1,32 +1,16 @@
-import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
-import { IgxRippleModule } from '../../directives/ripple/ripple.directive';
-import { IgxIconModule } from '../../icon/public_api';
-import { IgxBottomNavHeaderComponent } from './bottom-nav-header.component';
-import { IgxBottomNavHeaderIconDirective, IgxBottomNavHeaderLabelDirective } from './bottom-nav.directives';
-import { IgxBottomNavItemComponent } from './bottom-nav-item.component';
-import { IgxBottomNavContentComponent } from './bottom-nav-content.component';
-import { IgxBottomNavComponent } from './bottom-nav.component';
+import { IGX_BOTTOM_NAV_DIRECTIVES } from './public_api';
-/** @hidden */
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
@NgModule({
- declarations: [
- IgxBottomNavComponent,
- IgxBottomNavItemComponent,
- IgxBottomNavHeaderComponent,
- IgxBottomNavContentComponent,
- IgxBottomNavHeaderLabelDirective,
- IgxBottomNavHeaderIconDirective
+ imports: [
+ ...IGX_BOTTOM_NAV_DIRECTIVES
],
- exports: [
- IgxBottomNavComponent,
- IgxBottomNavItemComponent,
- IgxBottomNavHeaderComponent,
- IgxBottomNavContentComponent,
- IgxBottomNavHeaderLabelDirective,
- IgxBottomNavHeaderIconDirective
- ],
- imports: [CommonModule, IgxIconModule, IgxRippleModule]
+ exports: [
+ ...IGX_BOTTOM_NAV_DIRECTIVES
+ ]
})
-export class IgxBottomNavModule {
-}
+export class IgxBottomNavModule { }
diff --git a/projects/igniteui-angular/src/lib/tabs/bottom-nav/public_api.ts b/projects/igniteui-angular/src/lib/tabs/bottom-nav/public_api.ts
index 26da287fa68..49252d5f3ce 100644
--- a/projects/igniteui-angular/src/lib/tabs/bottom-nav/public_api.ts
+++ b/projects/igniteui-angular/src/lib/tabs/bottom-nav/public_api.ts
@@ -1,6 +1,21 @@
+import { IgxBottomNavContentComponent } from './bottom-nav-content.component';
+import { IgxBottomNavHeaderComponent } from './bottom-nav-header.component';
+import { IgxBottomNavItemComponent } from './bottom-nav-item.component';
+import { IgxBottomNavComponent } from './bottom-nav.component';
+import { IgxBottomNavHeaderIconDirective, IgxBottomNavHeaderLabelDirective } from './bottom-nav.directives';
+
export * from './bottom-nav.component';
export * from './bottom-nav-item.component';
export * from './bottom-nav-header.component';
export * from './bottom-nav.directives';
export * from './bottom-nav-content.component';
-export * from './bottom-nav.module';
+
+/* NOTE: Bottom navigation directives collection for ease-of-use import in standalone components scenario */
+export const IGX_BOTTOM_NAV_DIRECTIVES = [
+ IgxBottomNavComponent,
+ IgxBottomNavItemComponent,
+ IgxBottomNavHeaderComponent,
+ IgxBottomNavContentComponent,
+ IgxBottomNavHeaderLabelDirective,
+ IgxBottomNavHeaderIconDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/tabs/public_api.ts b/projects/igniteui-angular/src/lib/tabs/public_api.ts
deleted file mode 100644
index 5bf7b73ba74..00000000000
--- a/projects/igniteui-angular/src/lib/tabs/public_api.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export * from './tab-header.directive';
-export * from './tab-item.directive';
-export * from './tab-content.directive';
-export * from './tabs.directive';
diff --git a/projects/igniteui-angular/src/lib/tabs/tab-content.directive.ts b/projects/igniteui-angular/src/lib/tabs/tab-content.directive.ts
index e4900076129..ed6e302a4ac 100644
--- a/projects/igniteui-angular/src/lib/tabs/tab-content.directive.ts
+++ b/projects/igniteui-angular/src/lib/tabs/tab-content.directive.ts
@@ -28,5 +28,5 @@ export abstract class IgxTabContentDirective implements IgxTabContentBase {
/** @hidden */
public get nativeElement() {
return this.elementRef.nativeElement;
- };
+ }
}
diff --git a/projects/igniteui-angular/src/lib/tabs/tab-header.directive.ts b/projects/igniteui-angular/src/lib/tabs/tab-header.directive.ts
index ab5236beebf..772a5918609 100644
--- a/projects/igniteui-angular/src/lib/tabs/tab-header.directive.ts
+++ b/projects/igniteui-angular/src/lib/tabs/tab-header.directive.ts
@@ -48,5 +48,5 @@ export abstract class IgxTabHeaderDirective implements IgxTabHeaderBase {
/** @hidden */
public get nativeElement() {
return this.elementRef.nativeElement;
- };
+ }
}
diff --git a/projects/igniteui-angular/src/lib/tabs/tab-item.directive.ts b/projects/igniteui-angular/src/lib/tabs/tab-item.directive.ts
index e6e34cf5974..a589a5e765b 100644
--- a/projects/igniteui-angular/src/lib/tabs/tab-item.directive.ts
+++ b/projects/igniteui-angular/src/lib/tabs/tab-item.directive.ts
@@ -46,7 +46,7 @@ export abstract class IgxTabItemDirective implements IgxTabItemBase, IgxSlideCom
@Input()
public get selected(): boolean {
return this._selected;
- };
+ }
public set selected(value: boolean) {
if (this._selected !== value) {
diff --git a/projects/igniteui-angular/src/lib/tabs/tabs/public_api.ts b/projects/igniteui-angular/src/lib/tabs/tabs/public_api.ts
index 451005b04e3..96c54c7085f 100644
--- a/projects/igniteui-angular/src/lib/tabs/tabs/public_api.ts
+++ b/projects/igniteui-angular/src/lib/tabs/tabs/public_api.ts
@@ -1,6 +1,29 @@
+import { IgxPrefixDirective } from '../../directives/prefix/prefix.directive';
+import { IgxSuffixDirective } from '../../directives/suffix/suffix.directive';
+import { IgxTabContentComponent } from './tab-content.component';
+import { IgxTabHeaderComponent } from './tab-header.component';
+import { IgxTabItemComponent } from './tab-item.component';
+import { IgxTabsComponent } from './tabs.component';
+import { IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective } from './tabs.directives';
+
export * from './tabs.component';
export * from './tab-item.component';
export * from './tab-header.component';
export * from './tabs.directives';
export * from './tab-content.component';
-export * from './tabs.module';
+export {
+ ITabsSelectedIndexChangingEventArgs,
+ ITabsSelectedItemChangeEventArgs
+} from '../tabs.directive'
+
+/* NOTE: Tabs directives collection for ease-of-use import in standalone components scenario */
+export const IGX_TABS_DIRECTIVES = [
+ IgxTabsComponent,
+ IgxTabItemComponent,
+ IgxTabHeaderComponent,
+ IgxTabContentComponent,
+ IgxTabHeaderLabelDirective,
+ IgxTabHeaderIconDirective,
+ IgxPrefixDirective,
+ IgxSuffixDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/tabs/tabs/tab-content.component.ts b/projects/igniteui-angular/src/lib/tabs/tabs/tab-content.component.ts
index 8a80e259cac..e3494c599a6 100644
--- a/projects/igniteui-angular/src/lib/tabs/tabs/tab-content.component.ts
+++ b/projects/igniteui-angular/src/lib/tabs/tabs/tab-content.component.ts
@@ -1,11 +1,14 @@
import { Component, HostBinding } from '@angular/core';
import { IgxTabContentDirective } from '../tab-content.directive';
import { IgxTabContentBase } from '../tabs.base';
+import { NgIf } from '@angular/common';
@Component({
selector: 'igx-tab-content',
templateUrl: 'tab-content.component.html',
- providers: [{ provide: IgxTabContentBase, useExisting: IgxTabContentComponent }]
+ providers: [{ provide: IgxTabContentBase, useExisting: IgxTabContentComponent }],
+ standalone: true,
+ imports: [NgIf]
})
export class IgxTabContentComponent extends IgxTabContentDirective {
/** @hidden */
diff --git a/projects/igniteui-angular/src/lib/tabs/tabs/tab-header.component.ts b/projects/igniteui-angular/src/lib/tabs/tabs/tab-header.component.ts
index d720a76f2e6..77692aee39b 100644
--- a/projects/igniteui-angular/src/lib/tabs/tabs/tab-header.component.ts
+++ b/projects/igniteui-angular/src/lib/tabs/tabs/tab-header.component.ts
@@ -10,7 +10,8 @@ import { IgxDirectionality } from '../../services/direction/directionality';
@Component({
selector: 'igx-tab-header',
templateUrl: 'tab-header.component.html',
- providers: [{ provide: IgxTabHeaderBase, useExisting: IgxTabHeaderComponent }]
+ providers: [{ provide: IgxTabHeaderBase, useExisting: IgxTabHeaderComponent }],
+ standalone: true
})
export class IgxTabHeaderComponent extends IgxTabHeaderDirective implements AfterViewInit, OnDestroy {
diff --git a/projects/igniteui-angular/src/lib/tabs/tabs/tab-item.component.ts b/projects/igniteui-angular/src/lib/tabs/tabs/tab-item.component.ts
index bdbeb63e24a..ce23b6cba4d 100644
--- a/projects/igniteui-angular/src/lib/tabs/tabs/tab-item.component.ts
+++ b/projects/igniteui-angular/src/lib/tabs/tabs/tab-item.component.ts
@@ -4,7 +4,8 @@ import { IgxTabItemDirective } from '../tab-item.directive';
@Component({
selector: 'igx-tab-item',
templateUrl: 'tab-item.component.html',
- providers: [{ provide: IgxTabItemDirective, useExisting: IgxTabItemComponent }]
+ providers: [{ provide: IgxTabItemDirective, useExisting: IgxTabItemComponent }],
+ standalone: true
})
export class IgxTabItemComponent extends IgxTabItemDirective {
diff --git a/projects/igniteui-angular/src/lib/tabs/tabs/tabs.component.spec.ts b/projects/igniteui-angular/src/lib/tabs/tabs/tabs.component.spec.ts
index 4ead9a5cc2d..97dbc69f6ea 100644
--- a/projects/igniteui-angular/src/lib/tabs/tabs/tabs.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/tabs/tabs/tabs.component.spec.ts
@@ -3,7 +3,7 @@ import { TestBed, fakeAsync, tick, waitForAsync } from '@angular/core/testing';
import { IgxTabItemComponent } from './tab-item.component';
import { IgxTabsAlignment, IgxTabsComponent } from './tabs.component';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { By } from '@angular/platform-browser';
import { RouterTestingModule } from '@angular/router/testing';
import { Router } from '@angular/router';
@@ -15,25 +15,11 @@ import {
TabsTestHtmlAttributesComponent, TabsTestSelectedTabComponent, TabsWithPrefixSuffixTestComponent,
TemplatedTabsTestComponent
} from '../../test-utils/tabs-components.spec';
-import { IgxTabsModule } from './tabs.module';
import { configureTestSuite } from '../../test-utils/configure-suite';
import { UIInteractions, wait } from '../../test-utils/ui-interactions.spec';
import { IgxTabContentComponent } from './tab-content.component';
import { RoutingTestGuard } from '../../test-utils/routing-test-guard.spec';
-import {
- RoutingView1Component,
- RoutingView2Component,
- RoutingView3Component,
- RoutingView4Component,
- RoutingView5Component,
- RoutingViewComponentsModule
-} from '../../test-utils/routing-view-components.spec';
-import { IgxButtonModule } from '../../directives/button/button.directive';
-import { IgxDropDownModule } from '../../drop-down/public_api';
-import { IgxToggleModule } from '../../directives/toggle/toggle.directive';
-import { IgxIconModule } from '../../icon/public_api';
-import { IgxPrefixModule, IgxSuffixModule } from 'igniteui-angular';
-import { PlatformUtil } from '../../core/utils';
+import { RoutingView1Component, RoutingView2Component, RoutingView3Component, RoutingView4Component, RoutingView5Component } from '../../test-utils/routing-view-components.spec';
const KEY_RIGHT_EVENT = new KeyboardEvent('keydown', { key: 'ArrowRight', bubbles: true });
const KEY_LEFT_EVENT = new KeyboardEvent('keydown', { key: 'ArrowLeft', bubbles: true });
@@ -59,13 +45,29 @@ describe('IgxTabs', () => {
];
TestBed.configureTestingModule({
- declarations: [TabsTestHtmlAttributesComponent, TabsTestComponent, TabsTest2Component, TemplatedTabsTestComponent,
- TabsRoutingDisabledTestComponent, TabsTestSelectedTabComponent, TabsTestCustomStylesComponent, TabsTestBug4420Component,
- TabsRoutingTestComponent, TabsTabsOnlyModeTest1Component, TabsTabsOnlyModeTest2Component, TabsDisabledTestComponent,
- TabsRoutingGuardTestComponent, TabsWithPrefixSuffixTestComponent, TabsContactsComponent, AddingSelectedTabComponent, TabsRtlComponent],
- imports: [IgxTabsModule, BrowserAnimationsModule, IgxButtonModule, IgxIconModule, IgxDropDownModule, IgxToggleModule,
- RoutingViewComponentsModule, IgxPrefixModule, IgxSuffixModule, RouterTestingModule.withRoutes(testRoutes)],
- providers: [RoutingTestGuard, PlatformUtil]
+ declarations: [],
+ imports: [
+ NoopAnimationsModule,
+ RouterTestingModule.withRoutes(testRoutes),
+ TabsTestHtmlAttributesComponent,
+ TabsTestComponent,
+ TabsTest2Component,
+ TemplatedTabsTestComponent,
+ TabsRoutingDisabledTestComponent,
+ TabsTestSelectedTabComponent,
+ TabsTestCustomStylesComponent,
+ TabsTestBug4420Component,
+ TabsRoutingTestComponent,
+ TabsTabsOnlyModeTest1Component,
+ TabsTabsOnlyModeTest2Component,
+ TabsDisabledTestComponent,
+ TabsRoutingGuardTestComponent,
+ TabsWithPrefixSuffixTestComponent,
+ TabsContactsComponent,
+ AddingSelectedTabComponent,
+ TabsRtlComponent
+ ],
+ providers: [RoutingTestGuard]
}).compileComponents();
}));
diff --git a/projects/igniteui-angular/src/lib/tabs/tabs/tabs.component.ts b/projects/igniteui-angular/src/lib/tabs/tabs/tabs.component.ts
index 4617c7949e5..4fa54edebfe 100644
--- a/projects/igniteui-angular/src/lib/tabs/tabs/tabs.component.ts
+++ b/projects/igniteui-angular/src/lib/tabs/tabs/tabs.component.ts
@@ -5,6 +5,9 @@ import { AnimationService } from '../../services/animation/animation';
import { IgxDirectionality } from '../../services/direction/directionality';
import { IgxTabsBase } from '../tabs.base';
import { IgxTabsDirective } from '../tabs.directive';
+import { NgClass, NgFor, NgTemplateOutlet, NgIf } from '@angular/common';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { IgxRippleDirective } from '../../directives/ripple/ripple.directive';
export const IgxTabsAlignment = mkenum({
start: 'start',
@@ -58,7 +61,9 @@ let NEXT_TAB_ID = 0;
@Component({
selector: 'igx-tabs',
templateUrl: 'tabs.component.html',
- providers: [{ provide: IgxTabsBase, useExisting: IgxTabsComponent }]
+ providers: [{ provide: IgxTabsBase, useExisting: IgxTabsComponent }],
+ standalone: true,
+ imports: [IgxRippleDirective, IgxIconComponent, NgClass, NgFor, NgTemplateOutlet, NgIf]
})
export class IgxTabsComponent extends IgxTabsDirective implements AfterViewInit, OnDestroy {
@@ -69,7 +74,7 @@ export class IgxTabsComponent extends IgxTabsDirective implements AfterViewInit,
@Input()
public get tabAlignment(): string | IgxTabsAlignment {
return this._tabAlignment;
- };
+ }
public set tabAlignment(value: string | IgxTabsAlignment) {
this._tabAlignment = value;
diff --git a/projects/igniteui-angular/src/lib/tabs/tabs/tabs.directives.ts b/projects/igniteui-angular/src/lib/tabs/tabs/tabs.directives.ts
index 4d361fefdc1..3f387f56b4f 100644
--- a/projects/igniteui-angular/src/lib/tabs/tabs/tabs.directives.ts
+++ b/projects/igniteui-angular/src/lib/tabs/tabs/tabs.directives.ts
@@ -1,11 +1,13 @@
import { Directive } from '@angular/core';
@Directive({
- selector: 'igx-tab-header-label,[igxTabHeaderLabel]'
+ selector: 'igx-tab-header-label,[igxTabHeaderLabel]',
+ standalone: true
})
export class IgxTabHeaderLabelDirective { }
@Directive({
- selector: 'igx-tab-header-icon,[igxTabHeaderIcon]'
+ selector: 'igx-tab-header-icon,[igxTabHeaderIcon]',
+ standalone: true
})
export class IgxTabHeaderIconDirective { }
diff --git a/projects/igniteui-angular/src/lib/tabs/tabs/tabs.module.ts b/projects/igniteui-angular/src/lib/tabs/tabs/tabs.module.ts
index adce4e86ac2..78250567079 100644
--- a/projects/igniteui-angular/src/lib/tabs/tabs/tabs.module.ts
+++ b/projects/igniteui-angular/src/lib/tabs/tabs/tabs.module.ts
@@ -1,36 +1,16 @@
-import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
-import { IgxRippleModule } from '../../directives/ripple/ripple.directive';
-import { IgxIconModule } from '../../icon/public_api';
-import { IgxTabHeaderComponent } from './tab-header.component';
-import { IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective } from './tabs.directives';
-import { IgxTabItemComponent } from './tab-item.component';
-import { IgxTabContentComponent } from './tab-content.component';
-import { IgxTabsComponent } from './tabs.component';
-import { IgxPrefixModule } from '../../directives/prefix/prefix.directive';
-import { IgxSuffixModule } from '../../directives/suffix/suffix.directive';
+import { IGX_TABS_DIRECTIVES } from './public_api';
-/** @hidden */
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
@NgModule({
- declarations: [
- IgxTabsComponent,
- IgxTabItemComponent,
- IgxTabHeaderComponent,
- IgxTabContentComponent,
- IgxTabHeaderLabelDirective,
- IgxTabHeaderIconDirective
+ imports: [
+ ...IGX_TABS_DIRECTIVES
],
- exports: [
- IgxTabsComponent,
- IgxTabItemComponent,
- IgxTabHeaderComponent,
- IgxTabContentComponent,
- IgxTabHeaderLabelDirective,
- IgxTabHeaderIconDirective,
- IgxPrefixModule,
- IgxSuffixModule
- ],
- imports: [CommonModule, IgxIconModule, IgxRippleModule, IgxPrefixModule, IgxSuffixModule]
+ exports: [
+ ...IGX_TABS_DIRECTIVES
+ ]
})
-export class IgxTabsModule {
-}
+export class IgxTabsModule { }
diff --git a/projects/igniteui-angular/src/lib/test-utils/bottom-nav-components.spec.ts b/projects/igniteui-angular/src/lib/test-utils/bottom-nav-components.spec.ts
index a21fe1aa7c6..6c24c9d5dbf 100644
--- a/projects/igniteui-angular/src/lib/test-utils/bottom-nav-components.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/bottom-nav-components.spec.ts
@@ -1,5 +1,8 @@
import { Component, ViewChild } from '@angular/core';
-import { IgxBottomNavComponent } from '../tabs/bottom-nav/public_api';
+import { RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxBottomNavComponent, IgxBottomNavContentComponent, IgxBottomNavHeaderComponent, IgxBottomNavItemComponent } from '../tabs/bottom-nav/public_api';
+import { IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective } from '../tabs/tabs/tabs.directives';
@Component({
template: `
@@ -48,7 +51,9 @@ import { IgxBottomNavComponent } from '../tabs/bottom-nav/public_api';
-
`
+ `,
+ standalone: true,
+ imports: [IgxBottomNavComponent, IgxBottomNavItemComponent, IgxBottomNavHeaderComponent, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, IgxBottomNavContentComponent]
})
export class TabBarTestComponent {
@ViewChild(IgxBottomNavComponent, { static: true }) public bottomNav: IgxBottomNavComponent;
@@ -102,44 +107,15 @@ export class TabBarTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxBottomNavComponent, IgxBottomNavItemComponent, IgxBottomNavHeaderComponent, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, IgxBottomNavContentComponent]
})
export class BottomTabBarTestComponent {
@ViewChild(IgxBottomNavComponent, { static: true }) public bottomNav: IgxBottomNavComponent;
@ViewChild('wrapperDiv', { static: true }) public wrapperDiv: any;
}
-// @Component({
-// template: `
-//
-
-//
-//
-//
-// T1
-//
-// Tab 1 Content
-//
-//
-//
-// T2
-//
-// Tab 2 Content
-//
-//
-//
-// T3
-//
-// Tab 3 Content
-//
-//
-//
`
-// })
-// export class TemplatedTabBarTestComponent {
-// @ViewChild(IgxBottomNavComponent, { static: true }) public bottomNav: IgxBottomNavComponent;
-// @ViewChild('wrapperDiv', { static: true }) public wrapperDiv: any;
-// }
-
@Component({
template: `
@@ -167,7 +143,19 @@ export class BottomTabBarTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxBottomNavComponent,
+ IgxBottomNavItemComponent,
+ IgxBottomNavHeaderComponent,
+ IgxTabHeaderIconDirective,
+ IgxTabHeaderLabelDirective,
+ IgxIconComponent,
+ RouterLinkActive,
+ RouterLink,
+ RouterOutlet
+ ]
})
export class TabBarRoutingTestComponent {
@ViewChild(IgxBottomNavComponent, { static: true })
@@ -201,7 +189,9 @@ export class TabBarRoutingTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxBottomNavComponent, IgxBottomNavItemComponent, IgxBottomNavHeaderComponent, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, IgxBottomNavContentComponent]
})
export class TabBarTabsOnlyModeTestComponent {
@ViewChild(IgxBottomNavComponent, { static: true })
@@ -229,7 +219,9 @@ export class TabBarTabsOnlyModeTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxBottomNavComponent, IgxBottomNavItemComponent, IgxBottomNavHeaderComponent, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, RouterLink, RouterLinkActive, RouterOutlet]
})
export class BottomNavRoutingGuardTestComponent {
@ViewChild(IgxBottomNavComponent, { static: true })
@@ -296,7 +288,9 @@ export class BottomNavRoutingGuardTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxBottomNavComponent, IgxBottomNavItemComponent, IgxBottomNavHeaderComponent, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, IgxBottomNavContentComponent]
})
export class BottomNavTestHtmlAttributesComponent {
@ViewChild(IgxBottomNavComponent, { static: true }) public bottomNav: IgxBottomNavComponent;
diff --git a/projects/igniteui-angular/src/lib/calendar/calendar-helper-utils.ts b/projects/igniteui-angular/src/lib/test-utils/calendar-helper-utils.ts
similarity index 100%
rename from projects/igniteui-angular/src/lib/calendar/calendar-helper-utils.ts
rename to projects/igniteui-angular/src/lib/test-utils/calendar-helper-utils.ts
diff --git a/projects/igniteui-angular/src/lib/test-utils/controls-functions.spec.ts b/projects/igniteui-angular/src/lib/test-utils/controls-functions.spec.ts
index 96cf5dc63d5..1a85e4c1970 100644
--- a/projects/igniteui-angular/src/lib/test-utils/controls-functions.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/controls-functions.spec.ts
@@ -36,15 +36,15 @@ export class ControlsFunction {
fix.detectChanges();
}
- public static verifyButtonIsSelected(element: HTMLElement, selected: boolean = true) {
+ public static verifyButtonIsSelected(element: HTMLElement, selected = true) {
expect(element.classList.contains(BUTTON_SELECTED_CLASS)).toEqual(selected);
}
- public static verifyButtonIsDisabled(element: HTMLElement, disabled: boolean = true) {
+ public static verifyButtonIsDisabled(element: HTMLElement, disabled = true) {
expect(element.classList.contains(BUTTON_DISABLED_CLASS)).toEqual(disabled);
}
- public static verifyCheckboxState(element: HTMLElement, checked: boolean = true, indeterminate = false) {
+ public static verifyCheckboxState(element: HTMLElement, checked = true, indeterminate = false) {
expect(element.classList.contains(CHECKBOX_CHECKED_CLASS)).toEqual(checked);
expect(element.classList.contains(CHECKBOX_IND_CLASS)).toEqual(indeterminate);
}
diff --git a/projects/igniteui-angular/src/lib/test-utils/grid-base-components.spec.ts b/projects/igniteui-angular/src/lib/test-utils/grid-base-components.spec.ts
index f0ee2103fca..69aac85ad7d 100644
--- a/projects/igniteui-angular/src/lib/test-utils/grid-base-components.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/grid-base-components.spec.ts
@@ -4,6 +4,17 @@ import { ColumnDefinitions, GridTemplateStrings } from './template-strings.spec'
import { IgxGridComponent } from '../grids/grid/grid.component';
import { IgxColumnActionsComponent } from '../grids/column-actions/column-actions.component';
import { GridPagingMode } from '../grids/common/enums';
+import { IgxColumnComponent } from '../grids/columns/column.component';
+import { IgxGridToolbarComponent } from '../grids/toolbar/grid-toolbar.component';
+import { IgxGridToolbarHidingComponent } from '../grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarActionsComponent } from '../grids/toolbar/common';
+import { IgxPaginatorComponent } from '../paginator/paginator.component';
+import { IgxColumnGroupComponent } from '../grids/columns/column-group.component';
+import { IgxGridToolbarPinningComponent } from '../grids/toolbar/grid-toolbar-pinning.component';
+import { NgFor, NgIf } from '@angular/common';
+import { IgxCellTemplateDirective } from '../grids/columns/templates.directive';
+import { IgxColumnHidingDirective } from '../grids/column-actions/column-hiding.directive';
+import { IgxColumnPinningDirective } from '../grids/column-actions/column-pinning.directive';
@Component({
template: `
@@ -11,7 +22,9 @@ import { GridPagingMode } from '../grids/common/enums';
[data]="data"
[autoGenerate]="true">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class BasicGridComponent {
@ViewChild(IgxGridComponent, { static: true })
@@ -26,7 +39,9 @@ export class BasicGridComponent {
[data]="data"
[autoGenerate]="autoGenerate">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class GridAutoGenerateComponent extends BasicGridComponent {
public autoGenerate = true;
@@ -39,7 +54,9 @@ export class GridAutoGenerateComponent extends BasicGridComponent {
[autoGenerate]="autoGenerate"
[height]="height" [width]="width">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class GridWithSizeComponent extends GridAutoGenerateComponent {
public width = '100%';
@@ -51,7 +68,9 @@ export class GridWithSizeComponent extends GridAutoGenerateComponent {
}
@Component({
- template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.generatedEditable)
+ template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.generatedEditable),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class GridNxMComponent extends GridWithSizeComponent implements OnInit {
public colsCount: number;
@@ -78,7 +97,9 @@ export class GridNxMComponent extends GridWithSizeComponent implements OnInit {
@Component({
template: GridTemplateStrings.declareGrid('', '', ColumnDefinitions.idNameJobHireDate, '',
- ' ')
+ ' '),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class BasicGridSearchComponent extends GridWithSizeComponent {
public highlightClass = 'igx-highlight';
@@ -88,7 +109,9 @@ export class BasicGridSearchComponent extends GridWithSizeComponent {
@Component({
template: GridTemplateStrings.declareGrid(``,
- '', ColumnDefinitions.idNameJobTitle, '', ' ')
+ '', ColumnDefinitions.idNameJobTitle, '', ' '),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class PagingComponent extends GridWithSizeComponent {
public paging = true;
@@ -99,7 +122,9 @@ export class PagingComponent extends GridWithSizeComponent {
@Component({
template: GridTemplateStrings.declareGrid('[pagingMode]="pagingMode"',
'', ColumnDefinitions.idNameJobTitle, '',
- ' ')
+ ' '),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent]
})
export class RemotePagingComponent extends GridWithSizeComponent {
public pagingMode = GridPagingMode.Remote;
@@ -110,7 +135,9 @@ export class RemotePagingComponent extends GridWithSizeComponent {
@Component({
template: GridTemplateStrings.declareGrid(` rowSelection = "multiple"`,
- '', ColumnDefinitions.productBasicNumberID)
+ '', ColumnDefinitions.productBasicNumberID),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class SelectionComponent extends BasicGridComponent {
public override data = SampleTestData.generateBigValuesData(100);
@@ -118,7 +145,9 @@ export class SelectionComponent extends BasicGridComponent {
@Component({
template: GridTemplateStrings.declareGrid(` [autoGenerate]="true" [exportExcel]="exportExcel" [exportCsv]="exportCsv"`,
- '', '')
+ '', ''),
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class GridWithToolbarComponent extends GridWithSizeComponent {
public showToolbar = true;
@@ -132,7 +161,9 @@ export class GridWithToolbarComponent extends GridWithSizeComponent {
@Component({
template: GridTemplateStrings.declareGrid(` [autoGenerate]="true" [rowClasses]="rowClasses"`,
- '', '')
+ '', ''),
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class GridRowConditionalStylingComponent extends GridWithSizeComponent {
@@ -152,7 +183,19 @@ export class GridRowConditionalStylingComponent extends GridWithSizeComponent {
${ GridTemplateStrings.declareGrid('#grid [height]="height" [width]="width"', '', ColumnDefinitions.productHidable,
'' + ' ' +
' ', ' ') }
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxGridComponent,
+ IgxColumnComponent,
+ IgxColumnActionsComponent,
+ IgxGridToolbarComponent,
+ IgxGridToolbarHidingComponent,
+ IgxGridToolbarActionsComponent,
+ IgxPaginatorComponent,
+ IgxColumnHidingDirective,
+ NgIf
+ ]
})
export class ColumnHidingTestComponent extends GridWithSizeComponent implements OnInit, AfterViewInit {
@ViewChild(IgxColumnActionsComponent)
@@ -184,7 +227,9 @@ export class ColumnHidingTestComponent extends GridWithSizeComponent implements
template: `
${ GridTemplateStrings.declareGrid(' #grid [height]="height" [width]="width" [moving]="true"', '', ColumnDefinitions.contactInfoGroupableColumns) }
-
`
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnActionsComponent, IgxColumnGroupComponent, IgxColumnHidingDirective, NgIf]
})
export class ColumnGroupsHidingTestComponent extends ColumnHidingTestComponent {
@ViewChild(IgxGridComponent, { static: true }) public override grid: IgxGridComponent;
@@ -203,7 +248,9 @@ export class ColumnGroupsHidingTestComponent extends ColumnHidingTestComponent {
'' +
' ' +
' ')}
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnActionsComponent, IgxColumnPinningDirective, IgxGridToolbarComponent, IgxGridToolbarPinningComponent, IgxGridToolbarActionsComponent, NgIf]
})
export class ColumnPinningTestComponent extends GridWithSizeComponent implements AfterViewInit, OnInit {
@ViewChild(IgxColumnActionsComponent) public chooser: IgxColumnActionsComponent;
@@ -242,7 +289,9 @@ export class ColumnPinningTestComponent extends GridWithSizeComponent implements
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective]
})
export class ColumnPinningWithTemplateTestComponent extends ColumnPinningTestComponent {
}
@@ -252,7 +301,9 @@ export class ColumnPinningWithTemplateTestComponent extends ColumnPinningTestCom
${ GridTemplateStrings.declareGrid(' #grid [height]="height" [moving]="true"', '', ColumnDefinitions.contactInfoGroupableColumns,
' ')}
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent, IgxGridToolbarComponent, IgxColumnActionsComponent, IgxColumnPinningDirective, NgIf]
})
export class ColumnGroupsPinningTestComponent extends ColumnPinningTestComponent {
public override data = SampleTestData.contactInfoDataFull();
diff --git a/projects/igniteui-angular/src/lib/test-utils/grid-functions.spec.ts b/projects/igniteui-angular/src/lib/test-utils/grid-functions.spec.ts
index 5304215adc4..952a5634587 100644
--- a/projects/igniteui-angular/src/lib/test-utils/grid-functions.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/grid-functions.spec.ts
@@ -824,7 +824,7 @@ export class GridFunctions {
* Click the pin/unpin icon in the ESF by specifying whether the icon is in the header
* or at its default position (depending on the display density).
*/
- public static clickPinIconInExcelStyleFiltering(fix: ComponentFixture, isIconInHeader: boolean = true) {
+ public static clickPinIconInExcelStyleFiltering(fix: ComponentFixture, isIconInHeader = true) {
let pinUnpinIcon: any;
if (isIconInHeader) {
const headerIcons = GridFunctions.getExcelFilteringHeaderIcons(fix);
@@ -843,7 +843,7 @@ export class GridFunctions {
* Click the hide icon in the ESF by specifying whether the icon is in the header
* or at its default position (depending on the display density).
*/
- public static clickHideIconInExcelStyleFiltering(fix: ComponentFixture, isIconInHeader: boolean = true) {
+ public static clickHideIconInExcelStyleFiltering(fix: ComponentFixture, isIconInHeader = true) {
let hideIcon: any;
if (isIconInHeader) {
const headerIcons = GridFunctions.getExcelFilteringHeaderIcons(fix);
@@ -899,13 +899,13 @@ export class GridFunctions {
moveRightIcon.click();
}
- public static getExcelFilteringInput(fix: ComponentFixture, expressionIndex: number = 0): HTMLInputElement {
+ public static getExcelFilteringInput(fix: ComponentFixture, expressionIndex = 0): HTMLInputElement {
const expr = GridFunctions.getExcelCustomFilteringDefaultExpressions(fix)[expressionIndex];
return expr.querySelectorAll('.igx-input-group__input').item(1) as HTMLInputElement;
}
public static getExcelFilteringDDInput(fix: ComponentFixture,
- expressionIndex: number = 0, isDate: boolean = false): HTMLInputElement {
+ expressionIndex = 0, isDate = false): HTMLInputElement {
const allExpressions = isDate ? GridFunctions.getExcelCustomFilteringDateExpressions(fix) :
GridFunctions.getExcelCustomFilteringDefaultExpressions(fix);
return allExpressions[expressionIndex].querySelectorAll('.igx-input-group__input').item(0) as HTMLInputElement;
@@ -1319,7 +1319,7 @@ export class GridFunctions {
/**
* (Double)Click the underlying chip of the expression that is located on the provided 'path'.
*/
- public static clickAdvancedFilteringTreeExpressionChip(fix: ComponentFixture, path: number[], dblClick: boolean = false) {
+ public static clickAdvancedFilteringTreeExpressionChip(fix: ComponentFixture, path: number[], dblClick = false) {
const chip = GridFunctions.getAdvancedFilteringTreeExpressionChip(fix, path);
if (dblClick) {
chip.dispatchEvent(new MouseEvent('dblclick'));
@@ -1382,7 +1382,7 @@ export class GridFunctions {
* Click the value input for the expression that is currently in edit mode.
* (NOTE: The value input could be either an input group or a date picker.)
*/
- public static clickAdvancedFilteringValueInput(fix: ComponentFixture, dateType: boolean = false) {
+ public static clickAdvancedFilteringValueInput(fix: ComponentFixture, dateType = false) {
// Could be either an input group or a date picker.
const valueInput = GridFunctions.getAdvancedFilteringValueInput(fix, dateType);
valueInput.click();
@@ -1488,7 +1488,7 @@ export class GridFunctions {
* Get all child groups of the given 'group' by specifying whether to include its direct child groups only
* or all of its child groups in the hierarchy. (NOTE: Expressions do not have children!)
*/
- public static getAdvancedFilteringTreeChildGroups(group: HTMLElement, directChildrenOnly: boolean = true) {
+ public static getAdvancedFilteringTreeChildGroups(group: HTMLElement, directChildrenOnly = true) {
const pattern = directChildrenOnly ? ':scope > .igx-filter-tree' : '.igx-filter-tree';
const childrenContainer = group.querySelector('.igx-filter-tree__expression');
const childGroups = GridFunctions.sortNativeElementsVertically(Array.from(childrenContainer.querySelectorAll(pattern)));
@@ -1499,7 +1499,7 @@ export class GridFunctions {
* Get all child expressions of the given 'group' by specifying whether to include its direct child expressions only
* or all of its child expressions in the hierarchy.
*/
- public static getAdvancedFilteringTreeChildExpressions(group: HTMLElement, directChildrenOnly: boolean = true) {
+ public static getAdvancedFilteringTreeChildExpressions(group: HTMLElement, directChildrenOnly = true) {
const pattern = directChildrenOnly ? ':scope > .igx-filter-tree__expression-item' : '.igx-filter-tree__expression-item';
const childrenContainer = group.querySelector('.igx-filter-tree__expression');
const childExpressions = GridFunctions.sortNativeElementsVertically(Array.from(childrenContainer.querySelectorAll(pattern)));
@@ -1510,7 +1510,7 @@ export class GridFunctions {
* Get all child groups and expressions of the given 'group' by specifying whether to include its
* direct child groups and expressions only or all of its child groups and expressions in the hierarchy.
*/
- public static getAdvancedFilteringTreeChildItems(group: HTMLElement, directChildrenOnly: boolean = true) {
+ public static getAdvancedFilteringTreeChildItems(group: HTMLElement, directChildrenOnly = true) {
const childGroups = Array.from(GridFunctions.getAdvancedFilteringTreeChildGroups(group, directChildrenOnly));
const childExpressions = Array.from(GridFunctions.getAdvancedFilteringTreeChildExpressions(group, directChildrenOnly));
return GridFunctions.sortNativeElementsVertically(childGroups.concat(childExpressions));
@@ -1707,7 +1707,7 @@ export class GridFunctions {
return columnSelect;
}
- public static getAdvancedFilteringValueInput(fix: ComponentFixture, dateType: boolean = false) {
+ public static getAdvancedFilteringValueInput(fix: ComponentFixture, dateType = false) {
const editModeContainer = GridFunctions.getAdvancedFilteringEditModeContainer(fix);
const input = dateType ?
editModeContainer.querySelector('igx-date-picker').querySelector('input') :
@@ -2183,7 +2183,7 @@ export class GridSummaryFunctions {
});
}
- public static verifySummaryCellActive(fix, row, cellIndex, active: boolean = true) {
+ public static verifySummaryCellActive(fix, row, cellIndex, active = true) {
const summaryRow = typeof row === 'number' ?
GridSummaryFunctions.getSummaryRowByDataRowIndex(fix, row) : row;
const summ = GridSummaryFunctions.getSummaryCellByVisibleIndex(summaryRow, cellIndex);
diff --git a/projects/igniteui-angular/src/lib/test-utils/grid-mch-sample.spec.ts b/projects/igniteui-angular/src/lib/test-utils/grid-mch-sample.spec.ts
index 07d8456477b..4d6a5689a4c 100644
--- a/projects/igniteui-angular/src/lib/test-utils/grid-mch-sample.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/grid-mch-sample.spec.ts
@@ -3,6 +3,8 @@ import { SampleTestData } from './sample-test-data.spec';
import { IgxColumnComponent } from '../grids/columns/column.component';
import { IgxGridComponent } from '../grids/grid/public_api';
import { IgxColumnGroupComponent } from '../grids/columns/column-group.component';
+import { NgFor, NgIf } from '@angular/common';
+import { IgxCellHeaderTemplateDirective } from '../grids/columns/templates.directive';
@Component({
template: `
@@ -13,7 +15,9 @@ import { IgxColumnGroupComponent } from '../grids/columns/column-group.component
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent]
})
export class OneGroupOneColGridComponent {
@ViewChild('grid', { static: true })
@@ -35,7 +39,9 @@ export class OneGroupOneColGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent]
})
export class OneGroupThreeColsGridComponent {
@ViewChild('grid', { static: true }) public grid: IgxGridComponent;
@@ -72,7 +78,9 @@ export class OneGroupThreeColsGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent]
})
export class ColumnGroupTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -115,7 +123,9 @@ export class ColumnGroupTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent]
})
export class ColumnGroupFourLevelTestComponent implements OnInit {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -176,38 +186,6 @@ export class ColumnGroupFourLevelTestComponent implements OnInit {
}
}
-
-@Component({
- template: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class ColumnGroupTwoGroupsTestComponent {
- @ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
- public grid: IgxGridComponent;
-
- public data = SampleTestData.contactInfoDataFull();
-}
-
@Component({
template: `
@@ -227,7 +205,9 @@ export class ColumnGroupTwoGroupsTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent]
})
export class ThreeGroupsThreeColumnsGridComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -278,7 +258,9 @@ export class ThreeGroupsThreeColumnsGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent]
})
export class NestedColGroupsGridComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -312,7 +294,9 @@ export class NestedColGroupsGridComponent {
[filterable]="true">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent, NgFor]
})
export class DynamicColGroupsGridComponent {
@@ -380,7 +364,9 @@ export class DynamicColGroupsGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent]
})
export class StegosaurusGridComponent implements OnInit {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -496,7 +482,9 @@ export class StegosaurusGridComponent implements OnInit {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent, NgIf, NgFor]
})
export class BlueWhaleGridComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -537,7 +525,9 @@ export class BlueWhaleGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent]
})
export class OneColPerGroupGridComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -576,7 +566,9 @@ export class OneColPerGroupGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent]
})
export class NestedColumnGroupsGridComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -606,7 +598,9 @@ export class NestedColumnGroupsGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent, NgFor]
})
export class DynamicGridComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -636,7 +630,9 @@ export class DynamicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnGroupComponent, IgxColumnComponent, IgxCellHeaderTemplateDirective]
})
export class NestedColGroupsWithTemplatesGridComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/test-utils/grid-samples.spec.ts b/projects/igniteui-angular/src/lib/test-utils/grid-samples.spec.ts
index 5ea291b6327..440622cb326 100644
--- a/projects/igniteui-angular/src/lib/test-utils/grid-samples.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/grid-samples.spec.ts
@@ -1,9 +1,11 @@
-import { Component, TemplateRef, ViewChild, Input, AfterViewInit, ChangeDetectorRef, QueryList, ViewChildren, OnInit } from '@angular/core';
+import { Component, TemplateRef, ViewChild, Input, AfterViewInit, QueryList, ViewChildren, OnInit } from '@angular/core';
+import { NgFor, NgIf } from '@angular/common';
+
import { IgxDateSummaryOperand, IgxNumberSummaryOperand, IgxSummaryResult } from '../grids/summaries/grid-summary';
-import { IGridCellEventArgs, IGridEditEventArgs } from '../grids/common/events';
+import { IGridCellEventArgs } from '../grids/common/events';
import {
BasicGridComponent, BasicGridSearchComponent, GridAutoGenerateComponent,
- GridNxMComponent, GridWithSizeComponent, PagingComponent
+ GridWithSizeComponent, PagingComponent
} from './grid-base-components.spec';
import { IGridSelection } from './grid-interfaces.spec';
import { SampleTestData, DataParent } from './sample-test-data.spec';
@@ -12,112 +14,38 @@ import { IgxColumnComponent } from '../grids/columns/column.component';
import { IgxFilteringOperand, IgxNumberFilteringOperand } from '../data-operations/filtering-condition';
import { IFilteringExpressionsTree, FilteringExpressionsTree } from '../data-operations/filtering-expressions-tree';
import { FilteringStrategy, IgxFilterItem } from '../data-operations/filtering-strategy';
-import { CellType, IgxGridComponent } from '../grids/grid/public_api';
-import { IgxRowEditTabStopDirective } from '../grids/grid.rowEdit.directive';
-import { IgxGridExcelStyleFilteringComponent } from '../grids/filtering/excel-style/grid.excel-style-filtering.component';
+import { IgxExcelStyleHeaderIconDirective, IgxGridComponent, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective, IgxSortHeaderIconDirective } from '../grids/grid/public_api';
+import { IgxRowAddTextDirective, IgxRowEditActionsDirective, IgxRowEditTabStopDirective, IgxRowEditTemplateDirective, IgxRowEditTextDirective } from '../grids/grid.rowEdit.directive';
+import { IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleFilterOperationsTemplateDirective, IgxGridExcelStyleFilteringComponent } from '../grids/filtering/excel-style/excel-style-filtering.component';
import { FilteringLogic } from '../data-operations/filtering-expression.interface';
import { ISortingStrategy, SortingDirection } from '../data-operations/sorting-strategy';
import { IgxActionStripComponent } from '../action-strip/action-strip.component';
-import { ExpressionUI } from '../grids/filtering/excel-style/common';
import { IDataCloneStrategy } from '../data-operations/data-clone-strategy';
-import { ColumnType } from '../grids/common/grid.interface';
-import { IgxPaginatorComponent } from '../paginator/public_api';
-
-@Component({
- template: `
- ${GridTemplateStrings.declareGrid('[autoGenerate]="autoGenerate"', '', ColumnDefinitions.indexAndValue)}
`
-})
-export class GridInDivComponent extends GridAutoGenerateComponent {
- public override data = SampleTestData.oneItemNumberData();
- public override autoGenerate = false;
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid(` width="500px"`, '', ColumnDefinitions.pinnedTwoOfFour)
-})
-export class PinningAndResizingComponent extends BasicGridComponent {
- public override data = SampleTestData.personIDNameRegionData();
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid(` width="600px" height="600px" [autoGenerate]="false"`, '',
- ColumnDefinitions.pinnedThreeOfEight)
-})
-export class LargePinnedColGridComponent extends BasicGridComponent {
- public override data = SampleTestData.generateProductData(75);
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid('',
- EventSubscriptions.columnResized,
- ColumnDefinitions.gridFeatures)
-})
-export class SortingAndResizingComponent extends BasicGridComponent {
-
- public count = 0;
- public column;
- public prevWidth;
- public newWidth;
-
- public override data = SampleTestData.productInfoData();
-
- public columnResized(event) {
- this.count++;
- this.column = event.column;
- this.prevWidth = event.prevWidth;
- this.newWidth = event.newWidth;
- }
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid(` [height]="'800px'"`, '',
- ColumnDefinitions.resizableColsComponent)
-})
-export class ResizableColumnsComponent extends BasicGridComponent {
-
- public columns = [
- { field: 'ID', resizable: true, maxWidth: 200, minWidth: 70 },
- { field: 'CompanyName', resizable: true },
- { field: 'ContactName', resizable: true },
- { field: 'ContactTitle', resizable: true },
- { field: 'Address', resizable: true },
- { field: 'City', resizable: true },
- { field: 'Region', resizable: true },
- { field: 'PostalCode', resizable: true },
- { field: 'Phone', resizable: true },
- { field: 'Fax', resizable: true }
- ];
-
- public override data = SampleTestData.contactInfoDataFull();
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid(` [height]="'800px'"`, '',
- ColumnDefinitions.iterableComponent)
-})
-export class ColumnsFromIterableComponent extends BasicGridComponent {
-
- public columns = ['ID', 'Name'];
- public override data = SampleTestData.personIDNameData();
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid('', '',
- ColumnDefinitions.columnTemplates)
-})
-export class TemplatedColumnsComponent extends BasicGridComponent {
- @ViewChild('newHeader', { read: TemplateRef, static: true })
- public newHeaderTemplate: TemplateRef;
-
- @ViewChild('newCell', { read: TemplateRef, static: true })
- public newCellTemplate: TemplateRef;
-
- public override data = SampleTestData.personIDNameData();
-}
+import { IgxColumnLayoutComponent } from '../grids/columns/column-layout.component';
+import { IgxPaginatorComponent } from '../paginator/paginator.component';
+import { IgxColumnGroupComponent } from '../grids/columns/column-group.component';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxExcelStyleMovingComponent } from '../grids/filtering/excel-style/excel-style-moving.component';
+import { IgxExcelStylePinningComponent } from '../grids/filtering/excel-style/excel-style-pinning.component';
+import { IgxExcelStyleSearchComponent } from '../grids/filtering/excel-style/excel-style-search.component';
+import { IgxExcelStyleSelectingComponent } from '../grids/filtering/excel-style/excel-style-selecting.component';
+import { IgxInputGroupComponent } from '../input-group/input-group.component';
+import { IgxInputDirective, IgxPrefixDirective, IgxSuffixDirective } from '../input-group/public_api';
+import { IgxGridToolbarComponent } from '../grids/toolbar/grid-toolbar.component';
+import { IgxCheckboxComponent } from '../checkbox/checkbox.component';
+import { IgxGridToolbarActionsComponent } from '../grids/toolbar/common';
+import { IgxGridToolbarHidingComponent } from '../grids/toolbar/grid-toolbar-hiding.component';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { IgxGridEditingActionsComponent } from '../action-strip/grid-actions/grid-editing-actions.component';
+import { IgxCellHeaderTemplateDirective, IgxCellTemplateDirective, IgxCollapsibleIndicatorTemplateDirective, IgxFilterCellTemplateDirective } from '../grids/columns/templates.directive';
+import { IgxGroupByRowSelectorDirective, IgxHeadSelectorDirective, IgxRowSelectorDirective } from '../grids/selection/row-selectors';
+import { CellType, ColumnType, IgxAdvancedFilteringDialogComponent } from '../grids/public_api';
@Component({
template: GridTemplateStrings.declareGrid('', '',
- ` `)
+ ` `),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class ColumnHiddenFromMarkupComponent extends BasicGridComponent {
public override data = SampleTestData.personIDNameData();
@@ -134,7 +62,9 @@ export class ColumnHiddenFromMarkupComponent extends BasicGridComponent {
[dataType]="c.type">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class GridAddColumnComponent extends BasicGridComponent implements OnInit {
public columns: Array;
@@ -151,7 +81,9 @@ export class GridAddColumnComponent extends BasicGridComponent implements OnInit
@Component({
template: GridTemplateStrings.declareGrid('', '',
- ColumnDefinitions.idNameFormatter)
+ ColumnDefinitions.idNameFormatter),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class ColumnCellFormatterComponent extends BasicGridComponent {
public override data = SampleTestData.personIDNameData();
@@ -171,25 +103,20 @@ export class ColumnCellFormatterComponent extends BasicGridComponent {
@Component({
template: GridTemplateStrings.declareGrid(` height="500px"`, '',
- ColumnDefinitions.productFilterable)
+ ColumnDefinitions.productFilterable),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class FilteringComponent extends BasicGridComponent {
public override data = SampleTestData.productInfoData();
}
-@Component({
- template: GridTemplateStrings.declareGrid(
- ` #gridSelection3 [primaryKey]="'ID'" [width]="'800px'" [height]="'600px'" [autoGenerate]="true" [rowSelection]="'multiple'"`,
- '', '')
-})
-export class SelectionComponent extends BasicGridComponent {
- public override data = SampleTestData.generateBigValuesData(20);
-}
-
@Component({
template: GridTemplateStrings.declareGrid(
` [width]="width" [height]="height" [rowSelection]="'multiple'" [primaryKey]="'ProductID'" [selectedRows]="selectedRows"`,
- '', ColumnDefinitions.productBasicNumberID, '', ' ')
+ '', ColumnDefinitions.productBasicNumberID, '', ' '),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class RowSelectionComponent extends BasicGridComponent {
public override data = SampleTestData.foodProductDataExtended();
@@ -202,7 +129,9 @@ export class RowSelectionComponent extends BasicGridComponent {
@Component({
template: GridTemplateStrings.declareGrid(
` [width]="width" [height]="height" [rowSelection]="'single'" [primaryKey]="'ProductID'"`,
- '', ColumnDefinitions.productBasicNumberID)
+ '', ColumnDefinitions.productBasicNumberID),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class SingleRowSelectionComponent extends BasicGridComponent {
public override data = SampleTestData.foodProductDataExtended();
@@ -214,43 +143,15 @@ export class SingleRowSelectionComponent extends BasicGridComponent {
template: GridTemplateStrings.declareGrid(
` [width]="width" [height]="height" [rowSelection]="'multiple'"`,
'',
- ColumnDefinitions.idFirstLastNameSortable)
+ ColumnDefinitions.idFirstLastNameSortable),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
-
export class RowSelectionWithoutPrimaryKeyComponent extends BasicGridComponent {
public override data = SampleTestData.personIDNameRegionData();
public width = '800px';
public height = '600px';
}
-@Component({
- template: GridTemplateStrings.declareGrid(
- ` rowSelection = "multiple"`,
- EventSubscriptions.rowSelectionChanging,
- ColumnDefinitions.productBasic)
-})
-export class SelectionCancellableComponent extends BasicGridComponent {
- public override data = SampleTestData.foodProductData();
-
- public rowSelectionChanging(evt) {
- if (evt.added.length > 0 && (evt.added[0].ProductID) % 2 === 0) {
- evt.newSelection = evt.oldSelection || [];
- }
- }
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid(
- ` #gridSelection3
- [primaryKey]="'ID'"
- [width]="'800px'"
- [height]="'600px'"
- [autoGenerate]="true"
- rowSelection = "multiple"`,
- '', '')
-})
-export class ScrollsComponent extends BasicGridComponent {
- public override data = SampleTestData.generateBigDataRowsAndCols(16, 16);
-}
@Component({
template: GridTemplateStrings.declareGrid(
@@ -258,21 +159,14 @@ export class ScrollsComponent extends BasicGridComponent {
[width]="'900px'"
[height]="'900px'"
[columnWidth]="'200px'"`,
- '', ColumnDefinitions.idNameJobTitleCompany)
+ '', ColumnDefinitions.idNameJobTitleCompany),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class NoScrollsComponent extends GridWithSizeComponent {
public override data = SampleTestData.personIDNameJobCompany();
}
-@Component({
- template: GridTemplateStrings.declareGrid(
- ` rowSelection = "multiple"`,
- '', ColumnDefinitions.productDefaultSummaries)
-})
-export class SummariesComponent extends BasicGridComponent {
- public override data = SampleTestData.foodProductData();
-}
-
class DealsSummaryMinMax extends IgxNumberSummaryOperand {
constructor() {
super();
@@ -290,7 +184,9 @@ class DealsSummaryMinMax extends IgxNumberSummaryOperand {
@Component({
template: GridTemplateStrings.declareGrid(
` [primaryKey]="'ProductID'" [height]="null" [allowFiltering]="true"`,
- '', ColumnDefinitions.productDefaultSummaries)
+ '', ColumnDefinitions.productDefaultSummaries),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class SummaryColumnComponent extends BasicGridComponent {
public override data = SampleTestData.foodProductData();
@@ -302,32 +198,9 @@ export class SummaryColumnComponent extends BasicGridComponent {
}
@Component({
- template: GridTemplateStrings.declareGrid(
- ` [width]="width" [height]="height"`,
- '', ColumnDefinitions.productDefaultSummaries)
-})
-export class VirtualSummaryColumnComponent extends BasicGridComponent {
- public override data = SampleTestData.foodProductDataExtended();
-
- public width = '800px';
- public height = '600px';
-
- public numberSummary = new IgxNumberSummaryOperand();
- public dateSummary = new IgxDateSummaryOperand();
-
- public scrollTop(newTop: number) {
- const vScrollbar = this.grid.verticalScrollContainer.getScroll();
- vScrollbar.scrollTop = newTop;
- }
-
- public scrollLeft(newLeft: number) {
- const hScrollbar = this.grid.headerContainer.getScroll();
- hScrollbar.scrollLeft = newLeft;
- }
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid('', '', ColumnDefinitions.productBasic, '', ' ')
+ template: GridTemplateStrings.declareGrid('', '', ColumnDefinitions.productBasic, '', ' '),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class ProductsComponent extends BasicGridComponent {
public override data = SampleTestData.foodProductData();
@@ -339,244 +212,9 @@ export class ProductsComponent extends BasicGridComponent {
}
@Component({
- template: GridTemplateStrings.declareGrid(` style="margin-bottom: 20px;"`,
- EventSubscriptions.columnInit,
- ColumnDefinitions.generatedWithSummaries)
-})
-export class DefaultSizeAndSummaryComponent extends BasicGridComponent {
- public columns = [];
-
- public columnInit(column) {
- switch (this.grid.columnList.length) {
- case 5:
- if (column.index === 0 || column.index === 4) {
- column.width = '200px';
- }
- break;
- case 30:
- if (column.index === 0 || column.index === 5 || column.index === 3 || column.index === 10 || column.index === 25) {
- column.width = '200px';
- }
- break;
- case 150:
- if (column.index === 0 || column.index === 5 || column.index === 3 || column.index === 10 || column.index === 50) {
- column.width = '500px';
- }
- break;
- }
- }
-
- public isHorizonatScrollbarVisible() {
- const scrollbar = this.grid.headerContainer.getScroll();
- return scrollbar.offsetWidth < (scrollbar.children[0] as HTMLElement).offsetWidth;
- }
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid(` [autoGenerate]="autoGenerate"`,
- EventSubscriptions.columnInit, ColumnDefinitions.generatedWithDataType)
-})
-export class NxMWithSummaryComponent extends GridNxMComponent {
- public override columnsType = 'number';
- public columnInit(column) {
- column.hasSummary = true;
- }
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid(` [autoGenerate]="autoGenerate"`,
- EventSubscriptions.columnInit, ColumnDefinitions.generatedEditable)
-})
-export class NxMWithSummaryEditableComponent extends NxMWithSummaryComponent {
- public override hasEditableColumns = true;
- public override startFromOne = true;
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid(` [autoGenerate]="autoGenerate"`,
- EventSubscriptions.columnInit, '')
-})
-export class NxMColumnWidthAndSummaryComponent extends NxMWithSummaryComponent {
- public override columnInit(column) {
- switch (this.grid.columnList.length) {
- case 5:
- if (column.index === 0 || column.index === 4) {
- column.width = '200px';
- }
- break;
- case 30:
- if (column.index === 0 || column.index === 5 || column.index === 3 || column.index === 10 || column.index === 25) {
- column.width = '200px';
- }
- break;
- case 150:
- if (column.index === 0 || column.index === 5 || column.index === 3 || column.index === 10 || column.index === 50) {
- column.width = '500px';
- }
- break;
- }
- }
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid('',
- EventSubscriptions.columnInit,
- ColumnDefinitions.generatedEditable)
-})
-export class Grid5x5WithSummariesComponent extends NxMWithSummaryEditableComponent {
- public override colsCount = 5;
- public override rowsCount = 5;
-}
-// export class Summaries5x5Component extends BasicGridComponent {
-// public columns = [];
-
-// constructor() {
-// super();
-// this.columns = SampleTestData.generateEditableColumns(5, 'number');
-// this.data = SampleTestData.generateDataForColumns(this.columns, 5, true);
-// }
-
-// init(column) {
-// column.hasSummary = true;
-// }
-// }
-
-@Component({
- template: GridTemplateStrings.declareGrid('',
- EventSubscriptions.columnInit,
- ColumnDefinitions.generatedWithDataType)
-})
-export class Grid10x30WithSummariesComponent extends NxMWithSummaryComponent {
- public override colsCount = 10;
- public override rowsCount = 30;
-}
-// export class Summaries10x30Component extends SummariesNxMComponent {
-// constructor() {
-// super(30, 10, 'number');
-// }
-// }
-
-@Component({
- template: GridTemplateStrings.declareGrid(` [width]="'1500px'"`,
- EventSubscriptions.columnInit,
- ColumnDefinitions.generatedWithDataType)
-})
-export class Grid30x1000WithSummariesComponent extends NxMWithSummaryComponent {
- public override colsCount = 30;
- public override rowsCount = 1000;
-}
-// export class Summaries30x1000Component extends SummariesNxMComponent {
-// constructor() {
-// super(1000, 30, 'number');
-// }
-// }
-
-@Component({
- template: GridTemplateStrings.declareGrid(` [width]="'1500px'"`,
- EventSubscriptions.columnInit,
- ColumnDefinitions.generatedWithDataType)
-})
-export class Grid150x200WithSummariesComponent extends NxMWithSummaryComponent {
- public override colsCount = 150;
- public override rowsCount = 200;
-}
-// export class Summaries150x200Component extends SummariesNxMComponent {
-// constructor() {
-// super(200, 150, 'number');
-// }
-// }
-
-@Component({
- template: `
-
-
-
-
`
-})
-export class WidthAndHeightComponent extends BasicGridComponent {
- public width: string;
- public height: string;
-
- public override data = SampleTestData.generateData(30, 3);
-}
-
-@Component({
- template: `
-
-
-
-
`
-})
-export class NullHeightComponent extends BasicGridComponent {
- public override data = SampleTestData.generateData(20, 5);
-}
-
-@Component({
- template: `
-
-
- `
-})
-export class DefaultCRUDGridComponent extends BasicGridComponent {
- public rowsAdded = 0;
- public rowsDeleted = 0;
-
- public rowAdded() {
- this.rowsAdded++;
- }
-
- public rowDeleted() {
- this.rowsDeleted++;
- }
-
- public editDone(event: IGridEditEventArgs) {
- if (event.newValue === 'change') {
- event.newValue = event.cellID ? 200 : { index: 200, value: 200 };
- }
- }
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid(` [paging]="paging" [perPage]="perPage"`,
- '', ColumnDefinitions.idNameJobTitleEditable) + `
- Prev page
- Next page
- Go to 3rd page
- `
-})
-export class PagingAndEditingComponent extends PagingComponent {
- public override perPage = 4;
-
- public GoToPage(val) {
- switch (val) {
- case -2:
- this.grid.previousPage();
- break;
- case -1:
- this.grid.nextPage();
- break;
- default:
- this.grid.paginate(val);
- break;
- }
- }
-}
-
-@Component({
- template: GridTemplateStrings.declareGrid('', '',
- ColumnDefinitions.idNameHiddenJobHirePinned)
-})
-export class GridSearchHiddenColumnsComponent extends BasicGridSearchComponent {
- public override data = SampleTestData.personJobData();
-}
-
-@Component({
- template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.idFirstLastNameSortable)
+ template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.idFirstLastNameSortable),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GridDeclaredColumnsComponent extends BasicGridComponent {
@ViewChild('nameColumn', { static: true }) public nameColumn;
@@ -586,7 +224,9 @@ export class GridDeclaredColumnsComponent extends BasicGridComponent {
@Component({
template: GridTemplateStrings.declareGrid(` [autoGenerate]="autoGenerate" [height]="height" [width]="width"`,
- `${EventSubscriptions.columnInit}${EventSubscriptions.selected}`, '')
+ `${EventSubscriptions.columnInit}${EventSubscriptions.selected}`, ''),
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class PinOnInitAndSelectionComponent extends GridWithSizeComponent {
public override data = SampleTestData.contactInfoDataFull();
@@ -615,11 +255,13 @@ export class PinOnInitAndSelectionComponent extends GridWithSizeComponent {
[autoGenerate]="false">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnLayoutComponent, IgxColumnComponent, NgFor]
})
export class GridPinningMRLComponent extends PinOnInitAndSelectionComponent {
public colGroups = [
@@ -650,7 +292,9 @@ export class GridPinningMRLComponent extends PinOnInitAndSelectionComponent {
@Component({
template: GridTemplateStrings.declareGrid(` [height]="height" [width]="width"`,
`${EventSubscriptions.selected}${EventSubscriptions.columnPin}`,
- ColumnDefinitions.generatedWithWidth)
+ ColumnDefinitions.generatedWithWidth),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class PinningComponent extends GridWithSizeComponent
implements IGridSelection {
@@ -684,7 +328,9 @@ export class PinningComponent extends GridWithSizeComponent
}
@Component({
- template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.productFilterSortPin)
+ template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.productFilterSortPin),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GridFeaturesComponent extends BasicGridComponent {
public override data = SampleTestData.productInfoData();
@@ -694,7 +340,9 @@ export class GridFeaturesComponent extends BasicGridComponent {
@Component({
template: GridTemplateStrings.declareGrid(
` columnWidth="200" `,
- '', ColumnDefinitions.idNameJobHireDate, '', ' ')
+ '', ColumnDefinitions.idNameJobHireDate, '', ' '),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class ScrollableGridSearchComponent extends BasicGridSearchComponent {
public override data = SampleTestData.generateFromData(SampleTestData.personJobDataFull(), 30);
@@ -704,7 +352,9 @@ export class ScrollableGridSearchComponent extends BasicGridSearchComponent {
@Component({
template: GridTemplateStrings.declareGrid(
` columnWidth="200" [height]="null" `,
- '', ColumnDefinitions.idNameJobTitleCompany, '', ' ')
+ '', ColumnDefinitions.idNameJobTitleCompany, '', ' '),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class GroupableGridSearchComponent extends ScrollableGridSearchComponent {
public override data = SampleTestData.personIDNameJobCompany();
@@ -714,7 +364,9 @@ export class GroupableGridSearchComponent extends ScrollableGridSearchComponent
@Component({
template: GridTemplateStrings.declareGrid(
` [height]="height" [width]="width" [columnWidth]="columnWidth" `,
- '', ColumnDefinitions.productAllColumnFeatures)
+ '', ColumnDefinitions.productAllColumnFeatures),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GridAllFeaturesComponent extends GridWithSizeComponent {
@Input()
@@ -723,21 +375,27 @@ export class GridAllFeaturesComponent extends GridWithSizeComponent {
}
@Component({
- template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.nameJobTitleId)
+ template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.nameJobTitleId),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class ReorderedColumnsComponent extends BasicGridComponent {
public override data = SampleTestData.personJobData();
}
@Component({
- template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.simpleDatePercentColumns)
+ template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.simpleDatePercentColumns),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GridUserMeetingDataComponent extends BasicGridComponent {
public override data = SampleTestData.personMeetingData();
}
@Component({
- template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.idNameJobTitleEditable)
+ template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.idNameJobTitleEditable),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GridIDNameJobTitleComponent extends PagingComponent {
public override data = SampleTestData.personJobDataFull();
@@ -746,14 +404,18 @@ export class GridIDNameJobTitleComponent extends PagingComponent {
}
@Component({
- template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.idNameJobHoursHireDatePerformance)
+ template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.idNameJobHoursHireDatePerformance),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GridIDNameJobTitleHireDataPerformanceComponent extends BasicGridComponent {
public override data = SampleTestData.personJobHoursDataPerformance();
}
@Component({
- template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.hireDate)
+ template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.hireDate),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GridHireDateComponent extends BasicGridComponent {
public override data = SampleTestData.hireDate();
@@ -762,9 +424,11 @@ export class GridHireDateComponent extends BasicGridComponent {
@Component({
template: `
${GridTemplateStrings.declareGrid(
- '[height]="height" [moving]="true" [width]="width" [moving]="true" [rowSelection]="rowSelection" [autoGenerate]="autoGenerate"',
+ '[height]="height" [moving]="true" [width]="width" [rowSelection]="rowSelection" [autoGenerate]="autoGenerate"',
EventSubscriptions.columnMovingStart + EventSubscriptions.columnMoving + EventSubscriptions.columnMovingEnd,
- ColumnDefinitions.movableColumns)}
`
+ ColumnDefinitions.movableColumns)}`,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class MovableColumnsComponent extends BasicGridComponent {
public override data = SampleTestData.personIDNameRegionData();
@@ -811,7 +475,9 @@ export class MovableColumnsComponent extends BasicGridComponent {
}
@Component({
- template: GridTemplateStrings.declareGrid(`[moving]="true" height="300px" width="500px"`, '', ColumnDefinitions.movableColumns)
+ template: GridTemplateStrings.declareGrid(`[moving]="true" height="300px" width="500px"`, '', ColumnDefinitions.movableColumns),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class MovableTemplatedColumnsComponent extends BasicGridComponent {
public override data = SampleTestData.personIDNameRegionData();
@@ -821,8 +487,10 @@ export class MovableTemplatedColumnsComponent extends BasicGridComponent {
}
@Component({
- template: GridTemplateStrings.declareGrid(`height="300px" width="500px" [moving]="true" [autoGenerate]="autoGenerate" [paging]="paging"`,
- EventSubscriptions.columnInit, '')
+ template: GridTemplateStrings.declareGrid(`height="300px" width="500px" [moving]="true" [autoGenerate]="autoGenerate"`,
+ EventSubscriptions.columnInit, ''),
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class MovableColumnsLargeComponent extends GridAutoGenerateComponent {
@@ -830,7 +498,6 @@ export class MovableColumnsLargeComponent extends GridAutoGenerateComponent {
public width = '500px';
public height = '400px';
- public paging = false;
public columnInit(column: IgxColumnComponent) {
column.sortable = true;
@@ -844,7 +511,9 @@ export class MovableColumnsLargeComponent extends GridAutoGenerateComponent {
}
@Component({
- template: GridTemplateStrings.declareGrid(`height="800px"`, '', ColumnDefinitions.multiColHeadersColumns)
+ template: GridTemplateStrings.declareGrid(`height="800px"`, '', ColumnDefinitions.multiColHeadersColumns),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent, IgxCellTemplateDirective, IgxCellHeaderTemplateDirective]
})
export class MultiColumnHeadersComponent extends BasicGridComponent {
public override data = SampleTestData.contactInfoDataFull();
@@ -852,8 +521,10 @@ export class MultiColumnHeadersComponent extends BasicGridComponent {
}
@Component({
- template: GridTemplateStrings.declareGrid(`[moving]="true" height="800px" width="500px"`, '',
- ColumnDefinitions.multiColHeadersWithGroupingColumns)
+ template: GridTemplateStrings.declareGrid(`[moving]="true" height="800px" width="500px"`, '',
+ ColumnDefinitions.multiColHeadersWithGroupingColumns),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent]
})
export class MultiColumnHeadersWithGroupingComponent extends BasicGridComponent {
public override data = SampleTestData.contactInfoDataFull();
@@ -862,7 +533,9 @@ export class MultiColumnHeadersWithGroupingComponent extends BasicGridComponent
@Component({
- template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.nameAvatar)
+ template: GridTemplateStrings.declareBasicGridWithColumns(ColumnDefinitions.nameAvatar),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective]
})
export class GridWithAvatarComponent extends GridWithSizeComponent {
public override data = SampleTestData.personAvatarData();
@@ -872,7 +545,9 @@ export class GridWithAvatarComponent extends GridWithSizeComponent {
@Component({
template: GridTemplateStrings.declareGrid(`height="1000px" width="900px" primaryKey="ID"`, '',
- ColumnDefinitions.summariesGroupByColumns, '', ' ')
+ ColumnDefinitions.summariesGroupByColumns, '', ' '),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class SummariesGroupByComponent extends BasicGridComponent {
public override data = SampleTestData.employeeGroupByData();
@@ -884,7 +559,9 @@ export class SummariesGroupByComponent extends BasicGridComponent {
@Component({
template: GridTemplateStrings.declareGrid(`height="600px" width="900px" [batchEditing]="true" primaryKey="ID"`, '',
- ColumnDefinitions.summariesGroupByTansColumns)
+ ColumnDefinitions.summariesGroupByTansColumns),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class SummariesGroupByTransactionsComponent extends BasicGridComponent {
public override data = SampleTestData.employeeGroupByData();
@@ -893,17 +570,6 @@ export class SummariesGroupByTransactionsComponent extends BasicGridComponent {
public ageSummaryMinMax = DealsSummaryMinMax;
}
-@Component({
- template: GridTemplateStrings.declareGrid('height="800px" width="400px" primaryKey="ID"', '',
- ColumnDefinitions.summariesGroupByColumns)
-})
-export class SummariesGroupByWithScrollsComponent extends BasicGridComponent {
- public override data = SampleTestData.employeeGroupByData();
- public calculationMode = 'rootAndChildLevels';
- public ageSummary = AgeSummary;
- public ageSummaryTest = AgeSummaryTest;
-}
-
class AgeSummary extends IgxNumberSummaryOperand {
constructor() {
super();
@@ -943,7 +609,9 @@ class AgeSummaryTest extends IgxNumberSummaryOperand {
@Component({
template: GridTemplateStrings.declareGrid(`[height]="gridHeight" [columnWidth]="defaultWidth" [width]="gridWidth"`,
- `${EventSubscriptions.selected}`, ColumnDefinitions.generatedWithWidth)
+ `${EventSubscriptions.selected}`, ColumnDefinitions.generatedWithWidth),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class VirtualGridComponent extends BasicGridComponent {
public gridWidth = '800px';
@@ -992,10 +660,13 @@ export class VirtualGridComponent extends BasicGridComponent {
this.grid.headerContainer.getScroll().scrollLeft = newLeft;
}
}
+
@Component({
template: GridTemplateStrings.declareGrid(
` [primaryKey]="'ID'"`,
- '', ColumnDefinitions.idNameJobHireWithTypes)
+ '', ColumnDefinitions.idNameJobHireWithTypes),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GridWithPrimaryKeyComponent extends BasicGridSearchComponent {
public override data = SampleTestData.personJobDataFull();
@@ -1004,6 +675,8 @@ export class GridWithPrimaryKeyComponent extends BasicGridSearchComponent {
@Component({
template: GridTemplateStrings.declareGrid(`height="300px" width="600px" primaryKey="ID"`, '',
ColumnDefinitions.selectionWithScrollsColumns, '', ' '),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class SelectionWithScrollsComponent extends BasicGridComponent {
public override data = SampleTestData.employeeGroupByData();
@@ -1013,6 +686,8 @@ export class SelectionWithScrollsComponent extends BasicGridComponent {
@Component({
template: GridTemplateStrings.declareGrid(`height="300px" width="600px" primaryKey="ID" cellSelection="none"`, '',
ColumnDefinitions.selectionWithScrollsColumns),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class CellSelectionNoneComponent extends BasicGridComponent {
public override data = SampleTestData.employeeGroupByData();
@@ -1021,13 +696,17 @@ export class CellSelectionNoneComponent extends BasicGridComponent {
@Component({
template: GridTemplateStrings.declareGrid(`height="300px" width="600px" primaryKey="ID" cellSelection="single"`, '',
ColumnDefinitions.selectionWithScrollsColumns),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class CellSelectionSingleComponent extends BasicGridComponent {
public override data = SampleTestData.employeeGroupByData();
}
@Component({
template: GridTemplateStrings.declareGrid(`height="300px" width="600px" [batchEditing]="true" primaryKey="ID"`, '',
- ColumnDefinitions.selectionWithScrollsColumns)
+ ColumnDefinitions.selectionWithScrollsColumns),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class SelectionWithTransactionsComponent extends BasicGridComponent {
public override data = SampleTestData.employeeGroupByData();
@@ -1063,7 +742,9 @@ export class CustomFilter extends IgxFilteringOperand {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridFilteringComponent extends BasicGridComponent {
public customFilter = CustomFilter.instance();
@@ -1096,7 +777,9 @@ export class IgxGridFilteringComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridDatesFilteringComponent extends BasicGridComponent {
public customFilter = CustomFilter.instance();
@@ -1132,7 +815,9 @@ export class IgxGridDatesFilteringComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxGridExcelStyleFilteringComponent]
})
export class IgxGridExternalESFComponent extends BasicGridComponent implements AfterViewInit {
@ViewChild('esf', { read: IgxGridExcelStyleFilteringComponent, static: true })
@@ -1184,7 +869,9 @@ export class CustomFilterStrategy extends FilteringStrategy {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class CustomFilteringStrategyComponent extends BasicGridComponent {
public strategy = new CustomFilterStrategy();
@@ -1210,7 +897,9 @@ export class LoadOnDemandFilterStrategy extends FilteringStrategy {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridFilteringESFLoadOnDemandComponent extends BasicGridComponent {
public override data = SampleTestData.excelFilteringData();
@@ -1233,25 +922,27 @@ export class IgxGridFilteringESFLoadOnDemandComponent extends BasicGridComponent
@Component({
template: `
+ [filterable]="false" [resizable]="resizable" [sortable]="true">
+ [sortable]="true">
+ [sortable]="true">
+ [sortable]="true">
+ [filterable]="filterable" [resizable]="resizable" dataType="date" [sortable]="true">
+ dataType="string" [filters]="customFilter" [sortable]="true">
Column Operations Template
Filter Operations Template
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxGridExcelStyleFilteringComponent, IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleFilterOperationsTemplateDirective]
})
export class IgxGridFilteringESFEmptyTemplatesComponent extends BasicGridComponent {
public customFilter = CustomFilter.instance();
@@ -1263,18 +954,18 @@ export class IgxGridFilteringESFEmptyTemplatesComponent extends BasicGridCompone
@Component({
template: `
+ [filterable]="false" [resizable]="resizable" [sortable]="true">
+ [sortable]="true">
+ [sortable]="true">
+ [sortable]="true">
+ [filterable]="filterable" [resizable]="resizable" dataType="date" [sortable]="true">
+ dataType="string" [filters]="customFilter" [sortable]="true">
@@ -1294,7 +985,20 @@ export class IgxGridFilteringESFEmptyTemplatesComponent extends BasicGridCompone
search
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxGridComponent,
+ IgxColumnComponent,
+ IgxGridExcelStyleFilteringComponent,
+ IgxExcelStyleColumnOperationsTemplateDirective,
+ IgxExcelStyleFilterOperationsTemplateDirective,
+ IgxIconComponent,
+ IgxExcelStyleMovingComponent,
+ IgxExcelStylePinningComponent,
+ IgxExcelStyleSearchComponent,
+ IgxExcelStyleHeaderIconDirective
+ ]
})
export class IgxGridFilteringESFTemplatesComponent extends BasicGridComponent {
public customFilter = CustomFilter.instance();
@@ -1327,7 +1031,16 @@ export class IgxGridFilteringESFTemplatesComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxGridComponent,
+ IgxColumnComponent,
+ IgxGridExcelStyleFilteringComponent,
+ IgxExcelStyleColumnOperationsTemplateDirective,
+ IgxExcelStyleFilterOperationsTemplateDirective,
+ IgxExcelStyleSelectingComponent
+ ]
})
export class IgxGridExternalESFTemplateComponent extends BasicGridComponent implements OnInit {
@ViewChild('esf', { read: IgxGridExcelStyleFilteringComponent, static: true })
@@ -1378,7 +1091,9 @@ export class IgxGridExternalESFTemplateComponent extends BasicGridComponent impl
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxInputGroupComponent, IgxPrefixDirective, IgxSuffixDirective, IgxInputDirective, IgxFilterCellTemplateDirective, IgxIconComponent]
})
export class IgxGridFilteringTemplateComponent extends BasicGridComponent {
public resizable = false;
@@ -1399,78 +1114,34 @@ export class IgxGridFilteringTemplateComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridFilteringScrollComponent extends IgxGridFilteringComponent { }
@Component({
template: `
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent]
})
export class IgxGridFilteringMCHComponent extends IgxGridFilteringComponent { }
-@Component({
- template:
- `
-
-
-
-
-
-
-
-
-
-
- 0"
- [column]="grid1.columns[4]"
- [grid]="grid1"
- [expressionUI]="exprUI"
- [expressionsList]="exprList">
- `
-})
-export class IgxTestExcelFilteringDatePickerComponent extends IgxGridFilteringComponent implements AfterViewInit {
- public exprUI: ExpressionUI;
- public exprList: Array;
-
- constructor(private cd: ChangeDetectorRef) {
- super();
-
- this.exprUI = new ExpressionUI();
- this.exprUI.expression = {
- fieldName: 'ReleaseDate',
- condition: {
- name: 'equals',
- isUnary: false,
- iconName: 'equals',
- logic: () => true
- },
- };
-
- this.exprList = [this.exprUI];
- }
-
- public ngAfterViewInit() {
- this.cd.detectChanges();
- }
-}
-
@Component({
template: `
@@ -1481,7 +1152,9 @@ export class IgxTestExcelFilteringDatePickerComponent extends IgxGridFilteringCo
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxGridToolbarComponent]
})
export class IgxGridAdvancedFilteringComponent extends BasicGridComponent {
public customFilter = CustomFilter.instance();
@@ -1507,7 +1180,9 @@ export class IgxGridAdvancedFilteringComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxAdvancedFilteringDialogComponent]
})
export class IgxGridExternalAdvancedFilteringComponent extends BasicGridComponent {
public customFilter = CustomFilter.instance();
@@ -1528,7 +1203,9 @@ export class IgxGridExternalAdvancedFilteringComponent extends BasicGridComponen
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent]
})
export class IgxGridAdvancedFilteringColumnGroupComponent extends BasicGridComponent {
public customFilter = CustomFilter.instance();
@@ -1552,7 +1229,9 @@ export class IgxGridAdvancedFilteringColumnGroupComponent extends BasicGridCompo
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class IgxGridClipboardComponent extends BasicGridComponent {
public override data = SampleTestData.excelFilteringData();
@@ -1563,7 +1242,9 @@ export class IgxGridClipboardComponent extends BasicGridComponent {
@Component({
template: GridTemplateStrings.declareGrid(`id="testGridSum" [height]="height" [width]="width"`, ``,
- ColumnDefinitions.generatedWithDataType)
+ ColumnDefinitions.generatedWithDataType),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class DynamicColumnsComponent extends GridWithSizeComponent {
public columns = [
@@ -1608,7 +1289,9 @@ export class DynamicColumnsComponent extends GridWithSizeComponent {
CUSTOM GROUP SELECTOR
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCheckboxComponent, IgxPaginatorComponent, IgxRowSelectorDirective, IgxHeadSelectorDirective, IgxGroupByRowSelectorDirective]
})
export class GridCustomSelectorsComponent extends BasicGridComponent implements OnInit {
@ViewChild('gridCustomSelectors', { static: true })
@@ -1666,7 +1349,9 @@ export class GridCustomSelectorsComponent extends BasicGridComponent implements
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarHidingComponent, IgxPaginatorComponent, NgIf]
})
export class IgxGridRowEditingComponent extends BasicGridComponent {
public showToolbar = false;
@@ -1686,7 +1371,9 @@ export class IgxGridRowEditingComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective]
})
export class IgxGridRowEditingWithoutEditableColumnsComponent extends BasicGridComponent {
public override data = SampleTestData.foodProductData();
@@ -1721,7 +1408,9 @@ export class IgxGridRowEditingWithoutEditableColumnsComponent extends BasicGridC
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent, NgIf]
})
export class IgxGridWithEditingAndFeaturesComponent extends BasicGridComponent {
/* Data fields: Downloads:number, ID: number, ProductName: string, ReleaseDate: Date,
@@ -1751,7 +1440,9 @@ export class IgxGridWithEditingAndFeaturesComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxRowEditTabStopDirective, IgxRowEditTemplateDirective, IgxButtonDirective]
})
export class IgxGridCustomOverlayComponent extends BasicGridComponent {
@ViewChildren(IgxRowEditTabStopDirective) public buttons: QueryList;
@@ -1790,7 +1481,9 @@ export class IgxGridCustomOverlayComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxRowEditTemplateDirective]
})
export class IgxGridEmptyRowEditTemplateComponent extends BasicGridComponent {
public override data = SampleTestData.foodProductData();
@@ -1814,7 +1507,9 @@ export class IgxGridEmptyRowEditTemplateComponent extends BasicGridComponent {
CUSTOM EDIT TEXT
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxRowEditActionsDirective, IgxRowAddTextDirective, IgxRowEditTextDirective]
})
export class IgxGridCustomRowEditTemplateComponent extends BasicGridComponent {
public override data = SampleTestData.foodProductData();
@@ -1836,8 +1531,10 @@ export class IgxGridCustomRowEditTemplateComponent extends BasicGridComponent {
-
- `
+
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class IgxGridRowEditingTransactionComponent extends BasicGridComponent {
public override data = SampleTestData.foodProductData();
@@ -1854,7 +1551,9 @@ export class IgxGridRowEditingTransactionComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridCurrencyColumnComponent extends BasicGridComponent {
public override data = SampleTestData.foodProductData();
@@ -1869,7 +1568,9 @@ export class IgxGridCurrencyColumnComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridPercentColumnComponent extends BasicGridComponent {
public override data = SampleTestData.foodPercentProductData();
@@ -1885,7 +1586,9 @@ export class IgxGridPercentColumnComponent extends BasicGridComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridDateTimeColumnComponent extends BasicGridComponent {
public override data = SampleTestData.foodProductDateTimeData();
@@ -1906,7 +1609,9 @@ export class IgxGridDateTimeColumnComponent extends BasicGridComponent {
Custom template
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class IgxGridRowEditingWithFeaturesComponent extends DataParent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1951,7 +1656,9 @@ export class IgxGridRowEditingWithFeaturesComponent extends DataParent {
Custom template
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class IgxGridGroupByComponent extends DataParent implements OnInit {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -1998,7 +1705,9 @@ export class IgxGridGroupByComponent extends DataParent implements OnInit {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class CellEditingTestComponent extends BasicGridComponent {
public override data = [
@@ -2019,7 +1728,9 @@ export class CellEditingTestComponent extends BasicGridComponent {
Test
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class CellEditingScrollTestComponent extends BasicGridComponent {
public override data = [
@@ -2037,8 +1748,10 @@ export class CellEditingScrollTestComponent extends BasicGridComponent {
@Component({
template: GridTemplateStrings.declareGrid(
- ` [width]="width" [height]="height" [paging]="'true'" [perPage]="perPage" [primaryKey]="'ProductID'"`,
- '', ColumnDefinitions.productBasic, '', ' ' )
+ ` [width]="width" [height]="height" [primaryKey]="'ProductID'"`,
+ '', ColumnDefinitions.productBasic, '', ' ' ),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent]
})
export class GridWithUndefinedDataComponent implements OnInit {
@ViewChild(IgxGridComponent, { static: true })
@@ -2049,9 +1762,9 @@ export class GridWithUndefinedDataComponent implements OnInit {
public height = '600px';
public ngOnInit(): void {
- setTimeout(() => {
+ requestAnimationFrame(() => {
this.data = SampleTestData.foodProductDataExtended();
- }, 300);
+ });
}
}
@@ -2088,7 +1801,9 @@ export class GridWithUndefinedDataComponent implements OnInit {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent]
})
export class CollapsibleColumnGroupTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -2128,13 +1843,16 @@ export class CollapsibleColumnGroupTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent]
})
export class ColumnSelectionGroupTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
public grid: IgxGridComponent;
public data = SampleTestData.contactInfoDataFull();
}
+
@Component({
template: `
@@ -2165,7 +1883,9 @@ export class ColumnSelectionGroupTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent, IgxIconComponent, IgxCollapsibleIndicatorTemplateDirective]
})
export class CollapsibleGroupsTemplatesTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -2185,9 +1905,10 @@ export class CollapsibleGroupsTemplatesTestComponent {
[visibleWhenCollapsed]="column.visibleWhenCollapsed">
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent, NgFor]
})
-
export class CollapsibleGroupsDynamicColComponent {
@ViewChild(IgxGridComponent, { static: true })
public grid: IgxGridComponent;
@@ -2247,7 +1968,9 @@ export class CollapsibleGroupsDynamicColComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent]
})
export class ColumnGroupsNavigationTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -2263,12 +1986,14 @@ export class ColumnGroupsNavigationTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridFilteringBindingComponent extends BasicGridComponent implements OnInit {
public resizable = false;
public filterable = true;
- public filterTree: FilteringExpressionsTree;
+ public filterTree: IFilteringExpressionsTree;
public override data = SampleTestData.excelFilteringData();
@@ -2286,19 +2011,20 @@ export class IgxGridFilteringBindingComponent extends BasicGridComponent impleme
@Component({
template: `
-
+
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class IgxGridAdvancedFilteringBindingComponent extends BasicGridComponent implements OnInit {
public resizable = false;
public filterable = true;
- public filterTree: FilteringExpressionsTree;
+ public filterTree: IFilteringExpressionsTree;
public override data = SampleTestData.excelFilteringData();
@@ -2325,7 +2051,9 @@ export class IgxGridAdvancedFilteringBindingComponent extends BasicGridComponent
Test
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class ColumnEditablePropertyTestComponent extends BasicGridComponent {
public override data = [
@@ -2338,7 +2066,9 @@ export class ColumnEditablePropertyTestComponent extends BasicGridComponent {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class NoColumnWidthGridComponent extends BasicGridComponent {
public override data = SampleTestData.generateNumberData(1000);
@@ -2352,7 +2082,9 @@ export class NoColumnWidthGridComponent extends BasicGridComponent {
'',
'',
TemplateDefinitions.sortIconTemplates)
- + ExternalTemplateDefinitions.sortIconTemplates
+ + ExternalTemplateDefinitions.sortIconTemplates,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxIconComponent, IgxSortHeaderIconDirective, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective]
})
export class SortByParityComponent extends GridDeclaredColumnsComponent implements ISortingStrategy {
@ViewChild('sortIcon', {read: TemplateRef })
@@ -2387,7 +2119,9 @@ export class SortByParityComponent extends GridDeclaredColumnsComponent implemen
ColumnDefinitions.idFirstLastNameSortable,
'',
'',
- '')
+ ''),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class SortByAnotherColumnComponent extends GridDeclaredColumnsComponent implements ISortingStrategy {
@@ -2413,7 +2147,9 @@ export class SortByAnotherColumnComponent extends GridDeclaredColumnsComponent i
[colEnd]="col.colEnd" [rowEnd]="col.rowEnd" [field]='col.field' [editable]='col.editable'>
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnLayoutComponent, IgxColumnComponent, NgFor]
})
export class MRLTestComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
@@ -2464,7 +2200,9 @@ export class MRLTestComponent {
Adding Row
-`
+`,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridEditingActionsComponent, IgxPaginatorComponent, IgxRowAddTextDirective, NgFor, NgIf]
})
export class IgxAddRowComponent implements OnInit {
@ViewChild('actionStrip', { read: IgxActionStripComponent, static: true })
@@ -2521,21 +2259,27 @@ export class IgxAddRowComponent implements OnInit {
}
@Component({
- template: GridTemplateStrings.declareGrid(` [hideGroupedColumns]="true"`, '', ColumnDefinitions.exportGroupedDataColumns)
+ template: GridTemplateStrings.declareGrid(` [hideGroupedColumns]="true"`, '', ColumnDefinitions.exportGroupedDataColumns),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
export class GridExportGroupedDataComponent extends BasicGridComponent {
public override data = SampleTestData.exportGroupedDataColumns();
}
@Component({
- template: GridTemplateStrings.declareGrid(`[moving]="true" height="1000px"`, '', ColumnDefinitions.multiColHeadersExportColumns)
+ template: GridTemplateStrings.declareGrid(`[moving]="true" height="1000px"`, '', ColumnDefinitions.multiColHeadersExportColumns),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent]
})
export class MultiColumnHeadersExportComponent extends BasicGridComponent {
public override data = SampleTestData.contactInfoDataFull();
}
@Component({
- template: GridTemplateStrings.declareGrid(`height="1000px"`, '', ColumnDefinitions.multiColHeadersExportColumns)
+ template: GridTemplateStrings.declareGrid(`height="1000px"`, '', ColumnDefinitions.multiColHeadersExportColumns),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent]
})
export class GridWithThreeLevelsOfMultiColumnHeadersAndTwoRowsExportComponent extends BasicGridComponent {
public override data = SampleTestData.contactInfoDataTwoRecords();
@@ -2553,9 +2297,10 @@ export class GridWithThreeLevelsOfMultiColumnHeadersAndTwoRowsExportComponent ex
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent]
})
-
export class GridWithEmptyColumnsComponent {
@ViewChild('grid1', { static: true }) public grid: IgxGridComponent;
@@ -2564,7 +2309,9 @@ export class GridWithEmptyColumnsComponent {
/** Issue 9872 */
@Component({
- template: GridTemplateStrings.declareGrid('', '', ColumnDefinitions.generatedWithDataType)
+ template: GridTemplateStrings.declareGrid('', '', ColumnDefinitions.generatedWithDataType),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class ColumnsAddedOnInitComponent extends BasicGridComponent implements OnInit {
public columns = [];
@@ -2586,7 +2333,9 @@ export class ColumnsAddedOnInitComponent extends BasicGridComponent implements O
}
@Component({
- template: GridTemplateStrings.declareGrid(' [hideGroupedColumns]="true"', '', ColumnDefinitions.generatedGroupableWithEnabledSummariesAndDataType)
+ template: GridTemplateStrings.declareGrid(' [hideGroupedColumns]="true"', '', ColumnDefinitions.generatedGroupableWithEnabledSummariesAndDataType),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class GroupedGridWithSummariesComponent extends BasicGridComponent implements OnInit {
public columns = [];
@@ -2605,7 +2354,9 @@ export class GroupedGridWithSummariesComponent extends BasicGridComponent implem
}
@Component({
- template: GridTemplateStrings.declareGrid('', '', ColumnDefinitions.generatedWithColumnBasedSummariesAndDataType)
+ template: GridTemplateStrings.declareGrid('', '', ColumnDefinitions.generatedWithColumnBasedSummariesAndDataType),
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgFor]
})
export class GridCurrencySummariesComponent extends BasicGridComponent implements OnInit {
public columns = [];
@@ -2627,10 +2378,10 @@ export class GridCurrencySummariesComponent extends BasicGridComponent implement
export class ObjectCloneStrategy implements IDataCloneStrategy {
public clone(data: any): any {
- let clonedData = {};
+ const clonedData = {};
if (data) {
- let clone = Object.defineProperties({}, Object.getOwnPropertyDescriptors(data));
- for (let key in clone) {
+ const clone = Object.defineProperties({}, Object.getOwnPropertyDescriptors(data));
+ for (const key in clone) {
clonedData[key] = clone[key]
}
@@ -2647,7 +2398,9 @@ export class ObjectCloneStrategy implements IDataCloneStrategy {
- `
+ `,
+ standalone: true,
+ imports: [IgxColumnComponent, IgxGridComponent]
})
export class IgxGridRowEditingDefinedColumnsComponent extends BasicGridComponent {
public override data = SampleTestData.foodProductData();
diff --git a/projects/igniteui-angular/src/lib/test-utils/grid-validation-samples.spec.ts b/projects/igniteui-angular/src/lib/test-utils/grid-validation-samples.spec.ts
index 5d1c9e569c6..ca7419e9556 100644
--- a/projects/igniteui-angular/src/lib/test-utils/grid-validation-samples.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/grid-validation-samples.spec.ts
@@ -1,50 +1,59 @@
+import { NgFor, NgIf } from '@angular/common';
import { Component, Input, ViewChild, Directive, TemplateRef } from '@angular/core';
-import { AbstractControl, NG_VALIDATORS, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
-import { IgxGridComponent, IgxTreeGridComponent } from 'igniteui-angular';
+import { AbstractControl, FormsModule, NG_VALIDATORS, ReactiveFormsModule, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
import { data } from '../../../../../src/app/shared/data';
+import { GridColumnDataType } from '../data-operations/data-util';
+import { IgxColumnComponent } from '../grids/columns/column.component';
+import { IGX_GRID_VALIDATION_DIRECTIVES } from '../grids/columns/public_api';
+import { IgxCellEditorTemplateDirective, IgxCellValidationErrorDirective } from '../grids/columns/templates.directive';
+import { IgxGridComponent } from '../grids/grid/grid.component';
+import { IgxTreeGridComponent } from '../grids/tree-grid/tree-grid.component';
import { SampleTestData } from './sample-test-data.spec';
-export function forbiddenNameValidator(nameRe: RegExp): ValidatorFn {
- return (control: AbstractControl): ValidationErrors | null => {
- const forbidden = nameRe.test(control.value);
- return forbidden ? { forbiddenName: { value: control.value } } : null;
- };
-}
-
@Directive({
selector: '[igxAppForbiddenName]',
- providers: [{ provide: NG_VALIDATORS, useExisting: ForbiddenValidatorDirective, multi: true }]
+ providers: [{ provide: NG_VALIDATORS, useExisting: ForbiddenValidatorDirective, multi: true }],
+ standalone: true
})
export class ForbiddenValidatorDirective extends Validators {
@Input('igxAppForbiddenName')
public forbiddenName = '';
public validate(control: AbstractControl): ValidationErrors | null {
- return this.forbiddenName ? forbiddenNameValidator(new RegExp(this.forbiddenName, 'i'))(control)
+ return this.forbiddenName ? this.forbiddenNameValidator(new RegExp(this.forbiddenName, 'i'))(control)
: null;
}
+
+ public forbiddenNameValidator(nameRe: RegExp): ValidatorFn {
+ return (control: AbstractControl): ValidationErrors | null => {
+ const forbidden = nameRe.test(control.value);
+ return forbidden ? { forbiddenName: { value: control.value } } : null;
+ };
+ }
}
@Component({
template: `
-
+ [editable]="true" [sortable]="true" [filterable]="true" [field]="c.field"
+ [header]="c.field" [resizable]="true" [dataType]="c.dataType" >
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, ForbiddenValidatorDirective, IGX_GRID_VALIDATION_DIRECTIVES, NgFor]
})
export class IgxGridValidationTestBaseComponent {
public batchEditing = false;
public rowEditable = true;
public columns = [
- { field: 'ProductID', dataType: 'string' },
- { field: 'ProductName', dataType: 'string' },
- { field: 'UnitPrice', dataType: 'string' },
- { field: 'UnitsInStock', dataType: 'number' }
+ { field: 'ProductID', dataType: GridColumnDataType.String },
+ { field: 'ProductName', dataType: GridColumnDataType.String },
+ { field: 'UnitPrice', dataType: GridColumnDataType.String },
+ { field: 'UnitsInStock', dataType: GridColumnDataType.Number }
];
public data = [...data];
@@ -58,28 +67,19 @@ export class IgxGridValidationTestBaseComponent {
+ [header]="c.field" [resizable]='true' [dataType]="c.dataType">
-
- This name is forbidden.
-
-
+
+ This name is forbidden.
+
+
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellValidationErrorDirective, ForbiddenValidatorDirective, IGX_GRID_VALIDATION_DIRECTIVES, NgFor, NgIf]
})
-export class IgxGridValidationTestCustomErrorComponent {
- public batchEditing = false;
- public rowEditable = true;
- public columns = [
- { field: 'ProductID', dataType: 'string' },
- { field: 'ProductName', dataType: 'string' },
- { field: 'UnitPrice', dataType: 'string' },
- { field: 'UnitsInStock', dataType: 'number' }
- ];
- public data = [...data];
-
- @ViewChild('grid', { read: IgxGridComponent, static: true }) public grid: IgxGridComponent;
+export class IgxGridValidationTestCustomErrorComponent extends IgxGridValidationTestBaseComponent {
}
@Component({
@@ -89,7 +89,7 @@ export class IgxGridValidationTestCustomErrorComponent {
+ [header]="c.field" [resizable]='true' [dataType]="c.dataType">
@@ -98,7 +98,9 @@ export class IgxGridValidationTestCustomErrorComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellEditorTemplateDirective, ForbiddenValidatorDirective, IGX_GRID_VALIDATION_DIRECTIVES, ReactiveFormsModule, FormsModule, NgFor]
})
export class IgxGridCustomEditorsComponent extends IgxGridValidationTestCustomErrorComponent {
@ViewChild('modelTemplate', {read: TemplateRef })
@@ -115,7 +117,7 @@ export class IgxGridCustomEditorsComponent extends IgxGridValidationTestCustomEr
+ [header]="c.field" [resizable]='true' [dataType]="c.dataType" >
This name is forbidden.
@@ -123,16 +125,18 @@ export class IgxGridCustomEditorsComponent extends IgxGridValidationTestCustomEr
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxCellValidationErrorDirective, ForbiddenValidatorDirective, IGX_GRID_VALIDATION_DIRECTIVES, NgFor, NgIf]
})
export class IgxTreeGridValidationTestComponent {
public batchEditing = false;
public rowEditable = true;
public columns = [
- { field: 'ID', dataType: 'string' },
- { field: 'Name', dataType: 'string' },
- { field: 'HireDate', dataType: 'string' },
- { field: 'Age', dataType: 'number' }
+ { field: 'ID', dataType: GridColumnDataType.String },
+ { field: 'Name', dataType: GridColumnDataType.String },
+ { field: 'HireDate', dataType: GridColumnDataType.Date },
+ { field: 'Age', dataType: GridColumnDataType.Number }
];
public data = [...SampleTestData.employeeSmallTreeData()];
diff --git a/projects/igniteui-angular/src/lib/test-utils/hierarchical-grid-components.spec.ts b/projects/igniteui-angular/src/lib/test-utils/hierarchical-grid-components.spec.ts
index 2f3db79e15c..a4b933f3a2e 100644
--- a/projects/igniteui-angular/src/lib/test-utils/hierarchical-grid-components.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/hierarchical-grid-components.spec.ts
@@ -1,13 +1,23 @@
import { Component, ViewChild, OnInit } from '@angular/core';
+import { NgIf } from '@angular/common';
import { SampleTestData } from './sample-test-data.spec';
-import { IgxColumnComponent, IgxNumberSummaryOperand, IgxSummaryResult } from '../grids/public_api';
+import { ColumnType, IPinningConfig, IgxAdvancedFilteringDialogComponent, IgxColumnComponent, IgxNumberSummaryOperand, IgxSummaryResult } from '../grids/public_api';
import { IgxHierarchicalGridComponent } from '../grids/hierarchical-grid/hierarchical-grid.component';
import { IgxRowIslandComponent } from '../grids/hierarchical-grid/row-island.component';
-import { IPinningConfig } from '../grids/grid.common';
import { ColumnPinningPosition, RowPinningPosition } from '../grids/common/enums';
-import { IgxActionStripComponent } from '../action-strip/public_api';
+import { IgxActionStripComponent, IgxGridEditingActionsComponent, IgxGridPinningActionsComponent } from '../action-strip/public_api';
import { HIERARCHICAL_SAMPLE_DATA, HIERARCHICAL_SAMPLE_DATA_SHORT } from 'src/app/shared/sample-data';
import { IgxHierarchicalTransactionServiceFactory } from '../grids/hierarchical-grid/hierarchical-grid-base.directive';
+import { IgxGridToolbarComponent } from '../grids/toolbar/grid-toolbar.component';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { IgxCheckboxComponent } from '../checkbox/checkbox.component';
+import { IgxPaginatorComponent } from '../paginator/paginator.component';
+import { IgxColumnGroupComponent } from '../grids/columns/column-group.component';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxHeadSelectorDirective, IgxRowSelectorDirective } from '../grids/selection/row-selectors';
+import { IgxGridToolbarDirective } from '../grids/toolbar/common';
+import { IgxCellHeaderTemplateDirective } from '../grids/columns/templates.directive';
+import { IgxPaginatorDirective } from '../paginator/paginator-interfaces';
@Component({
template: `
@@ -41,7 +51,19 @@ import { IgxHierarchicalTransactionServiceFactory } from '../grids/hierarchical-
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxHierarchicalGridComponent,
+ IgxColumnComponent,
+ IgxColumnGroupComponent,
+ IgxRowIslandComponent,
+ IgxPaginatorComponent,
+ IgxGridToolbarComponent,
+ IgxIconComponent,
+ IgxCellHeaderTemplateDirective,
+ NgIf
+ ]
})
export class IgxHierarchicalGridTestBaseComponent {
@ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent, static: true })
@@ -62,7 +84,7 @@ export class IgxHierarchicalGridTestBaseComponent {
this.data = SampleTestData.generateHGridData(40, 3);
}
- public pinColumn(column: IgxColumnComponent) {
+ public pinColumn(column: ColumnType) {
if (column.pinned) {
column.unpin();
} else {
@@ -104,7 +126,18 @@ export class IgxHierarchicalGridTestBaseComponent {
`,
- providers: [IgxHierarchicalTransactionServiceFactory]
+ providers: [IgxHierarchicalTransactionServiceFactory],
+ standalone: true,
+ imports: [
+ IgxHierarchicalGridComponent,
+ IgxColumnComponent,
+ IgxColumnGroupComponent,
+ IgxRowIslandComponent,
+ IgxPaginatorComponent,
+ IgxGridToolbarComponent,
+ IgxIconComponent,
+ NgIf
+ ]
})
export class IgxHierarchicalGridWithTransactionProviderComponent {
@ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent, static: true })
@@ -152,7 +185,9 @@ export class IgxHierarchicalGridWithTransactionProviderComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxColumnComponent, IgxRowIslandComponent]
})
export class IgxHierarchicalGridRowSelectionComponent {
@ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent, static: true }) public hgrid: IgxHierarchicalGridComponent;
@@ -183,7 +218,9 @@ export class IgxHierarchicalGridRowSelectionComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxColumnComponent, IgxRowIslandComponent]
})
export class IgxHierarchicalGridRowSelectionTestSelectRowOnClickComponent {
@ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent, static: true }) public hgrid: IgxHierarchicalGridComponent;
@@ -216,6 +253,8 @@ export class IgxHierarchicalGridRowSelectionTestSelectRowOnClickComponent {
`,
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxColumnComponent, IgxRowIslandComponent]
})
export class IgxHierarchicalGridRowSelectionNoTransactionsComponent {
@ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent, static: true }) public hgrid: IgxHierarchicalGridComponent;
@@ -231,7 +270,7 @@ export class IgxHierarchicalGridRowSelectionNoTransactionsComponent {
@Component({
template: `
-
@@ -264,7 +303,18 @@ export class IgxHierarchicalGridRowSelectionNoTransactionsComponent {
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxHierarchicalGridComponent,
+ IgxColumnComponent,
+ IgxRowIslandComponent,
+ IgxCheckboxComponent,
+ IgxPaginatorComponent,
+ IgxPaginatorDirective,
+ IgxRowSelectorDirective,
+ IgxHeadSelectorDirective
+ ]
})
export class IgxHierarchicalGridCustomSelectorsComponent implements OnInit {
@ViewChild('hGridCustomSelectors', { read: IgxHierarchicalGridComponent, static: true })
@@ -310,11 +360,13 @@ export class IgxHierarchicalGridCustomSelectorsComponent implements OnInit {
-
+
Child2 Button
- `
+ `,
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxGridToolbarComponent, IgxGridToolbarDirective, IgxRowIslandComponent, IgxButtonDirective]
})
export class IgxHierarchicalGridTestCustomToolbarComponent extends IgxHierarchicalGridTestBaseComponent { }
@@ -331,10 +383,18 @@ export class IgxHierarchicalGridTestCustomToolbarComponent extends IgxHierarchic
-
+
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxHierarchicalGridComponent,
+ IgxActionStripComponent,
+ IgxGridPinningActionsComponent,
+ IgxGridEditingActionsComponent,
+ IgxRowIslandComponent
+ ]
})
export class IgxHierarchicalGridActionStripComponent extends IgxHierarchicalGridTestBaseComponent {
@ViewChild('actionStrip1', { read: IgxActionStripComponent, static: true })
@@ -362,7 +422,9 @@ export class IgxHierarchicalGridActionStripComponent extends IgxHierarchicalGrid
- `
+ `,
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxColumnComponent, IgxRowIslandComponent, IgxAdvancedFilteringDialogComponent]
})
export class IgxHierGridExternalAdvancedFilteringComponent extends IgxHierarchicalGridTestBaseComponent {
// @ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent, static: true })
@@ -385,12 +447,12 @@ export class IgxHierGridExternalAdvancedFilteringComponent extends IgxHierarchic
-
+
-
+
@@ -405,7 +467,9 @@ export class IgxHierGridExternalAdvancedFilteringComponent extends IgxHierarchic
- `
+ `,
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxColumnComponent, IgxRowIslandComponent]
})
export class IgxHierarchicalGridExportComponent {
@ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent, static: true }) public hGrid: IgxHierarchicalGridComponent;
@@ -459,7 +523,9 @@ export class IgxHierarchicalGridExportComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxColumnComponent, IgxColumnGroupComponent, IgxRowIslandComponent]
})
export class IgxHierarchicalGridMultiColumnHeadersExportComponent {
@ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent, static: true }) public hGrid: IgxHierarchicalGridComponent;
@@ -493,7 +559,9 @@ export class IgxHierarchicalGridMultiColumnHeadersExportComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxColumnComponent, IgxColumnGroupComponent, IgxRowIslandComponent]
})
export class IgxHierarchicalGridMultiColumnHeaderIslandsExportComponent {
@ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent, static: true }) public hGrid: IgxHierarchicalGridComponent;
@@ -502,28 +570,30 @@ export class IgxHierarchicalGridMultiColumnHeaderIslandsExportComponent {
@Component({
template: `
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
- `
+ `,
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxColumnComponent, IgxRowIslandComponent]
})
export class IgxHierarchicalGridSummariesExportComponent {
@ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent, static: true }) public hGrid: IgxHierarchicalGridComponent;
diff --git a/projects/igniteui-angular/src/lib/test-utils/list-components.spec.ts b/projects/igniteui-angular/src/lib/test-utils/list-components.spec.ts
index 1c816139ac2..c58e5b7a4eb 100644
--- a/projects/igniteui-angular/src/lib/test-utils/list-components.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/list-components.spec.ts
@@ -1,6 +1,7 @@
import { Component, ViewChild } from '@angular/core';
-import { IgxListComponent } from '../list/public_api';
+import { IgxDataLoadingTemplateDirective, IgxEmptyListTemplateDirective, IgxListActionDirective, IgxListComponent, IgxListItemComponent, IgxListItemLeftPanningTemplateDirective, IgxListItemRightPanningTemplateDirective, IgxListLineDirective, IgxListLineSubTitleDirective, IgxListLineTitleDirective, IgxListThumbnailDirective } from '../list/public_api';
import { IgxForOfDirective } from '../directives/for-of/for_of.directive';
+import { IgxIconComponent } from '../icon/icon.component';
@Component({
template: `
@@ -15,7 +16,18 @@ import { IgxForOfDirective } from '../directives/for-of/for_of.directive';
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxListComponent,
+ IgxListItemComponent,
+ IgxIconComponent,
+ IgxListThumbnailDirective,
+ IgxListLineDirective,
+ IgxListLineTitleDirective,
+ IgxListLineSubTitleDirective,
+ IgxListActionDirective
+ ]
})
export class ListDirectivesComponent {
@@ -23,13 +35,15 @@ export class ListDirectivesComponent {
@Component({
template: `
-
-
- Item 1
- Item 2
- Item 3
-
-
`
+
+
+ Item 1
+ Item 2
+ Item 3
+
+
`,
+ standalone: true,
+ imports: [IgxListComponent, IgxListItemComponent]
})
export class BasicListComponent {
@ViewChild(IgxListComponent, { static: true }) public list: IgxListComponent;
@@ -38,27 +52,32 @@ export class BasicListComponent {
@Component({
template: `
-
-
- Header
- Item 1
- Item 2
- Item 3
-
-
`
+
+
+ Header
+ Item 1
+ Item 2
+ Item 3
+
+
`,
+ standalone: true,
+ imports: [IgxListComponent, IgxListItemComponent]
})
export class ListWithHeaderComponent extends BasicListComponent {
}
@Component({
template: `
-
-
- Item 1
- Item 2
- Item 3
-
-
`
+
+
+ Item 1
+ Item 2
+ Item 3
+
+
`,
+ standalone: true,
+ imports: [IgxListComponent, IgxListItemComponent]
+
})
export class ListWithPanningComponent extends BasicListComponent {
public allowRightPanning = true;
@@ -67,33 +86,39 @@ export class ListWithPanningComponent extends BasicListComponent {
@Component({
template: `
-
-
-
-
`
+
+
+
+
`,
+ standalone: true,
+ imports: [IgxListComponent]
})
export class EmptyListComponent extends BasicListComponent {
}
@Component({
template: `
-
-
-
- Custom no items message.
-
-
-
`
+
+
+
+ Custom no items message.
+
+
+
`,
+ standalone: true,
+ imports: [IgxListComponent, IgxEmptyListTemplateDirective]
})
export class CustomEmptyListComponent extends BasicListComponent {
}
@Component({
template: `
-
-
-
-
`
+
+
+
+
`,
+ standalone: true,
+ imports: [IgxListComponent]
})
export class ListLoadingComponent extends BasicListComponent {
public isLoading = true;
@@ -101,84 +126,94 @@ export class ListLoadingComponent extends BasicListComponent {
@Component({
template: `
-
-
-
- Loading data...
-
-
-
`
+
+
+
+ Loading data...
+
+
+
`,
+ standalone: true,
+ imports: [IgxListComponent, IgxDataLoadingTemplateDirective]
})
export class ListCustomLoadingComponent extends ListLoadingComponent {
}
@Component({
template: `
-
-
- Header 1
- Item 1
- Header 2
- Item 2
- Item 3
-
-
`
+
+
+ Header 1
+ Item 1
+ Header 2
+ Item 2
+ Item 3
+
+
`,
+ standalone: true,
+ imports: [IgxListComponent, IgxListItemComponent]
})
export class TwoHeadersListComponent extends ListWithPanningComponent {
}
@Component({
template: `
-
-
- Header 1
- Item 1
- Header 2
- Item 2
- Item 3
-
-
`
+
+
+ Header 1
+ Item 1
+ Header 2
+ Item 2
+ Item 3
+
+
`,
+ standalone: true,
+ imports: [IgxListComponent, IgxListItemComponent]
})
export class TwoHeadersListNoPanningComponent extends ListWithHeaderComponent {
}
@Component({
template: `
-
-
-
- Left
-
-
- Right
-
- Header
- Item 1
- Item 2
- Item 3
-
-
`
+
+
+
+ Left
+
+
+ Right
+
+ Header
+ Item 1
+ Item 2
+ Item 3
+
+
`,
+ standalone: true,
+ imports: [IgxListComponent, IgxListItemComponent, IgxListItemLeftPanningTemplateDirective, IgxListItemRightPanningTemplateDirective]
})
export class ListWithPanningTemplatesComponent extends ListWithPanningComponent {
}
@Component({
template: `
-
-
-
-
- {{ item.key }}
- {{ item.name }}
-
-
-
- `,
+
+
+
+
+ {{ item.key }}
+ {{ item.name }}
+
+
+
+ `,
styles: [`.item-container {
display: flex;
- }`]
+ }`],
+ standalone: true,
+ imports: [IgxListComponent, IgxListItemComponent, IgxForOfDirective]
})
export class ListWithIgxForAndScrollingComponent {
@ViewChild('forOfList', {read: IgxListComponent, static: true })
diff --git a/projects/igniteui-angular/src/lib/test-utils/pivot-grid-samples.spec.ts b/projects/igniteui-angular/src/lib/test-utils/pivot-grid-samples.spec.ts
index 3574450d168..89ead5aa54d 100644
--- a/projects/igniteui-angular/src/lib/test-utils/pivot-grid-samples.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/pivot-grid-samples.spec.ts
@@ -9,7 +9,7 @@ import { IgxGridStateDirective } from '../grids/state.directive';
template: `
+ [rowSelection]="'single'" [columnSelection]="'single'" [defaultExpandState]="defaultExpand">
{{value.member}}
- `
+ `,
+ standalone: true,
+ imports: [IgxPivotGridComponent, IgxPivotDataSelectorComponent]
})
export class IgxPivotGridTestBaseComponent {
public defaultExpand = true;
@@ -128,7 +130,9 @@ export class IgxPivotGridTestBaseComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxPivotGridComponent]
})
export class IgxPivotGridTestComplexHierarchyComponent extends IgxPivotGridTestBaseComponent {
@ViewChild('grid', { read: IgxPivotGridComponent, static: true }) public override pivotGrid: IgxPivotGridComponent;
@@ -222,7 +226,9 @@ export class IgxPivotGridTestComplexHierarchyComponent extends IgxPivotGridTestB
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxPivotGridComponent, IgxGridStateDirective]
})
export class IgxPivotGridPersistanceComponent {
@ViewChild(IgxGridStateDirective, { static: true }) public state: IgxGridStateDirective;
@@ -290,7 +296,9 @@ export class IgxPivotGridPersistanceComponent {
@Component({
template: `
- `
+ `,
+ standalone: true,
+ imports: [IgxPivotGridComponent]
})
export class IgxPivotGridMultipleRowComponent extends IgxPivotGridTestBaseComponent {
@ViewChild('grid', { read: IgxPivotGridComponent, static: true }) public override pivotGrid: IgxPivotGridComponent;
diff --git a/projects/igniteui-angular/src/lib/test-utils/routing-test-guard.spec.ts b/projects/igniteui-angular/src/lib/test-utils/routing-test-guard.spec.ts
index ed441b269c2..f960b3a2d4e 100644
--- a/projects/igniteui-angular/src/lib/test-utils/routing-test-guard.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/routing-test-guard.spec.ts
@@ -1,11 +1,11 @@
import { Injectable } from '@angular/core';
-import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';
+import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
@Injectable()
-export class RoutingTestGuard implements CanActivate {
+export class RoutingTestGuard {
public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
- if (state.url === '/view5') {
- return false;
+ if (state.url === '/view5') {
+ return false;
} else {
return true;
}
diff --git a/projects/igniteui-angular/src/lib/test-utils/routing-view-components.spec.ts b/projects/igniteui-angular/src/lib/test-utils/routing-view-components.spec.ts
index 1e8b982373a..d18625c9e7d 100644
--- a/projects/igniteui-angular/src/lib/test-utils/routing-view-components.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/routing-view-components.spec.ts
@@ -1,43 +1,37 @@
-import { Component, NgModule } from '@angular/core';
+import { Component } from '@angular/core';
@Component({
- template: `This is a content from view component # 1`
+ template: `This is a content from view component # 1`,
+ standalone: true
})
export class RoutingView1Component {
}
@Component({
- template: `This is a content from view component # 2`
+ template: `This is a content from view component # 2`,
+ standalone: true
})
export class RoutingView2Component {
}
@Component({
- template: `This is a content from view component # 3`
+ template: `This is a content from view component # 3`,
+ standalone: true
})
export class RoutingView3Component {
}
@Component({
- template: `This is a content from view component # 4`
+ template: `This is a content from view component # 4`,
+ standalone: true
})
export class RoutingView4Component {
}
@Component({
- template: `This is a content from view component # 5`
+ template: `This is a content from view component # 5`,
+ standalone: true
})
export class RoutingView5Component {
}
-/**
- * @hidden
- */
-@NgModule({
- declarations: [RoutingView1Component, RoutingView2Component, RoutingView3Component,
- RoutingView4Component, RoutingView5Component],
- exports: [RoutingView1Component, RoutingView2Component, RoutingView3Component,
- RoutingView4Component, RoutingView5Component]
-})
-export class RoutingViewComponentsModule {
-}
diff --git a/projects/igniteui-angular/src/lib/test-utils/tabs-components.spec.ts b/projects/igniteui-angular/src/lib/test-utils/tabs-components.spec.ts
index 1d0345b7dba..a18b36e7c5a 100644
--- a/projects/igniteui-angular/src/lib/test-utils/tabs-components.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/tabs-components.spec.ts
@@ -1,38 +1,48 @@
+import { NgFor } from '@angular/common';
import { Component, QueryList, ViewChild, ViewChildren } from '@angular/core';
-import { IgxTabItemComponent, IgxTabsComponent } from '../tabs/tabs/public_api';
+import { RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+import { IgxToggleActionDirective } from '../directives/toggle/toggle.directive';
+import { IgxDropDownComponent } from '../drop-down/drop-down.component';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxPrefixDirective, IgxSuffixDirective } from '../input-group/public_api';
+import { IgxTabContentComponent, IgxTabHeaderComponent, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, IgxTabItemComponent, IgxTabsComponent } from '../tabs/tabs/public_api';
import { SampleTestData } from './sample-test-data.spec';
@Component({
template: `
-
-
-
- Tab 1
-
-
- Content 1
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius sapien ligula.
-
-
-
-
- Tab 2
-
-
- Content 2
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius sapien ligula.
-
-
-
-
- Tab 3
-
-
- Content 3
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius sapien ligula.
-
-
- `
+
+
+
+ Tab 1
+
+
+ Content 1
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius sapien ligula.
+
+
+
+
+ Tab 2
+
+
+ Content 2
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius sapien ligula.
+
+
+
+
+ Tab 3
+
+
+ Content 3
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius sapien ligula.
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent]
})
export class BasicTabsComponent {
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
@@ -41,43 +51,46 @@ export class BasicTabsComponent {
@Component({
template: `
-
-
-
-
- library_music
- Tab 1
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-
-
-
- video_library
- Tab 2
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-
-
-
- library_books
- Tab 3
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit.
- Vivamus vitae malesuada odio. Praesent ante lectus, porta a eleifend vel, sodales eu nisl.
- Vivamus sit amet purus eu lectus cursus rhoncus quis non ex.
- Cras ac nulla sed arcu finibus volutpat.
- Vivamus risus ipsum, pharetra a augue nec, euismod fringilla odio.
- Integer id velit rutrum, accumsan ante a, semper nunc.
- Phasellus ultrices tincidunt imperdiet. Nullam vulputate mauris diam.
- Nullam elementum, libero vel varius fermentum, lorem ex bibendum nulla,
- pretium lacinia erat nibh vel massa.
- In hendrerit, sapien ac mollis iaculis, dolor tellus malesuada sem,
- a accumsan lectus nisl facilisis leo.
- Curabitur consequat sit amet nulla at consequat. Duis volutpat tristique luctus.
-
-
-
-
`
+
+
+
+
+ library_music
+ Tab 1
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+
+
+
+ video_library
+ Tab 2
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+
+
+
+ library_books
+ Tab 3
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+ Vivamus vitae malesuada odio. Praesent ante lectus, porta a eleifend vel, sodales eu nisl.
+ Vivamus sit amet purus eu lectus cursus rhoncus quis non ex.
+ Cras ac nulla sed arcu finibus volutpat.
+ Vivamus risus ipsum, pharetra a augue nec, euismod fringilla odio.
+ Integer id velit rutrum, accumsan ante a, semper nunc.
+ Phasellus ultrices tincidunt imperdiet. Nullam vulputate mauris diam.
+ Nullam elementum, libero vel varius fermentum, lorem ex bibendum nulla,
+ pretium lacinia erat nibh vel massa.
+ In hendrerit, sapien ac mollis iaculis, dolor tellus malesuada sem,
+ a accumsan lectus nisl facilisis leo.
+ Curabitur consequat sit amet nulla at consequat. Duis volutpat tristique luctus.
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxIconComponent, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective]
})
export class TabsTestComponent {
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
@@ -86,14 +99,17 @@ export class TabsTestComponent {
@Component({
template: `
-
-
-
- {{ tab.name }}
-
-
-
-
`
+
+
+
+ {{ tab.name }}
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective, NgFor]
})
export class TabsTest2Component {
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
@@ -141,7 +157,7 @@ export class TabsTest2Component {
@Component({
template: `
-
+
@@ -151,7 +167,7 @@ export class TabsTest2Component {
Tab 1 Content
-
+
T2
@@ -171,7 +187,10 @@ export class TabsTest2Component {
-
`
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective]
})
export class TemplatedTabsTestComponent {
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
@@ -180,13 +199,16 @@ export class TemplatedTabsTestComponent {
@Component({
template: `
-
-
-
- {{ tab.name }}
-
-
-
`
+
+
+
+ {{ tab.name }}
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabHeaderLabelDirective, NgFor]
})
export class TabsTestSelectedTabComponent {
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
@@ -205,39 +227,45 @@ export class TabsTestSelectedTabComponent {
@Component({
template: `
-
-
- Tab1
- Content 1
-
-
- Tab2
- Content 2
-
- `
+
+
+ Tab1
+ Content 1
+
+
+ Tab2
+ Content 2
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective]
})
export class TabsTestCustomStylesComponent {
}
@Component({
template: `
-
- Click
-
-
-
-
-
- tab2
- Tab content 1
-
-
- tab2
- Tab content 2
-
-
-
- `
+
+ Click
+
+
+
+
+
+ tab2
+ Tab content 1
+
+
+ tab2
+ Tab content 2
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective, IgxDropDownComponent, IgxToggleActionDirective, IgxButtonDirective]
})
export class TabsTestBug4420Component {
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
@@ -245,23 +273,25 @@ export class TabsTestBug4420Component {
@Component({
template: `
-
-
-
- Tab 1
-
-
- Tab 2
-
-
- Tab 3
-
-
-
-
-
+
+
+
+ Tab 1
+
+
+ Tab 2
+
+
+ Tab 3
+
+
+
+
- `
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabHeaderLabelDirective, RouterLinkActive, RouterLink, RouterOutlet]
})
export class TabsRoutingTestComponent {
@ViewChild(IgxTabsComponent, { static: true })
@@ -270,32 +300,34 @@ export class TabsRoutingTestComponent {
@Component({
template: `
-
-
-
- Tab 1
-
-
- Tab 2
-
-
- Tab 3
-
-
- Tab 4
-
-
- Tab 5
-
-
-
-
-
+
+
+
+ Tab 1
+
+
+ Tab 2
+
+
+ Tab 3
+
+
+ Tab 4
+
+
+ Tab 5
+
+
+
+
- `
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabHeaderLabelDirective, RouterLink, RouterLinkActive, RouterOutlet]
})
export class TabsRoutingDisabledTestComponent {
@ViewChild(IgxTabsComponent, { static: true })
@@ -304,20 +336,22 @@ export class TabsRoutingDisabledTestComponent {
@Component({
template: `
-
-
-
- Tab 1
-
-
- Tab X
-
-
-
-
-
+
+
+
+ Tab 1
+
+
+ Tab X
+
+
+
+
- `
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabHeaderLabelDirective, RouterLinkActive, RouterLink, RouterOutlet]
})
export class TabsRoutingGuardTestComponent {
@ViewChild(IgxTabsComponent, { static: true })
@@ -326,20 +360,22 @@ export class TabsRoutingGuardTestComponent {
@Component({
template: `
-
-
-
- Tab 1
-
-
- Tab 2
-
-
- Tab 3
-
-
-
- `
+
+
+
+ Tab 1
+
+
+ Tab 2
+
+
+ Tab 3
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabHeaderLabelDirective]
})
export class TabsTabsOnlyModeTest1Component {
@ViewChild(IgxTabsComponent, { static: true })
@@ -348,20 +384,22 @@ export class TabsTabsOnlyModeTest1Component {
@Component({
template: `
-
-
-
- Tab 1
-
-
- Tab 2
-
-
- Tab 3
-
-
-
- `
+
+
+
+ Tab 1
+
+
+ Tab 2
+
+
+ Tab 3
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabHeaderLabelDirective]
})
export class TabsTabsOnlyModeTest2Component {
@ViewChild(IgxTabsComponent, { static: true })
@@ -370,31 +408,33 @@ export class TabsTabsOnlyModeTest2Component {
@Component({
template: `
-
-
-
- Tab 1
-
-
-
- Tab 2
-
-
-
- Tab 3
-
-
-
- Tab 4
-
-
-
- Tab 5
-
-
-
-
- `
+
+
+
+ Tab 1
+
+
+
+ Tab 2
+
+
+
+ Tab 3
+
+
+
+ Tab 4
+
+
+
+ Tab 5
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective]
})
export class TabsDisabledTestComponent {
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
@@ -402,38 +442,41 @@ export class TabsDisabledTestComponent {
@Component({
template: `
-
-
-
- Tab 1
- Content 1
-
-
- Tab 2
- Content 2
-
-
- Tab 3
- Content 3
-
-
-
-
-
-
- Tab 4
- Content 4
-
-
- Tab 5
- Content 5
-
-
- Tab 6
- Content 6
-
-
-
`
+
+
+
+ Tab 1
+ Content 1
+
+
+ Tab 2
+ Content 2
+
+
+ Tab 3
+ Content 3
+
+
+
+
+
+
+ Tab 4
+ Content 4
+
+
+ Tab 5
+ Content 5
+
+
+ Tab 6
+ Content 6
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective]
})
export class TabsTestHtmlAttributesComponent {
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
@@ -441,47 +484,50 @@ export class TabsTestHtmlAttributesComponent {
@Component({
template: `
-
-
-
-
- Test:
- library_music
- Tab 1
- close
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-
-
-
- Test:
- video_library
- Tab 2
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-
-
-
- library_books
- Tab 3
- close
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit.
- Vivamus vitae malesuada odio. Praesent ante lectus, porta a eleifend vel, sodales eu nisl.
- Vivamus sit amet purus eu lectus cursus rhoncus quis non ex.
- Cras ac nulla sed arcu finibus volutpat.
- Vivamus risus ipsum, pharetra a augue nec, euismod fringilla odio.
- Integer id velit rutrum, accumsan ante a, semper nunc.
- Phasellus ultrices tincidunt imperdiet. Nullam vulputate mauris diam.
- Nullam elementum, libero vel varius fermentum, lorem ex bibendum nulla,
- pretium lacinia erat nibh vel massa.
- In hendrerit, sapien ac mollis iaculis, dolor tellus malesuada sem,
- a accumsan lectus nisl facilisis leo.
- Curabitur consequat sit amet nulla at consequat. Duis volutpat tristique luctus.
-
-
-
-
`
+
+
+
+
+ Test:
+ library_music
+ Tab 1
+ close
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+
+
+
+ Test:
+ video_library
+ Tab 2
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+
+
+
+ library_books
+ Tab 3
+ close
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+ Vivamus vitae malesuada odio. Praesent ante lectus, porta a eleifend vel, sodales eu nisl.
+ Vivamus sit amet purus eu lectus cursus rhoncus quis non ex.
+ Cras ac nulla sed arcu finibus volutpat.
+ Vivamus risus ipsum, pharetra a augue nec, euismod fringilla odio.
+ Integer id velit rutrum, accumsan ante a, semper nunc.
+ Phasellus ultrices tincidunt imperdiet. Nullam vulputate mauris diam.
+ Nullam elementum, libero vel varius fermentum, lorem ex bibendum nulla,
+ pretium lacinia erat nibh vel massa.
+ In hendrerit, sapien ac mollis iaculis, dolor tellus malesuada sem,
+ a accumsan lectus nisl facilisis leo.
+ Curabitur consequat sit amet nulla at consequat. Duis volutpat tristique luctus.
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective, IgxIconComponent, IgxTabHeaderIconDirective, IgxPrefixDirective, IgxSuffixDirective]
})
export class TabsWithPrefixSuffixTestComponent extends TabsTestComponent {
}
@@ -489,16 +535,19 @@ export class TabsWithPrefixSuffixTestComponent extends TabsTestComponent {
@Component({
template: `
-
-
-
- {{contact.Name}}
-
-
-
-
-
-
`
+
+
+
+ {{contact.Name}}
+
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective, NgFor]
})
export class TabsContactsComponent extends TabsTestComponent {
public contacts = SampleTestData.personAvatarData();
@@ -507,13 +556,16 @@ export class TabsContactsComponent extends TabsTestComponent {
@Component({
template: `
-
-
- {{ tab.name }}
-
-
-
-
`
+
+
+ {{ tab.name }}
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective, NgFor]
})
export class AddingSelectedTabComponent {
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
@@ -534,13 +586,16 @@ export class AddingSelectedTabComponent {
@Component({
template: `
-
-
- {{ tab.name }}
-
-
-
-
`
+
+
+ {{ tab.name }}
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective, NgFor]
})
export class TabsRtlComponent {
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
diff --git a/projects/igniteui-angular/src/lib/test-utils/tooltip-components.spec.ts b/projects/igniteui-angular/src/lib/test-utils/tooltip-components.spec.ts
index 2b0d21296a9..244ec9a0e03 100644
--- a/projects/igniteui-angular/src/lib/test-utils/tooltip-components.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/tooltip-components.spec.ts
@@ -1,21 +1,21 @@
import { Component, ViewChild } from '@angular/core';
-import {
- IgxTooltipTargetDirective, IgxTooltipDirective,
- ITooltipShowEventArgs, ITooltipHideEventArgs
-} from '../directives/tooltip';
+import { IgxTooltipDirective } from '../directives/tooltip/tooltip.directive';
+import { ITooltipHideEventArgs, ITooltipShowEventArgs, IgxTooltipTargetDirective } from '../directives/tooltip/tooltip-target.directive';
@Component({
template: `
- dummy div for touch tests
-
- Hover me
-
-
- Hello, I am a tooltip!
-
- `
+ dummy div for touch tests
+
+ Hover me
+
+
+ Hello, I am a tooltip!
+
+ `,
+ standalone: true,
+ imports: [IgxTooltipDirective, IgxTooltipTargetDirective]
})
export class IgxTooltipSingleTargetComponent {
@ViewChild(IgxTooltipDirective, { static: true }) public tooltip: IgxTooltipDirective;
@@ -38,18 +38,20 @@ export class IgxTooltipSingleTargetComponent {
@Component({
template: `
-
- Target One
-
+
+ Target One
+
-
- Target Two
-
+
+ Target Two
+
-
- Hello, I am a tooltip!
-
- `
+
+ Hello, I am a tooltip!
+
+ `,
+ standalone: true,
+ imports: [IgxTooltipDirective, IgxTooltipTargetDirective]
})
export class IgxTooltipMultipleTargetsComponent {
@ViewChild('targetOne', { read: IgxTooltipTargetDirective, static: true }) public targetOne: IgxTooltipDirective;
@@ -60,10 +62,12 @@ export class IgxTooltipMultipleTargetsComponent {
@Component({
template: `
-
- info
-
- `
+
+ info
+
+ `,
+ standalone: true,
+ imports: [IgxTooltipTargetDirective]
})
export class IgxTooltipPlainStringComponent {
@ViewChild(IgxTooltipTargetDirective, { static: true }) public tooltipTarget: IgxTooltipTargetDirective;
diff --git a/projects/igniteui-angular/src/lib/test-utils/tree-grid-components.spec.ts b/projects/igniteui-angular/src/lib/test-utils/tree-grid-components.spec.ts
index 6136f3b48da..b37c0fafc92 100644
--- a/projects/igniteui-angular/src/lib/test-utils/tree-grid-components.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/tree-grid-components.spec.ts
@@ -1,12 +1,22 @@
import { Component, ViewChild, OnInit } from '@angular/core';
+import { NgIf } from '@angular/common';
import { IgxTreeGridComponent } from '../grids/tree-grid/tree-grid.component';
import { SampleTestData } from './sample-test-data.spec';
-import { IgxSummaryOperand, IgxNumberSummaryOperand, IgxSummaryResult, IPinningConfig } from '../grids/public_api';
-import { DisplayDensity } from '../core/displayDensity';
-import { IgxActionStripComponent } from '../action-strip/action-strip.component';
-import { DefaultSortingStrategy, RowPinningPosition } from 'igniteui-angular';
+import { IgxSummaryOperand, IgxNumberSummaryOperand, IgxSummaryResult, IPinningConfig, IgxColumnComponent } from '../grids/public_api';
+import { DisplayDensity } from '../core/density';
+import { IgxActionStripComponent, IgxGridEditingActionsComponent, IgxGridPinningActionsComponent } from '../action-strip/public_api';
import { IGroupingExpression } from '../data-operations/grouping-expression.interface';
import { IgxTreeGridGroupByAreaComponent } from '../grids/grouping/tree-grid-group-by-area.component';
+import { IgxPaginatorComponent } from '../paginator/paginator.component';
+import { IgxHeadSelectorDirective, IgxRowSelectorDirective } from '../grids/selection/row-selectors';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleFilterOperationsTemplateDirective, IgxExcelStyleSearchComponent, IgxExcelStyleSortingComponent, IgxGridExcelStyleFilteringComponent } from '../grids/filtering/excel-style/public_api';
+import { IgxColumnGroupComponent } from '../grids/columns/column-group.component';
+import { GridSummaryCalculationMode, RowPinningPosition } from '../grids/common/enums';
+import { IgxCheckboxComponent } from '../checkbox/checkbox.component';
+import { IgxExcelStyleHeaderIconDirective, IgxRowCollapsedIndicatorDirective, IgxRowExpandedIndicatorDirective } from '../grids/grid/public_api';
+import { DefaultSortingStrategy } from '../data-operations/sorting-strategy';
+import { IgxTreeGridGroupingPipe } from '../grids/tree-grid/tree-grid.grouping.pipe';
@Component({
template: `
@@ -16,7 +26,9 @@ import { IgxTreeGridGroupByAreaComponent } from '../grids/grouping/tree-grid-gro
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridSortingComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -25,13 +37,15 @@ export class IgxTreeGridSortingComponent {
@Component({
template: `
-
+
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridFilteringComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -40,7 +54,7 @@ export class IgxTreeGridFilteringComponent {
@Component({
template: `
-
+
@@ -59,7 +73,19 @@ export class IgxTreeGridFilteringComponent {
- `
+ `,
+ standalone: true,
+ imports: [
+ IgxTreeGridComponent,
+ IgxColumnComponent,
+ IgxIconComponent,
+ IgxGridExcelStyleFilteringComponent,
+ IgxExcelStyleColumnOperationsTemplateDirective,
+ IgxExcelStyleSortingComponent,
+ IgxExcelStyleFilterOperationsTemplateDirective,
+ IgxExcelStyleSearchComponent,
+ IgxExcelStyleHeaderIconDirective
+ ]
})
export class IgxTreeGridFilteringESFTemplatesComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -76,7 +102,9 @@ export class IgxTreeGridFilteringESFTemplatesComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class IgxTreeGridSimpleComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -95,7 +123,9 @@ export class IgxTreeGridSimpleComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridWithScrollsComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -111,7 +141,9 @@ export class IgxTreeGridWithScrollsComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridWithNoScrollsComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -128,7 +160,9 @@ export class IgxTreeGridWithNoScrollsComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class IgxTreeGridPrimaryForeignKeyComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -138,14 +172,16 @@ export class IgxTreeGridPrimaryForeignKeyComponent {
@Component({
template: `
-
+
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxPaginatorComponent]
})
export class IgxTreeGridExpandingComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -154,7 +190,7 @@ export class IgxTreeGridExpandingComponent {
@Component({
template: `
-
@@ -162,7 +198,9 @@ export class IgxTreeGridExpandingComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxPaginatorComponent]
})
export class IgxTreeGridCellSelectionComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -171,7 +209,7 @@ export class IgxTreeGridCellSelectionComponent {
@Component({
template: `
-
@@ -179,7 +217,9 @@ export class IgxTreeGridCellSelectionComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxPaginatorComponent]
})
export class IgxTreeGridNoDataComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -194,7 +234,9 @@ export class IgxTreeGridNoDataComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridStringTreeColumnComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -210,7 +252,9 @@ export class IgxTreeGridStringTreeColumnComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridDateTreeColumnComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -227,30 +271,15 @@ export class IgxTreeGridDateTreeColumnComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridBooleanTreeColumnComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
public data = SampleTestData.employeeAllTypesTreeData();
}
-// Test Component for CRUD tests
-@Component({
- template: `
-
-
-
-
-
-
-
- `
-})
-export class IgxTreeGridCrudComponent {
- @ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
- public data = SampleTestData.employeeTreeData();
-}
-
// Test Component for tree-grid row editing
@Component({
template: `
@@ -260,7 +289,9 @@ export class IgxTreeGridCrudComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridRowEditingComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -270,13 +301,15 @@ export class IgxTreeGridRowEditingComponent {
// Test Component for tree-grid filtering and row editing
@Component({
template: `
-
-
-
-
-
-
- `
+
+
+
+
+
+
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridFilteringRowEditingComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -291,7 +324,9 @@ export class IgxTreeGridFilteringRowEditingComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridSelectionRowEditingComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -310,7 +345,9 @@ export class IgxTreeGridSelectionRowEditingComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxColumnGroupComponent]
})
export class IgxTreeGridMultiColHeadersComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -320,14 +357,16 @@ export class IgxTreeGridMultiColHeadersComponent {
@Component({
template: `
-
+
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridSummariesComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -338,7 +377,7 @@ export class IgxTreeGridSummariesComponent {
@Component({
template: `
-
@@ -347,7 +386,9 @@ export class IgxTreeGridSummariesComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridSummariesKeyScroliingComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -364,7 +405,9 @@ export class IgxTreeGridSummariesKeyScroliingComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridWithNoForeignKeyComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -373,7 +416,7 @@ export class IgxTreeGridWithNoForeignKeyComponent {
@Component({
template: `
-
@@ -382,12 +425,14 @@ export class IgxTreeGridWithNoForeignKeyComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class IgxTreeGridSummariesKeyComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
public data = SampleTestData.employeeTreeDataPrimaryForeignKey();
- public calculationMode = 'rootAndChildLevels';
+ public calculationMode: GridSummaryCalculationMode = 'rootAndChildLevels';
public ageSummary = AgeSummary;
public ageSummaryTest = AgeSummaryTest;
public paging = false;
@@ -395,7 +440,7 @@ export class IgxTreeGridSummariesKeyComponent {
@Component({
template: `
-
@@ -404,12 +449,14 @@ export class IgxTreeGridSummariesKeyComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridSummariesTransactionsComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
public data = SampleTestData.employeeTreeDataPrimaryForeignKey();
- public calculationMode = 'rootAndChildLevels';
+ public calculationMode: GridSummaryCalculationMode = 'rootAndChildLevels';
public ageSummary = AgeSummaryMinMax;
public ageSummaryTest = AgeSummaryTest;
}
@@ -498,7 +545,9 @@ class PTOSummary extends IgxSummaryOperand {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridRowEditingTransactionComponent {
@ViewChild('treeGrid', { read: IgxTreeGridComponent, static: true }) public treeGrid: IgxTreeGridComponent;
@@ -508,14 +557,16 @@ export class IgxTreeGridRowEditingTransactionComponent {
@Component({
template: `
-
+
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridCustomSummariesComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -526,14 +577,17 @@ export class IgxTreeGridCustomSummariesComponent {
}
@Component({
- template: `
+ template: `
+
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridRowEditingHierarchicalDSTransactionComponent {
@ViewChild('treeGrid', { read: IgxTreeGridComponent, static: true }) public treeGrid: IgxTreeGridComponent;
@@ -542,15 +596,18 @@ export class IgxTreeGridRowEditingHierarchicalDSTransactionComponent {
}
@Component({
- template: `
+ template: `
+
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class IgxTreeGridRowPinningComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -559,16 +616,18 @@ export class IgxTreeGridRowPinningComponent {
}
@Component({
- template:
- `
-
-
-
-
-
+ template: `
+
+
+
+
+
+
-
`
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridWrappedInContComponent {
@@ -622,7 +681,9 @@ export class IgxTreeGridWrappedInContComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxPaginatorComponent, NgIf]
})
export class IgxTreeGridSummariesScrollingComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -639,7 +700,9 @@ export class IgxTreeGridSummariesScrollingComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridSearchComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -657,7 +720,9 @@ export class IgxTreeGridSearchComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridLoadOnDemandComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -681,7 +746,9 @@ export class IgxTreeGridLoadOnDemandComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridSelectionKeyComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -699,7 +766,9 @@ export class IgxTreeGridSelectionKeyComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridLoadOnDemandChildDataComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -724,7 +793,9 @@ export class IgxTreeGridLoadOnDemandChildDataComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridSelectionComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -742,7 +813,9 @@ export class IgxTreeGridSelectionComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridLoadOnDemandHasChildrenComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -780,7 +853,9 @@ export class IgxTreeGridLoadOnDemandHasChildrenComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridSelectionWithTransactionComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -790,14 +865,16 @@ export class IgxTreeGridSelectionWithTransactionComponent {
@Component({
template: `
+ [data]="data" primaryKey="ID" foreignKey="ParentID" width="500px" height="600px"columnWidth="150px" >
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridFKeySelectionWithTransactionComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -813,7 +890,9 @@ export class IgxTreeGridFKeySelectionWithTransactionComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent]
})
export class IgxTreeGridDefaultLoadingComponent implements OnInit {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -849,7 +928,9 @@ export class IgxTreeGridDefaultLoadingComponent implements OnInit {
(click)="onHeaderCheckboxClick($event, headContext)">
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxCheckboxComponent, IgxPaginatorComponent, IgxHeadSelectorDirective, IgxRowSelectorDirective]
})
export class IgxTreeGridCustomRowSelectorsComponent implements OnInit {
@ViewChild(IgxTreeGridComponent, { static: true })
@@ -899,7 +980,9 @@ export class IgxTreeGridCustomRowSelectorsComponent implements OnInit {
COLLAPSED
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxRowExpandedIndicatorDirective, IgxRowCollapsedIndicatorDirective]
})
export class IgxTreeGridCustomExpandersTemplateComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -915,10 +998,12 @@ export class IgxTreeGridCustomExpandersTemplateComponent {
-
-
+
+
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridEditingActionsComponent]
})
export class IgxTreeGridEditActionsComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -939,7 +1024,9 @@ export class IgxTreeGridEditActionsComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridEditingActionsComponent]
})
export class IgxTreeGridCascadingSelectionComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -950,17 +1037,19 @@ export class IgxTreeGridCascadingSelectionComponent {
@Component({
template: `
-
+ [data]="data" childDataKey="Employees" [rowSelection]="'multipleCascade'"
+ width="800px" height="600px" columnWidth="150px" primaryKey="ID">
+
-
-
+
+
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridEditingActionsComponent]
})
export class IgxTreeGridCascadingSelectionTransactionComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -972,7 +1061,7 @@ export class IgxTreeGridCascadingSelectionTransactionComponent {
@Component({
template: `
+ [childDataKey]="childDataKey" [expansionDepth]="0" width="900px" height="1000px">
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxTreeGridGroupByAreaComponent, IgxTreeGridGroupingPipe]
})
export class IgxTreeGridGroupingComponent {
@ViewChild(IgxTreeGridGroupByAreaComponent, { static: true }) public groupByArea: IgxTreeGridGroupByAreaComponent;
@@ -1011,7 +1102,9 @@ export class IgxTreeGridGroupingComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxTreeGridGroupByAreaComponent]
})
export class IgxTreeGridGroupByAreaTestComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -1021,7 +1114,7 @@ export class IgxTreeGridGroupByAreaTestComponent {
@Component({
template: `
+ [rowSelection]="'multipleCascade'" [rowEditable]="true" width="900px" height="600px">
@@ -1030,7 +1123,9 @@ export class IgxTreeGridGroupByAreaTestComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridEditingActionsComponent]
})
export class IgxTreeGridPrimaryForeignKeyCascadeSelectionComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
@@ -1048,11 +1143,13 @@ export class IgxTreeGridPrimaryForeignKeyCascadeSelectionComponent {
-
-
-
+
+
+
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeGridComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridPinningActionsComponent, IgxGridEditingActionsComponent]
})
export class IgxTreeGridEditActionsPinningComponent {
@ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent;
diff --git a/projects/igniteui-angular/src/lib/test-utils/tree-grid-functions.spec.ts b/projects/igniteui-angular/src/lib/test-utils/tree-grid-functions.spec.ts
index 0e092623da5..2f24db53759 100644
--- a/projects/igniteui-angular/src/lib/test-utils/tree-grid-functions.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/tree-grid-functions.spec.ts
@@ -402,7 +402,7 @@ export class TreeGridFunctions {
}
public static verifyTreeGridCellSelected(treeGrid: IgxTreeGridComponent,
- cell: IgxGridCellComponent | CellType, selected: boolean = true) {
+ cell: IgxGridCellComponent | CellType, selected = true) {
expect(cell).toBeDefined();
if (cell) {
expect(TreeGridFunctions.verifyGridCellHasSelectedClass(cell)).toBe(selected);
@@ -434,7 +434,7 @@ export class TreeGridFunctions {
}
}
- public static moveCellUpDown(fix, treeGrid: IgxTreeGridComponent, rowIndex: number, columnName: string, moveDown: boolean = true) {
+ public static moveCellUpDown(fix, treeGrid: IgxTreeGridComponent, rowIndex: number, columnName: string, moveDown = true) {
const cell = treeGrid.gridAPI.get_cell_by_index(rowIndex, columnName);
const newRowIndex = moveDown ? rowIndex + 1 : rowIndex - 1;
const keyboardEventKey = moveDown ? 'ArrowDown' : 'ArrowUp';
@@ -450,7 +450,7 @@ export class TreeGridFunctions {
}
public static moveCellLeftRight(fix, treeGrid: IgxTreeGridComponent, rowIndex: number,
- firstColumnName: string, nextColumnName: string, moveRight: boolean = true) {
+ firstColumnName: string, nextColumnName: string, moveRight = true) {
const cell = treeGrid.gridAPI.get_cell_by_index(rowIndex, firstColumnName);
const keyboardEventKey = moveRight ? 'ArrowRight' : 'ArrowLeft';
const gridContent = GridFunctions.getGridContent(fix);
diff --git a/projects/igniteui-angular/src/lib/test-utils/ui-interactions.spec.ts b/projects/igniteui-angular/src/lib/test-utils/ui-interactions.spec.ts
index 70083b667d4..0b24a16caaa 100644
--- a/projects/igniteui-angular/src/lib/test-utils/ui-interactions.spec.ts
+++ b/projects/igniteui-angular/src/lib/test-utils/ui-interactions.spec.ts
@@ -426,11 +426,11 @@ export class UIInteractions {
};
}
- public static hoverElement(element: HTMLElement, bubbles: boolean = false) {
+ public static hoverElement(element: HTMLElement, bubbles = false) {
element.dispatchEvent(new MouseEvent('mouseenter', { bubbles }));
}
- public static unhoverElement(element: HTMLElement, bubbles: boolean = false) {
+ public static unhoverElement(element: HTMLElement, bubbles = false) {
element.dispatchEvent(new MouseEvent('mouseleave', { bubbles }));
}
diff --git a/projects/igniteui-angular/src/lib/time-picker/public_api.ts b/projects/igniteui-angular/src/lib/time-picker/public_api.ts
new file mode 100644
index 00000000000..beab7f74080
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/time-picker/public_api.ts
@@ -0,0 +1,21 @@
+import { IgxPickerActionsDirective, IgxPickerClearComponent, IgxPickerToggleComponent } from '../date-common/picker-icons.common';
+import { IgxHintDirective } from '../directives/hint/hint.directive';
+import { IgxLabelDirective } from '../directives/label/label.directive';
+import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxTimePickerComponent } from './time-picker.component';
+
+export * from './time-picker.component';
+export * from './time-picker.directives';
+
+/* NOTE: Time picker directives collection for ease-of-use import in standalone components scenario */
+export const IGX_TIME_PICKER_DIRECTIVES = [
+ IgxTimePickerComponent,
+ IgxPickerActionsDirective,
+ IgxPickerToggleComponent,
+ IgxPickerClearComponent,
+ IgxLabelDirective,
+ IgxPrefixDirective,
+ IgxSuffixDirective,
+ IgxHintDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/time-picker/time-picker.common.ts b/projects/igniteui-angular/src/lib/time-picker/time-picker.common.ts
index f1b3dd40308..26dc9d68cc9 100644
--- a/projects/igniteui-angular/src/lib/time-picker/time-picker.common.ts
+++ b/projects/igniteui-angular/src/lib/time-picker/time-picker.common.ts
@@ -1,5 +1,6 @@
import { ElementRef } from '@angular/core';
import { DatePartDeltas } from '../directives/date-time-editor/public_api';
+
/** @hidden */
export const IGX_TIME_PICKER_COMPONENT = 'IgxTimePickerComponentToken';
diff --git a/projects/igniteui-angular/src/lib/time-picker/time-picker.component.spec.ts b/projects/igniteui-angular/src/lib/time-picker/time-picker.component.spec.ts
index 7699b23a4c0..940ad6ba140 100644
--- a/projects/igniteui-angular/src/lib/time-picker/time-picker.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/time-picker/time-picker.component.spec.ts
@@ -3,14 +3,13 @@ import { TestBed, fakeAsync, tick, ComponentFixture, waitForAsync } from '@angul
import { UntypedFormControl, UntypedFormGroup, FormsModule, NgForm, ReactiveFormsModule, Validators } from '@angular/forms';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import { IgxTimePickerComponent, IgxTimePickerModule, IgxTimePickerValidationFailedEventArgs } from './time-picker.component';
+import { IgxTimePickerComponent, IgxTimePickerValidationFailedEventArgs } from './time-picker.component';
import { UIInteractions } from '../test-utils/ui-interactions.spec';
import {
- IgxHintDirective, IgxInputGroupComponent, IgxInputGroupModule, IgxInputState, IgxLabelDirective, IgxPrefixDirective, IgxSuffixDirective
+ IgxHintDirective, IgxInputGroupComponent, IgxInputState, IgxLabelDirective, IgxPrefixDirective, IgxSuffixDirective
} from '../input-group/public_api';
import { configureTestSuite } from '../test-utils/configure-suite';
import { PickerInteractionMode } from '../date-common/types';
-import { IgxIconModule } from '../icon/public_api';
import { PlatformUtil } from '../core/utils';
import { DatePart, IgxDateTimeEditorDirective } from '../directives/date-time-editor/public_api';
import { DateTimeUtil } from '../date-common/util/date-time.util';
@@ -18,6 +17,7 @@ import { IgxItemListDirective, IgxTimeItemDirective } from './time-picker.direct
import { IgxPickerClearComponent, IgxPickerToggleComponent } from '../date-common/public_api';
import { Subscription } from 'rxjs';
import { HammerGesturesManager } from '../core/touch';
+import { NgIf } from '@angular/common';
const CSS_CLASS_TIMEPICKER = 'igx-time-picker';
const CSS_CLASS_INPUTGROUP = 'igx-input-group';
@@ -477,14 +477,11 @@ describe('IgxTimePicker', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ FormsModule,
+ NoopAnimationsModule,
IgxTimePickerTestComponent
],
- imports: [IgxTimePickerModule,
- IgxInputGroupModule,
- IgxIconModule,
- FormsModule,
- NoopAnimationsModule],
providers: [PlatformUtil]
}).compileComponents();
}));
@@ -1084,13 +1081,7 @@ describe('IgxTimePicker', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxTimePickerTestComponent
- ],
- imports: [IgxTimePickerModule,
- IgxInputGroupModule,
- IgxIconModule,
- NoopAnimationsModule]
+ imports: [NoopAnimationsModule, IgxTimePickerTestComponent]
}).compileComponents();
}));
beforeEach(fakeAsync(() => {
@@ -1449,13 +1440,7 @@ describe('IgxTimePicker', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxTimePickerTestComponent
- ],
- imports: [IgxTimePickerModule,
- IgxInputGroupModule,
- IgxIconModule,
- NoopAnimationsModule]
+ imports: [NoopAnimationsModule, IgxTimePickerTestComponent]
}).compileComponents();
}));
beforeEach(fakeAsync(() => {
@@ -1532,13 +1517,7 @@ describe('IgxTimePicker', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxTimePickerWithProjectionsComponent
- ],
- imports: [IgxTimePickerModule,
- IgxInputGroupModule,
- IgxIconModule,
- NoopAnimationsModule]
+ imports: [NoopAnimationsModule, IgxTimePickerWithProjectionsComponent]
}).compileComponents();
}));
beforeEach(fakeAsync(() => {
@@ -1639,11 +1618,11 @@ describe('IgxTimePicker', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxTimePickerInFormComponent,
IgxTimePickerReactiveFormComponent
- ],
- imports: [IgxTimePickerModule, IgxInputGroupModule, FormsModule, NoopAnimationsModule, ReactiveFormsModule]
+ ]
}).compileComponents();
}));
beforeEach(fakeAsync(() => {
@@ -1736,7 +1715,9 @@ describe('IgxTimePicker', () => {
template: `
Select time
- `
+ `,
+ standalone: true,
+ imports: [IgxTimePickerComponent, IgxLabelDirective]
})
export class IgxTimePickerTestComponent {
@ViewChild('picker', { read: IgxTimePickerComponent, static: true })
@@ -1757,7 +1738,9 @@ export class IgxTimePickerTestComponent {
Suffix
Hint
-`
+`,
+ standalone: true,
+ imports: [IgxTimePickerComponent, IgxPickerToggleComponent, IgxPickerClearComponent, IgxLabelDirective, IgxPrefixDirective, IgxSuffixDirective, IgxHintDirective, NgIf]
})
export class IgxTimePickerWithProjectionsComponent {
@ViewChild(IgxTimePickerComponent) public timePicker: IgxTimePickerComponent;
@@ -1773,7 +1756,9 @@ export class IgxTimePickerWithProjectionsComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTimePickerComponent, FormsModule]
})
export class IgxTimePickerInFormComponent {
@ViewChild('form')
@@ -1783,7 +1768,7 @@ export class IgxTimePickerInFormComponent {
public timePicker: IgxTimePickerComponent;
public minValue = new Date(2010, 3, 3, 13, 0, 0);
- public date: Date = new Date(2010, 3, 3, 12, 0, 0);;
+ public date: Date = new Date(2010, 3, 3, 12, 0, 0);
}
@Component({
@@ -1795,7 +1780,9 @@ export class IgxTimePickerInFormComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTimePickerComponent, IgxLabelDirective, ReactiveFormsModule]
})
export class IgxTimePickerReactiveFormComponent {
@ViewChild(IgxTimePickerComponent)
diff --git a/projects/igniteui-angular/src/lib/time-picker/time-picker.component.ts b/projects/igniteui-angular/src/lib/time-picker/time-picker.component.ts
index bdfe691c9de..e18300d11f2 100644
--- a/projects/igniteui-angular/src/lib/time-picker/time-picker.component.ts
+++ b/projects/igniteui-angular/src/lib/time-picker/time-picker.component.ts
@@ -1,13 +1,10 @@
-import {
- CommonModule
-} from '@angular/common';
+import { NgIf, NgClass, NgFor, NgTemplateOutlet } from '@angular/common';
import {
Component,
ElementRef,
EventEmitter,
HostBinding,
Input,
- NgModule,
OnDestroy,
OnInit,
Output,
@@ -29,16 +26,14 @@ import {
Validator,
NG_VALIDATORS
} from '@angular/forms';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxInputGroupModule, IgxInputGroupComponent } from '../input-group/input-group.component';
+
+import { IgxInputGroupComponent } from '../input-group/input-group.component';
import { IgxInputDirective, IgxInputState } from '../directives/input/input.directive';
import { IgxInputGroupType, IGX_INPUT_GROUP_TYPE } from '../input-group/public_api';
import { DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
import {
IgxItemListDirective,
- IgxTimeItemDirective,
- IgxTimePickerTemplateDirective,
- IgxTimePickerActionsDirective
+ IgxTimeItemDirective
} from './time-picker.directives';
import { Subscription, noop, fromEvent } from 'rxjs';
import { IgxTimePickerBase, IGX_TIME_PICKER_COMPONENT } from './time-picker.common';
@@ -46,22 +41,25 @@ import { AbsoluteScrollStrategy } from '../services/overlay/scroll';
import { AutoPositionStrategy } from '../services/overlay/position';
import { OverlaySettings } from '../services/overlay/utilities';
import { takeUntil } from 'rxjs/operators';
-import { IgxButtonModule } from '../directives/button/button.directive';
-import { IgxMaskModule } from '../directives/mask/mask.directive';
-import { IgxDateTimeEditorModule, IgxDateTimeEditorDirective } from '../directives/date-time-editor/date-time-editor.directive';
-import { IgxToggleModule, IgxToggleDirective } from '../directives/toggle/toggle.directive';
+import { IgxButtonDirective } from '../directives/button/button.directive';
+
+import { IgxDateTimeEditorDirective } from '../directives/date-time-editor/date-time-editor.directive';
+import { IgxToggleDirective } from '../directives/toggle/toggle.directive';
import { ITimePickerResourceStrings } from '../core/i18n/time-picker-resources';
import { CurrentResourceStrings } from '../core/i18n/resources';
import { IBaseEventArgs, isEqual, isDate, PlatformUtil, IBaseCancelableBrowserEventArgs } from '../core/utils';
import { PickerInteractionMode } from '../date-common/types';
-import { IgxTextSelectionModule } from '../directives/text-selection/text-selection.directive';
+import { IgxTextSelectionDirective } from '../directives/text-selection/text-selection.directive';
import { IgxLabelDirective } from '../directives/label/label.directive';
import { PickerBaseDirective } from '../date-common/picker-base.directive';
import { DateTimeUtil } from '../date-common/util/date-time.util';
import { DatePart, DatePartDeltas } from '../directives/date-time-editor/public_api';
import { PickerHeaderOrientation } from '../date-common/types';
-import { IgxPickerClearComponent, IgxPickersCommonModule } from '../date-common/picker-icons.common';
+import { IgxPickerActionsDirective, IgxPickerClearComponent } from '../date-common/picker-icons.common';
import { TimeFormatPipe, TimeItemPipe } from './time-picker.pipes';
+import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
+import { IgxIconComponent } from '../icon/icon.component';
+import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
let NEXT_ID = 0;
export interface IgxTimePickerValidationFailedEventArgs extends IBaseEventArgs {
@@ -92,7 +90,9 @@ export interface IgxTimePickerValidationFailedEventArgs extends IBaseEventArgs {
`:host {
display: block;
}`
- ]
+ ],
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxInputDirective, IgxDateTimeEditorDirective, IgxTextSelectionDirective, NgIf, IgxPrefixDirective, IgxIconComponent, IgxSuffixDirective, IgxButtonDirective, IgxToggleDirective, NgClass, IgxItemListDirective, NgFor, IgxTimeItemDirective, NgTemplateOutlet, TimeFormatPipe, TimeItemPipe]
})
export class IgxTimePickerComponent extends PickerBaseDirective
implements
@@ -318,8 +318,8 @@ export class IgxTimePickerComponent extends PickerBaseDirective
public label: IgxLabelDirective;
/** @hidden @internal */
- @ContentChild(IgxTimePickerActionsDirective)
- public timePickerActionsDirective: IgxTimePickerActionsDirective;
+ @ContentChild(IgxPickerActionsDirective)
+ public timePickerActionsDirective: IgxPickerActionsDirective;
@ViewChild(IgxInputDirective, { read: IgxInputDirective })
private inputDirective: IgxInputDirective;
@@ -1270,37 +1270,3 @@ export class IgxTimePickerComponent extends PickerBaseDirective
}
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [
- IgxTimePickerComponent,
- IgxItemListDirective,
- IgxTimeItemDirective,
- IgxTimePickerTemplateDirective,
- IgxTimePickerActionsDirective,
- TimeFormatPipe,
- TimeItemPipe
- ],
- exports: [
- IgxTimePickerComponent,
- IgxTimePickerTemplateDirective,
- IgxTimePickerActionsDirective,
- IgxPickersCommonModule,
- IgxInputGroupModule
- ],
- imports: [
- CommonModule,
- IgxDateTimeEditorModule,
- IgxInputGroupModule,
- IgxIconModule,
- IgxButtonModule,
- IgxMaskModule,
- IgxToggleModule,
- IgxTextSelectionModule
- ],
- providers: []
-})
-export class IgxTimePickerModule { }
diff --git a/projects/igniteui-angular/src/lib/time-picker/time-picker.directives.ts b/projects/igniteui-angular/src/lib/time-picker/time-picker.directives.ts
index 091a69770e2..8a82181c64f 100644
--- a/projects/igniteui-angular/src/lib/time-picker/time-picker.directives.ts
+++ b/projects/igniteui-angular/src/lib/time-picker/time-picker.directives.ts
@@ -12,8 +12,7 @@ import {
Inject,
Input,
OnDestroy,
- OnInit,
- TemplateRef
+ OnInit
} from '@angular/core';
import { HammerGesturesManager } from '../core/touch';
import { DateTimeUtil } from '../date-common/util/date-time.util';
@@ -22,7 +21,8 @@ import { IgxTimePickerBase, IGX_TIME_PICKER_COMPONENT } from './time-picker.comm
/** @hidden */
@Directive({
selector: '[igxItemList]',
- providers: [HammerGesturesManager]
+ providers: [HammerGesturesManager],
+ standalone: true
})
export class IgxItemListDirective implements OnInit, OnDestroy {
@HostBinding('attr.tabindex')
@@ -224,7 +224,8 @@ export class IgxItemListDirective implements OnInit, OnDestroy {
*/
@Directive({
selector: '[igxTimeItem]',
- exportAs: 'timeItem'
+ exportAs: 'timeItem',
+ standalone: true
})
export class IgxTimeItemDirective {
@Input('igxTimeItem')
@@ -362,23 +363,3 @@ export class IgxTimeItemDirective {
return hour;
}
}
-
-/**
- * This directive should be used to mark which ng-template will be used from IgxTimePicker when re-templating its input group.
- */
-@Directive({
- selector: '[igxTimePickerTemplate]'
-})
-export class IgxTimePickerTemplateDirective {
- constructor(public template: TemplateRef) { }
-}
-
-/**
- * This directive can be used to add custom action buttons to the dropdown/dialog.
- */
-@Directive({
- selector: '[igxTimePickerActions]'
-})
-export class IgxTimePickerActionsDirective {
- constructor(public template: TemplateRef) { }
-}
diff --git a/projects/igniteui-angular/src/lib/time-picker/time-picker.module.ts b/projects/igniteui-angular/src/lib/time-picker/time-picker.module.ts
new file mode 100644
index 00000000000..2a3b62eaf35
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/time-picker/time-picker.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IGX_TIME_PICKER_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ ...IGX_TIME_PICKER_DIRECTIVES
+ ],
+ exports: [
+ ...IGX_TIME_PICKER_DIRECTIVES
+ ]
+})
+export class IgxTimePickerModule { }
diff --git a/projects/igniteui-angular/src/lib/time-picker/time-picker.pipes.ts b/projects/igniteui-angular/src/lib/time-picker/time-picker.pipes.ts
index e9a0f847dd2..e79b3358b79 100644
--- a/projects/igniteui-angular/src/lib/time-picker/time-picker.pipes.ts
+++ b/projects/igniteui-angular/src/lib/time-picker/time-picker.pipes.ts
@@ -6,7 +6,8 @@ import { DatePart } from '../directives/date-time-editor/public_api';
const ITEMS_COUNT = 7;
@Pipe({
- name: 'timeFormatPipe'
+ name: 'timeFormatPipe',
+ standalone: true
})
export class TimeFormatPipe implements PipeTransform {
constructor(@Inject(IGX_TIME_PICKER_COMPONENT) private timePicker: IgxTimePickerBase) { }
@@ -19,7 +20,8 @@ export class TimeFormatPipe implements PipeTransform {
}
@Pipe({
- name: 'timeItemPipe'
+ name: 'timeItemPipe',
+ standalone: true
})
export class TimeItemPipe implements PipeTransform {
constructor(@Inject(IGX_TIME_PICKER_COMPONENT) private timePicker: IgxTimePickerBase) { }
diff --git a/projects/igniteui-angular/src/lib/toast/toast.component.spec.ts b/projects/igniteui-angular/src/lib/toast/toast.component.spec.ts
index 3141ec3d676..6e5e83a4da7 100644
--- a/projects/igniteui-angular/src/lib/toast/toast.component.spec.ts
+++ b/projects/igniteui-angular/src/lib/toast/toast.component.spec.ts
@@ -16,13 +16,13 @@ describe('IgxToast', () => {
const baseId = 'igx-toast-';
let fixture: ComponentFixture;
let toast: IgxToastComponent;
- let firstPositionSettings: PositionSettings = {
+ const firstPositionSettings: PositionSettings = {
horizontalDirection: HorizontalAlignment.Left,
verticalDirection: VerticalAlignment.Middle,
horizontalStartPoint: HorizontalAlignment.Left,
verticalStartPoint: VerticalAlignment.Middle
};
- let secondPositionSettings: PositionSettings = {
+ const secondPositionSettings: PositionSettings = {
horizontalDirection: HorizontalAlignment.Center,
verticalDirection: VerticalAlignment.Middle,
horizontalStartPoint: HorizontalAlignment.Center,
@@ -33,8 +33,7 @@ describe('IgxToast', () => {
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [IgxToastComponent],
- imports: [NoopAnimationsModule]
+ imports: [NoopAnimationsModule, IgxToastComponent]
}).compileComponents();
}));
diff --git a/projects/igniteui-angular/src/lib/toast/toast.component.ts b/projects/igniteui-angular/src/lib/toast/toast.component.ts
index fd37b859b5a..3a49e4a7479 100644
--- a/projects/igniteui-angular/src/lib/toast/toast.component.ts
+++ b/projects/igniteui-angular/src/lib/toast/toast.component.ts
@@ -1,4 +1,3 @@
-import { CommonModule } from '@angular/common';
import {
ChangeDetectorRef,
Component,
@@ -7,7 +6,6 @@ import {
HostBinding,
Inject,
Input,
- NgModule,
OnInit,
Optional,
Output
@@ -45,7 +43,8 @@ let NEXT_ID = 0;
*/
@Component({
selector: 'igx-toast',
- templateUrl: 'toast.component.html'
+ templateUrl: 'toast.component.html',
+ standalone: true
})
export class IgxToastComponent extends IgxNotificationsDirective implements OnInit {
/**
@@ -203,13 +202,3 @@ export class IgxToastComponent extends IgxNotificationsDirective implements OnIn
});
}
}
-
-/**
- * @hidden
- */
-@NgModule({
- declarations: [IgxToastComponent],
- exports: [IgxToastComponent],
- imports: [CommonModule],
-})
-export class IgxToastModule { }
diff --git a/projects/igniteui-angular/src/lib/toast/toast.module.ts b/projects/igniteui-angular/src/lib/toast/toast.module.ts
new file mode 100644
index 00000000000..bb8401b2dcd
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/toast/toast.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IgxToastComponent } from './toast.component';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ IgxToastComponent
+ ],
+ exports: [
+ IgxToastComponent
+ ]
+})
+export class IgxToastModule { }
diff --git a/projects/igniteui-angular/src/lib/tree/common.ts b/projects/igniteui-angular/src/lib/tree/common.ts
index 8b3aba7992b..559a1dbe0b4 100644
--- a/projects/igniteui-angular/src/lib/tree/common.ts
+++ b/projects/igniteui-angular/src/lib/tree/common.ts
@@ -1,5 +1,5 @@
import { ElementRef, EventEmitter, InjectionToken, QueryList, TemplateRef } from '@angular/core';
-import { DisplayDensity } from '../core/displayDensity';
+import { DisplayDensity } from '../core/density';
import { IBaseCancelableBrowserEventArgs, IBaseEventArgs, mkenum } from '../core/utils';
import { ToggleAnimationSettings } from '../expansion-panel/toggle-animation-component';
diff --git a/projects/igniteui-angular/src/lib/tree/public_api.ts b/projects/igniteui-angular/src/lib/tree/public_api.ts
index 08b8f6258c9..11f4ee984d6 100644
--- a/projects/igniteui-angular/src/lib/tree/public_api.ts
+++ b/projects/igniteui-angular/src/lib/tree/public_api.ts
@@ -1,5 +1,16 @@
-export * from './tree.component';
+import { IgxTreeNodeComponent, IgxTreeNodeLinkDirective } from './tree-node/tree-node.component';
+import { IgxTreeComponent } from './tree.component';
+
+export { IgxTreeComponent } from './tree.component';
export * from './tree-node/tree-node.component';
export { IgxTreeSearchResolver, ITreeNodeSelectionEvent, ITreeNodeEditingEvent,
ITreeNodeEditedEvent, ITreeNodeTogglingEventArgs, ITreeNodeToggledEventArgs,
- IgxTreeSelectionType, IgxTree, IgxTreeNode } from './common';
+ IgxTreeSelectionType, IgxTree, IgxTreeNode
+} from './common';
+
+/* NOTE: Tree directives collection for ease-of-use import in standalone components scenario */
+export const IGX_TREE_DIRECTIVES = [
+ IgxTreeComponent,
+ IgxTreeNodeComponent,
+ IgxTreeNodeLinkDirective
+] as const;
diff --git a/projects/igniteui-angular/src/lib/tree/tree-functions.spec.ts b/projects/igniteui-angular/src/lib/tree/tree-functions.spec.ts
index 874eb45da56..200ceca5439 100644
--- a/projects/igniteui-angular/src/lib/tree/tree-functions.spec.ts
+++ b/projects/igniteui-angular/src/lib/tree/tree-functions.spec.ts
@@ -84,5 +84,5 @@ export class TreeTestFunctions {
mockQuery.filter.and.callFake((cb) => nodes.filter(cb));
mockQuery.forEach.and.callFake((cb) => nodes.forEach(cb));
return mockQuery;
- };
+ }
}
diff --git a/projects/igniteui-angular/src/lib/tree/tree-navigation.service.ts b/projects/igniteui-angular/src/lib/tree/tree-navigation.service.ts
index ddc31d9cb0c..53687c548ad 100644
--- a/projects/igniteui-angular/src/lib/tree/tree-navigation.service.ts
+++ b/projects/igniteui-angular/src/lib/tree/tree-navigation.service.ts
@@ -105,7 +105,7 @@ export class IgxTreeNavigationService implements OnDestroy {
* @param node target node
* @param isActive if true, sets the node as active
*/
- public setFocusedAndActiveNode(node: IgxTreeNode, isActive: boolean = true): void {
+ public setFocusedAndActiveNode(node: IgxTreeNode, isActive = true): void {
if (isActive) {
this.activeNode = node;
}
diff --git a/projects/igniteui-angular/src/lib/tree/tree-navigation.spec.ts b/projects/igniteui-angular/src/lib/tree/tree-navigation.spec.ts
index 1e2e1e27125..74e36e67741 100644
--- a/projects/igniteui-angular/src/lib/tree/tree-navigation.spec.ts
+++ b/projects/igniteui-angular/src/lib/tree/tree-navigation.spec.ts
@@ -8,7 +8,7 @@ import { ElementRef, EventEmitter } from '@angular/core';
import { IgxTreeSelectionService } from './tree-selection.service';
import { TreeTestFunctions } from './tree-functions.spec';
import { IgxTreeService } from './tree.service';
-import { IgxTreeComponent, IgxTreeModule } from './tree.component';
+import { IgxTreeComponent } from './tree.component';
import { IgxTree, IgxTreeNode, IgxTreeSelectionType } from './common';
import { IgxTreeNodeComponent } from './tree-node/tree-node.component';
@@ -20,11 +20,11 @@ describe('IgxTree - Navigation #treeView', () => {
let tree: IgxTreeComponent;
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxTreeNavigationComponent,
IgxTreeScrollComponent
- ],
- imports: [IgxTreeModule, NoopAnimationsModule]
+ ]
}).compileComponents();
}));
@@ -633,7 +633,7 @@ describe('IgxTree - Navigation #treeView', () => {
expect(mockTree.activeNodeChanged.emit).toHaveBeenCalledWith(someNode2);
// do not change active node when call w/ same node
- navService.focusedNode = navService.focusedNode;
+ // navService.focusedNode = navService.focusedNode;
expect(mockTree.activeNodeChanged.emit).toHaveBeenCalledTimes(1);
// handle call w/ null
diff --git a/projects/igniteui-angular/src/lib/tree/tree-node/tree-node.component.ts b/projects/igniteui-angular/src/lib/tree/tree-node/tree-node.component.ts
index e860a9103e7..be550a8222d 100644
--- a/projects/igniteui-angular/src/lib/tree/tree-node/tree-node.component.ts
+++ b/projects/igniteui-angular/src/lib/tree/tree-node/tree-node.component.ts
@@ -19,7 +19,7 @@ import {
ViewChild
} from '@angular/core';
import { takeUntil } from 'rxjs/operators';
-import { DisplayDensity } from '../../core/displayDensity';
+import { DisplayDensity } from '../../core/density';
import { CurrentResourceStrings } from '../../core/i18n/resources';
import { ITreeResourceStrings } from '../../core/i18n/tree-resources';
import { ToggleAnimationPlayer, ToggleAnimationSettings } from '../../expansion-panel/toggle-animation-component';
@@ -36,6 +36,10 @@ import {
import { IgxTreeNavigationService } from '../tree-navigation.service';
import { IgxTreeSelectionService } from '../tree-selection.service';
import { IgxTreeService } from '../tree.service';
+import { IgxCircularProgressBarComponent } from '../../progressbar/progressbar.component';
+import { IgxCheckboxComponent } from '../../checkbox/checkbox.component';
+import { IgxIconComponent } from '../../icon/icon.component';
+import { NgTemplateOutlet, NgIf, NgClass, NgFor } from '@angular/common';
// TODO: Implement aria functionality
/**
@@ -43,7 +47,8 @@ import { IgxTreeService } from '../tree.service';
* Used for links (`a` tags) in the body of an `igx-tree-node`. Handles aria and event dispatch.
*/
@Directive({
- selector: `[igxTreeNodeLink]`
+ selector: `[igxTreeNodeLink]`,
+ standalone: true
})
export class IgxTreeNodeLinkDirective implements OnDestroy {
@@ -147,7 +152,9 @@ export class IgxTreeNodeLinkDirective implements OnDestroy {
templateUrl: 'tree-node.component.html',
providers: [
{ provide: IGX_TREE_NODE_COMPONENT, useExisting: IgxTreeNodeComponent }
- ]
+ ],
+ standalone: true,
+ imports: [NgTemplateOutlet, NgIf, IgxIconComponent, IgxCheckboxComponent, NgClass, NgFor, IgxCircularProgressBarComponent]
})
export class IgxTreeNodeComponent extends ToggleAnimationPlayer implements IgxTreeNode, OnInit, OnDestroy {
/**
@@ -323,7 +330,7 @@ export class IgxTreeNodeComponent extends ToggleAnimationPlayer implements Ig
@HostBinding('attr.role')
public get role() {
return this.hasLinkChildren ? 'none' : 'treeitem';
- };
+ }
/** @hidden @internal */
@ContentChildren(IgxTreeNodeLinkDirective, { read: ElementRef })
@@ -700,7 +707,7 @@ export class IgxTreeNodeComponent extends ToggleAnimationPlayer implements Ig
public addLinkChild(link: IgxTreeNodeLinkDirective) {
this._tabIndex = -1;
this.registeredChildren.push(link);
- };
+ }
/** @hidden @internal */
public removeLinkChild(link: IgxTreeNodeLinkDirective) {
diff --git a/projects/igniteui-angular/src/lib/tree/tree-samples.spec.ts b/projects/igniteui-angular/src/lib/tree/tree-samples.spec.ts
index cb56b7f144a..42e0ee7c712 100644
--- a/projects/igniteui-angular/src/lib/tree/tree-samples.spec.ts
+++ b/projects/igniteui-angular/src/lib/tree/tree-samples.spec.ts
@@ -1,6 +1,7 @@
import { Component, ViewChild, ChangeDetectorRef } from '@angular/core';
-import { IgxTreeComponent } from './public_api';
+import { IgxTreeComponent, IgxTreeNodeComponent, IgxTreeNodeLinkDirective } from './public_api';
import { HIERARCHICAL_SAMPLE_DATA } from 'src/app/shared/sample-data';
+import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
@Component({
template: `
@@ -15,7 +16,9 @@ import { HIERARCHICAL_SAMPLE_DATA } from 'src/app/shared/sample-data';
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeComponent, IgxTreeNodeComponent, NgFor]
})
export class IgxTreeSimpleComponent {
@ViewChild(IgxTreeComponent, { static: true }) public tree: IgxTreeComponent;
@@ -35,7 +38,9 @@ export class IgxTreeSimpleComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeComponent, IgxTreeNodeComponent, NgFor]
})
export class IgxTreeSelectionSampleComponent {
@ViewChild(IgxTreeComponent, { static: true }) public tree: IgxTreeComponent;
@@ -91,7 +96,9 @@ export class IgxTreeSelectionSampleComponent {
Link to Infragistics
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeComponent, IgxTreeNodeComponent, IgxTreeNodeLinkDirective, NgTemplateOutlet, NgFor, NgIf]
})
export class IgxTreeNavigationComponent {
@ViewChild(IgxTreeComponent, { static: true }) public tree: IgxTreeComponent;
@@ -112,7 +119,9 @@ export class IgxTreeNavigationComponent {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeComponent, IgxTreeNodeComponent, NgFor]
})
export class IgxTreeScrollComponent {
@ViewChild(IgxTreeComponent, { static: true }) public tree: IgxTreeComponent;
diff --git a/projects/igniteui-angular/src/lib/tree/tree-selection.service.ts b/projects/igniteui-angular/src/lib/tree/tree-selection.service.ts
index 1c9bbc748c0..88b3a4aaf52 100644
--- a/projects/igniteui-angular/src/lib/tree/tree-selection.service.ts
+++ b/projects/igniteui-angular/src/lib/tree/tree-selection.service.ts
@@ -5,7 +5,7 @@ import { IgxTree, IgxTreeNode, IgxTreeSelectionType, ITreeNodeSelectionEvent } f
interface CascadeSelectionNodeCollection {
nodes: Set>;
parents: Set>;
-};
+}
/** @hidden @internal */
@Injectable()
diff --git a/projects/igniteui-angular/src/lib/tree/tree-selection.spec.ts b/projects/igniteui-angular/src/lib/tree/tree-selection.spec.ts
index 172f99de3d7..765fb43cf21 100644
--- a/projects/igniteui-angular/src/lib/tree/tree-selection.spec.ts
+++ b/projects/igniteui-angular/src/lib/tree/tree-selection.spec.ts
@@ -2,7 +2,7 @@ import { TestBed, fakeAsync, waitForAsync } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { configureTestSuite } from '../test-utils/configure-suite';
import { EventEmitter, QueryList } from '@angular/core';
-import { IgxTreeComponent, IgxTreeModule } from './tree.component';
+import { IgxTreeComponent } from './tree.component';
import { UIInteractions } from '../test-utils/ui-interactions.spec';
import { TreeTestFunctions, TREE_NODE_DIV_SELECTION_CHECKBOX_CSS_CLASS } from './tree-functions.spec';
import { IgxTree, IgxTreeSelectionType, ITreeNodeSelectionEvent } from './common';
@@ -16,11 +16,11 @@ describe('IgxTree - Selection #treeView', () => {
configureTestSuite();
beforeAll(waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
+ imports: [
+ NoopAnimationsModule,
IgxTreeSimpleComponent,
IgxTreeSelectionSampleComponent
- ],
- imports: [IgxTreeModule, NoopAnimationsModule]
+ ]
}).compileComponents();
}));
@@ -596,7 +596,7 @@ describe('IgxTree - Selection #treeView', () => {
const selectionService = new IgxTreeSelectionService();
const treeService = new IgxTreeService();
const navService = new IgxTreeNavigationService(treeService, selectionService);
- const mockEmitter: EventEmitter = jasmine.createSpyObj('emitter', ['emit']);;
+ const mockEmitter: EventEmitter = jasmine.createSpyObj('emitter', ['emit']);
const mockTree: IgxTree = jasmine.createSpyObj('tree', [''],
{ selection: IgxTreeSelectionType.BiState, nodeSelection: mockEmitter, nodes: {
find: () => true
diff --git a/projects/igniteui-angular/src/lib/tree/tree.component.ts b/projects/igniteui-angular/src/lib/tree/tree.component.ts
index 983d4acbbd2..8ba0c9f4901 100644
--- a/projects/igniteui-angular/src/lib/tree/tree.component.ts
+++ b/projects/igniteui-angular/src/lib/tree/tree.component.ts
@@ -1,25 +1,20 @@
-import { CommonModule } from '@angular/common';
import {
Component, QueryList, Input, Output, EventEmitter, ContentChild, Directive,
- NgModule, TemplateRef, OnInit, AfterViewInit, ContentChildren, OnDestroy, HostBinding, ElementRef, Optional, Inject
+ TemplateRef, OnInit, AfterViewInit, ContentChildren, OnDestroy, HostBinding, ElementRef, Optional, Inject
} from '@angular/core';
-import { FormsModule } from '@angular/forms';
+
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
+
import { growVerIn, growVerOut } from '../animations/grow';
-import { IgxCheckboxModule } from '../checkbox/checkbox.component';
-import { DisplayDensityBase, DisplayDensityToken, IDisplayDensityOptions } from '../core/displayDensity';
-import { IgxExpansionPanelModule } from '../expansion-panel/public_api';
+import { DisplayDensityBase, DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
import { ToggleAnimationSettings } from '../expansion-panel/toggle-animation-component';
-import { IgxIconModule } from '../icon/public_api';
-import { IgxInputGroupModule } from '../input-group/public_api';
-import { IgxProgressBarModule } from '../progressbar/progressbar.component';
import {
IGX_TREE_COMPONENT, IgxTreeSelectionType, IgxTree, ITreeNodeToggledEventArgs,
ITreeNodeTogglingEventArgs, ITreeNodeSelectionEvent, IgxTreeNode, IgxTreeSearchResolver
} from './common';
import { IgxTreeNavigationService } from './tree-navigation.service';
-import { IgxTreeNodeComponent, IgxTreeNodeLinkDirective } from './tree-node/tree-node.component';
+import { IgxTreeNodeComponent } from './tree-node/tree-node.component';
import { IgxTreeSelectionService } from './tree-selection.service';
import { IgxTreeService } from './tree.service';
@@ -28,7 +23,8 @@ import { IgxTreeService } from './tree.service';
* Used for templating the select marker of the tree
*/
@Directive({
- selector: '[igxTreeSelectMarker]'
+ selector: '[igxTreeSelectMarker]',
+ standalone: true
})
export class IgxTreeSelectMarkerDirective {
}
@@ -38,7 +34,8 @@ export class IgxTreeSelectMarkerDirective {
* Used for templating the expand indicator of the tree
*/
@Directive({
- selector: '[igxTreeExpandIndicator]'
+ selector: '[igxTreeExpandIndicator]',
+ standalone: true
})
export class IgxTreeExpandIndicatorDirective {
}
@@ -80,7 +77,8 @@ export class IgxTreeExpandIndicatorDirective {
IgxTreeSelectionService,
IgxTreeNavigationService,
{ provide: IGX_TREE_COMPONENT, useExisting: IgxTreeComponent },
- ]
+ ],
+ standalone: true
})
export class IgxTreeComponent extends DisplayDensityBase implements IgxTree, OnInit, AfterViewInit, OnDestroy {
@@ -506,39 +504,3 @@ export class IgxTreeComponent extends DisplayDensityBase implements IgxTree, OnI
private _comparer = (data: T, node: IgxTreeNodeComponent) => node.data === data;
}
-
-/**
- * @hidden
- *
- * NgModule defining the components and directives needed for `igx-tree`
- */
-@NgModule({
- declarations: [
- IgxTreeSelectMarkerDirective,
- IgxTreeExpandIndicatorDirective,
- IgxTreeNodeLinkDirective,
- IgxTreeComponent,
- IgxTreeNodeComponent
- ],
- imports: [
- CommonModule,
- FormsModule,
- IgxIconModule,
- IgxInputGroupModule,
- IgxCheckboxModule,
- IgxProgressBarModule
- ],
- exports: [
- IgxTreeSelectMarkerDirective,
- IgxTreeExpandIndicatorDirective,
- IgxTreeNodeLinkDirective,
- IgxTreeComponent,
- IgxTreeNodeComponent,
- IgxIconModule,
- IgxInputGroupModule,
- IgxCheckboxModule,
- IgxExpansionPanelModule
- ]
-})
-export class IgxTreeModule {
-}
diff --git a/projects/igniteui-angular/src/lib/tree/tree.module.ts b/projects/igniteui-angular/src/lib/tree/tree.module.ts
new file mode 100644
index 00000000000..b9aca17f843
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/tree/tree.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { IGX_TREE_DIRECTIVES } from './public_api';
+
+/**
+ * @hidden
+ * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
+ */
+@NgModule({
+ imports: [
+ ...IGX_TREE_DIRECTIVES
+ ],
+ exports: [
+ ...IGX_TREE_DIRECTIVES
+ ]
+})
+export class IgxTreeModule { }
diff --git a/projects/igniteui-angular/src/lib/tree/tree.spec.ts b/projects/igniteui-angular/src/lib/tree/tree.spec.ts
index 664b67e7954..da72c47b5b1 100644
--- a/projects/igniteui-angular/src/lib/tree/tree.spec.ts
+++ b/projects/igniteui-angular/src/lib/tree/tree.spec.ts
@@ -1,17 +1,18 @@
+import { NgFor, NgIf } from '@angular/common';
import { ChangeDetectorRef, Component, DebugElement, ElementRef, EventEmitter, QueryList, ViewChild } from '@angular/core';
import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
-import { DisplayDensity } from '../core/displayDensity';
+import { DisplayDensity } from '../core/density';
import { AnimationService } from '../services/animation/animation';
import { configureTestSuite } from '../test-utils/configure-suite';
import { TreeTestFunctions } from './tree-functions.spec';
import { IgxTreeNavigationService } from './tree-navigation.service';
import { IgxTreeNodeComponent } from './tree-node/tree-node.component';
import { IgxTreeSelectionService } from './tree-selection.service';
-import { IgxTreeComponent, IgxTreeModule } from './tree.component';
+import { IgxTreeComponent } from './tree.component';
import { IgxTreeService } from './tree.service';
const TREE_ROOT_CLASS = 'igx-tree__root';
@@ -488,18 +489,18 @@ describe('IgxTree #treeView', () => {
describe('Rendering Tests', () => {
let fix: ComponentFixture;
let tree: IgxTreeComponent;
+
beforeAll(
waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [
- IgxTreeSampleComponent,],
imports: [
NoopAnimationsModule,
- IgxTreeModule
+ IgxTreeSampleComponent
]
}).compileComponents();
})
);
+
beforeEach(() => {
fix = TestBed.createComponent(IgxTreeSampleComponent);
fix.detectChanges();
@@ -708,7 +709,9 @@ describe('IgxTree #treeView', () => {
- `
+ `,
+ standalone: true,
+ imports: [IgxTreeComponent, NgIf, IgxTreeNodeComponent, NgFor]
})
class IgxTreeSampleComponent {
@ViewChild(IgxTreeComponent)
diff --git a/projects/igniteui-angular/src/public_api.ts b/projects/igniteui-angular/src/public_api.ts
index 7a9b6309819..ab35db3af16 100644
--- a/projects/igniteui-angular/src/public_api.ts
+++ b/projects/igniteui-angular/src/public_api.ts
@@ -1,4 +1,3 @@
-
/*
* Public API Surface of igniteui-angular
*/
@@ -8,7 +7,6 @@
*/
export * from './lib/animations/main';
-
/**
* Directives
*/
@@ -16,8 +14,7 @@ export * from './lib/core/navigation';
export * from './lib/directives/autocomplete/autocomplete.directive';
export * from './lib/directives/button/button.directive';
export * from './lib/directives/divider/divider.directive';
-export * from './lib/directives/drag-drop/drag-drop.strategy';
-export * from './lib/directives/drag-drop/drag-drop.directive';
+export * from './lib/directives/drag-drop/public_api';
export * from './lib/directives/filter/filter.directive';
export * from './lib/directives/focus/focus.directive';
export * from './lib/directives/focus-trap/focus-trap.directive';
@@ -26,11 +23,12 @@ export * from './lib/directives/layout/layout.directive';
export * from './lib/directives/mask/mask.directive';
export * from './lib/directives/radio/radio-group.directive';
export * from './lib/directives/ripple/ripple.directive';
+export * from './lib/directives/scroll-inertia/scroll_inertia.directive';
export * from './lib/directives/text-highlight/text-highlight.directive';
export * from './lib/directives/text-selection/text-selection.directive';
export * from './lib/directives/template-outlet/template_outlet.directive';
export * from './lib/directives/toggle/toggle.directive';
-export * from './lib/directives/tooltip';
+export * from './lib/directives/tooltip/public_api';
export * from './lib/directives/date-time-editor/public_api';
export * from './lib/directives/form-control/form-control.directive';
@@ -43,8 +41,6 @@ export * from './lib/data-operations/filtering-expressions-tree';
export * from './lib/data-operations/filtering-condition';
export * from './lib/data-operations/filtering-state.interface';
export * from './lib/data-operations/filtering-strategy';
-export * from './lib/data-operations/pivot-sort-strategy';
-export * from './lib/data-operations/pivot-strategy';
export * from './lib/data-operations/groupby-expand-state.interface';
export * from './lib/data-operations/groupby-record.interface';
export * from './lib/data-operations/groupby-state.interface';
@@ -61,63 +57,54 @@ export * from './lib/accordion/public_api';
export * from './lib/avatar/avatar.component';
export * from './lib/badge/badge.component';
export * from './lib/banner/public_api';
-export * from './lib/buttonGroup/buttonGroup.component';
+export * from './lib/buttonGroup/public_api';
export * from './lib/calendar/public_api';
-export * from './lib/card/card.component';
+export * from './lib/card/public_api';
export * from './lib/carousel/public_api';
export * from './lib/checkbox/checkbox.component';
export * from './lib/chips/public_api';
export * from './lib/combo/public_api';
export * from './lib/simple-combo/public_api';
export * from './lib/date-picker/public_api';
-export * from './lib/dialog/dialog.component';
+export * from './lib/dialog/public_api';
export * from './lib/drop-down/public_api';
+export * from './lib/grids/public_api';
export * from './lib/grids/common/enums';
export * from './lib/grids/common/events';
export * from './lib/grids/filtering/excel-style/public_api';
+export * from './lib/grids/headers/public_api';
+export * from './lib/grids/selection/public_api';
+export * from './lib/grids/toolbar/public_api';
export * from './lib/grids/grid/public_api';
export * from './lib/grids/tree-grid/public_api';
export * from './lib/grids/hierarchical-grid/public_api';
-export * from './lib/grids/columns/templates.directive';
-export * from './lib/grids/columns/validators.directive';
-export * from './lib/grids/columns/column.component';
-export * from './lib/grids/columns/column-group.component';
-export * from './lib/grids/columns/column-layout.component';
-export * from './lib/grids/hierarchical-grid/hierarchical-grid.pipes';
+export * from './lib/grids/columns/public_api';
export * from './lib/icon/public_api';
export * from './lib/input-group/public_api';
export * from './lib/list/public_api';
export * from './lib/expansion-panel/public_api';
-export * from './lib/navbar/navbar.component';
+export * from './lib/navbar/public_api';
export * from './lib/navigation-drawer/public_api';
export * from './lib/paginator/public_api';
-export * from './lib/paginator/paginator-interfaces';
-export * from './lib/progressbar/progressbar.common';
-export * from './lib/progressbar/progressbar.component';
+export * from './lib/progressbar/public_api';
export * from './lib/radio/radio.component';
export * from './lib/slider/public_api';
export * from './lib/snackbar/snackbar.component';
export * from './lib/switch/switch.component';
-export * from './lib/tabs/public_api';
export * from './lib/tabs/bottom-nav/public_api';
export * from './lib/tabs/tabs/public_api';
-export * from './lib/time-picker/time-picker.directives';
-export * from './lib/time-picker/time-picker.component';
+export * from './lib/time-picker/public_api';
export * from './lib/toast/toast.component';
export * from './lib/select/public_api';
-export * from './lib/splitter/splitter-pane/splitter-pane.component';
-export * from './lib/splitter/splitter.component';
-export * from './lib/splitter/splitter.module';
+export * from './lib/splitter/public_api';
export * from './lib/stepper/public_api';
export * from './lib/date-range-picker/public_api';
export * from './lib/date-common/public_api';
-
export * from './lib/grids/column-actions/column-actions-base.directive';
export * from './lib/grids/column-actions/column-actions.component';
export * from './lib/tree/public_api';
export * from './lib/grids/pivot-grid/public_api';
-export * from './lib/query-builder/query-builder.component'
-export * from './lib/query-builder/query-builder-header.component'
+export * from './lib/query-builder/public_api';
/**
* Exporter services, classes, interfaces and enums
@@ -125,7 +112,13 @@ export * from './lib/query-builder/query-builder-header.component'
export * from './lib/services/public_api';
export * from './lib/core/dates';
export * from './lib/core/density';
+export { PickerInteractionMode } from './lib/date-common/types';
+export { GridSelectionRange } from './lib/grids/common/types';
export { CancelableEventArgs, CancelableBrowserEventArgs } from './lib/core/utils';
+
+/**
+ * i18n
+ */
export { changei18n, getCurrentResourceStrings, IResourceStrings } from './lib/core/i18n/resources';
export { ICarouselResourceStrings } from './lib/core/i18n/carousel-resources';
export { IGridResourceStrings } from './lib/core/i18n/grid-resources';
@@ -141,7 +134,66 @@ export { IInputResourceStrings } from './lib/core/i18n/input-resources';
export { IChipResourceStrings } from './lib/core/i18n/chip-resources';
export { IActionStripResourceStrings } from './lib/core/i18n/action-strip-resources';
export { IQueryBuilderResourceStrings } from './lib/core/i18n/query-builder-resources';
-export { PickerInteractionMode } from './lib/date-common/types';
-export { SplitterType } from './lib/splitter/splitter.component';
-export { GridSelectionRange } from './lib/grids/common/types';
export { IBannerResourceStrings } from './lib/core/i18n/banner-resources';
+
+/* IMPORTANT: The following are NgModules exported for backwards-compatibility before standalone components */
+export * from './lib/accordion/accordion.module';
+export * from './lib/action-strip/action-strip.module';
+export * from './lib/avatar/avatar.module';
+export * from './lib/badge/badge.module';
+export * from './lib/banner/banner.module';
+export * from './lib/buttonGroup/buttongroup.module';
+export * from './lib/calendar/calendar.module';
+export * from './lib/card/card.module';
+export * from './lib/carousel/carousel.module';
+export * from './lib/checkbox/checkbox.module';
+export * from './lib/chips/chips.module';
+export * from './lib/combo/combo.module';
+export * from './lib/date-picker/date-picker.module';
+export * from './lib/date-range-picker/date-range-picker.module';
+export * from './lib/dialog/dialog.module';
+export * from './lib/directives/autocomplete/autocomplete.module';
+export * from './lib/directives/button/button.module';
+export * from './lib/directives/date-time-editor/date-time-editor.module';
+export * from './lib/directives/divider/divider.module';
+export * from './lib/directives/drag-drop/drag-drop.module';
+export * from './lib/directives/filter/filter.module';
+export * from './lib/directives/focus/focus.module';
+export * from './lib/directives/focus-trap/focus-trap.module';
+export * from './lib/directives/for-of/for_of.module';
+export * from './lib/directives/form-control/form-control.module';
+export * from './lib/directives/layout/layout.module';
+export * from './lib/directives/mask/mask.module';
+export * from './lib/directives/radio/radio-group.module';
+export * from './lib/directives/ripple/ripple.module';
+export * from './lib/directives/scroll-inertia/scroll_inertia.module';
+export * from './lib/directives/text-highlight/text-highlight.module';
+export * from './lib/directives/text-selection/text-selection.module';
+export * from './lib/directives/toggle/toggle.module';
+export * from './lib/directives/tooltip/tooltip.module';
+export * from './lib/drop-down/drop-down.module';
+export * from './lib/expansion-panel/expansion-panel.module';
+export * from './lib/grids/grid/grid.module';
+export * from './lib/grids/tree-grid/tree-grid.module';
+export * from './lib/grids/hierarchical-grid/hierarchical-grid.module';
+export * from './lib/grids/pivot-grid/pivot-grid.module';
+export * from './lib/icon/icon.module';
+export * from './lib/input-group/input-group.module';
+export * from './lib/list/list.module';
+export * from './lib/navbar/navbar.module';
+export * from './lib/navigation-drawer/navigation-drawer.module';
+export * from './lib/paginator/paginator.module';
+export * from './lib/progressbar/progressbar.module';
+export * from './lib/query-builder/query-builder.module';
+export * from './lib/select/select.module';
+export * from './lib/simple-combo/simple-combo.module';
+export * from './lib/slider/slider.module';
+export * from './lib/snackbar/snackbar.module';
+export * from './lib/splitter/splitter.module';
+export * from './lib/stepper/stepper.module';
+export * from './lib/switch/switch.module';
+export * from './lib/tabs/bottom-nav/bottom-nav.module';
+export * from './lib/tabs/tabs/tabs.module';
+export * from './lib/time-picker/time-picker.module';
+export * from './lib/toast/toast.module';
+export * from './lib/tree/tree.module';
diff --git a/projects/igniteui-angular/tsconfig.lib.json b/projects/igniteui-angular/tsconfig.lib.json
index 660a228617a..56b6e47ce1a 100644
--- a/projects/igniteui-angular/tsconfig.lib.json
+++ b/projects/igniteui-angular/tsconfig.lib.json
@@ -20,6 +20,7 @@
},
"angularCompilerOptions": {
"skipTemplateCodegen": true,
+ "strictTemplates": true,
"strictMetadataEmit": true,
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true,
diff --git a/src/app/accordion/accordion.sample.ts b/src/app/accordion/accordion.sample.ts
index 63efd7b3df4..12af07267bb 100644
--- a/src/app/accordion/accordion.sample.ts
+++ b/src/app/accordion/accordion.sample.ts
@@ -1,10 +1,13 @@
import { Component, ViewChild } from '@angular/core';
-import { IgxAccordionComponent, slideInLeft, slideOutRight } from 'igniteui-angular';
+import { FormsModule } from '@angular/forms';
+import { IGX_ACCORDION_DIRECTIVES, IgxAccordionComponent, IgxButtonDirective, IgxSwitchComponent, slideInLeft, slideOutRight } from 'igniteui-angular';
@Component({
selector: 'app-accordion-sample',
templateUrl: 'accordion.sample.html',
- styleUrls: ['accordion.sample.scss']
+ styleUrls: ['accordion.sample.scss'],
+ standalone: true,
+ imports: [IgxSwitchComponent, FormsModule, IgxButtonDirective, IGX_ACCORDION_DIRECTIVES]
})
export class AccordionSampleComponent {
@ViewChild('accordion', { static: true }) public accordion: IgxAccordionComponent;
diff --git a/src/app/action-strip/action-strip.sample.ts b/src/app/action-strip/action-strip.sample.ts
index 74bb7d246d6..ec6b2d0ee09 100644
--- a/src/app/action-strip/action-strip.sample.ts
+++ b/src/app/action-strip/action-strip.sample.ts
@@ -1,5 +1,6 @@
import { Component, OnInit } from '@angular/core';
-import { DisplayDensity, IDataCloneStrategy, IGridEditEventArgs, IRowDataEventArgs } from 'igniteui-angular';
+import { NgIf, NgFor } from '@angular/common';
+import { DisplayDensity, IDataCloneStrategy, IGridEditEventArgs, IRowDataEventArgs, IgxActionStripComponent, IgxActionStripMenuItemDirective, IgxButtonDirective, IgxButtonGroupComponent, IgxCellTemplateDirective, IgxColumnComponent, IgxGridComponent, IgxGridEditingActionsComponent, IgxGridPinningActionsComponent, IgxIconComponent } from 'igniteui-angular';
class MyClone implements IDataCloneStrategy {
@@ -44,7 +45,22 @@ class User {
@Component({
selector: 'app-action-strip-sample',
styleUrls: ['action-strip.sample.scss'],
- templateUrl: `action-strip.sample.html`
+ templateUrl: `action-strip.sample.html`,
+ standalone: true,
+ imports: [
+ NgIf,
+ NgFor,
+ IgxButtonGroupComponent,
+ IgxButtonDirective,
+ IgxActionStripComponent,
+ IgxIconComponent,
+ IgxGridComponent,
+ IgxColumnComponent,
+ IgxGridPinningActionsComponent,
+ IgxCellTemplateDirective,
+ IgxGridEditingActionsComponent,
+ IgxActionStripMenuItemDirective
+ ]
})
export class ActionStripSampleComponent implements OnInit {
public result: string;
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 282e1129903..8029872c30c 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -318,6 +318,11 @@ export class AppComponent implements OnInit {
icon: 'view_column',
name: 'Grid Validation'
},
+ {
+ link: '/gridValidationTest',
+ icon: 'view_column',
+ name: 'Grid Validation Test'
+ },
{
link: '/gridLocalization',
icon: 'view_column',
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index a5adc9ca56f..565acebdcd0 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -4,20 +4,9 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NgModule } from '@angular/core';
-import {
- IgxIconModule, IgxBottomNavModule, IgxGridModule, IgxOverlayService,
- IgxDragDropModule, IgxDividerModule, IgxTreeGridModule, IgxHierarchicalGridModule, IgxInputGroupModule,
- IgxIconService, DisplayDensityToken, DisplayDensity,
- IgxDateTimeEditorModule, IgxDateRangePickerModule, IgxButtonModule, IgxActionStripModule, GridBaseAPIService, IgxButtonGroupModule,
- IgxListModule,
- IgxTextSelectionModule,
- IgxPivotGridModule,
- IgxQueryBuilderModule,
- IgcFormsModule
-} from 'igniteui-angular';
-import { SharedModule } from './shared/shared.module';
+import { IgxOverlayService, IgxIconService, DisplayDensityToken, DisplayDensity, IgxNavigationDrawerComponent, IgxNavDrawerItemDirective, IgxIconComponent, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective } from 'igniteui-angular';
-import { routing } from './routing';
+import { routing } from './app.routing';
import { ActionStripSampleComponent } from './action-strip/action-strip.sample';
import { AppComponent } from './app.component';
import { AvatarSampleComponent } from './avatar/avatar.sample';
@@ -133,7 +122,6 @@ import {
HierarchicalGridRemoteVirtualizationComponent
} from './hierarchical-grid-remote-virtualization/hierarchical-grid-remote-virtualization';
import { HierarchicalRemoteService } from './hierarchical-grid-remote-virtualization/hierarchical-remote.service';
-import { IgxGridHierarchicalPipe } from 'igniteui-angular';
import { GridVirtualizationScrollSampleComponent } from './grid-remote-virtualization-with-scroll/grid-remote-virtualization-scroll.sample';
import { GridNestedPropsSampleComponent } from './grid-nested-props/grid-nested-props.sample';
import { GridColumnActionsSampleComponent } from './grid-column-actions/grid-column-actions.sample';
@@ -147,7 +135,7 @@ import { MainComponent } from './grid-finjs/main.component';
import { ControllerComponent } from './grid-finjs/controllers.component';
import { CommonModule } from '@angular/common';
import { GridEventsComponent } from './grid-events/grid-events.component';
-import { IgxPickersCommonModule } from 'projects/igniteui-angular/src/lib/date-common/picker-icons.common';
+
import { GridRowAPISampleComponent } from './grid-row-api/grid-row-api.sample';
import { GridUpdatesComponent } from './grid-updates-test/grid-updates.component';
import { TestInterceptorClass } from './interceptor.service';
@@ -172,7 +160,6 @@ import { GridExportComponent } from './grid-export/grid-export.sample';
const components = [
AccordionSampleComponent,
ActionStripSampleComponent,
- AppComponent,
AutocompletePipeContains,
AutocompleteGroupPipeContains,
AutocompleteSampleComponent,
@@ -318,7 +305,7 @@ const components = [
];
@NgModule({
- declarations: components,
+ declarations: [AppComponent],
imports: [
BrowserModule,
BrowserAnimationsModule,
@@ -327,35 +314,20 @@ const components = [
CommonModule,
ReactiveFormsModule,
HttpClientModule,
- IgxBottomNavModule,
- IgxIconModule,
- IgxInputGroupModule,
- IgxActionStripModule,
- IgxGridModule,
- IgxTreeGridModule,
- IgxHierarchicalGridModule,
- IgxDragDropModule,
- IgxDateRangePickerModule,
- IgxPickersCommonModule,
- IgxDividerModule,
- IgxButtonGroupModule,
- IgxListModule,
- IgxTextSelectionModule,
- SharedModule,
+ PageHeaderComponent,
+ IgxNavigationDrawerComponent,
+ IgxNavDrawerItemDirective,
+ IgxNavDrawerMiniTemplateDirective,
+ IgxNavDrawerTemplateDirective,
+ IgxIconComponent,
routing,
HammerModule,
- IgxDateTimeEditorModule,
- IgxButtonModule,
- IgxPivotGridModule,
- IgxQueryBuilderModule,
- IgcFormsModule
+ ...components
],
providers: [
LocalService,
RemoteService,
HierarchicalRemoteService,
- GridBaseAPIService,
- IgxGridHierarchicalPipe,
IgxIconService,
IgxOverlayService,
{ provide: DisplayDensityToken, useFactory: () => ({ displayDensity: DisplayDensity.comfortable }) },
diff --git a/src/app/app.routing.ts b/src/app/app.routing.ts
index 21d38ae48fe..3d299eec004 100644
--- a/src/app/app.routing.ts
+++ b/src/app/app.routing.ts
@@ -6,8 +6,11 @@ import { ButtonSampleComponent } from './button/button.sample';
import { CalendarSampleComponent } from './calendar/calendar.sample';
import { CardSampleComponent } from './card/card.sample';
import { CarouselSampleComponent } from './carousel/carousel.sample';
+import { ChipsSampleComponent } from './chips/chips.sample';
+import { ExpansionPanelSampleComponent } from './expansion-panel/expansion-panel-sample';
import { DatePickerSampleComponent } from './date-picker/date-picker.sample';
import { DialogSampleComponent } from './dialog/dialog.sample';
+import { DragDropSampleComponent } from './drag-drop/drag-drop.sample';
import { MaskSampleComponent } from './mask/mask.sample';
import { IconSampleComponent } from './icon/icon.sample';
import { InputSampleComponent } from './input/input.sample';
@@ -21,6 +24,7 @@ import { NavdrawerSampleComponent } from './navdrawer/navdrawer.sample';
import { ProgressbarSampleComponent } from './progressbar/progressbar.sample';
import { RippleSampleComponent } from './ripple/ripple.sample';
import { SliderSampleComponent } from './slider/slider.sample';
+import { SplitterSampleComponent } from './splitter/splitter.sample';
import { SnackbarSampleComponent } from './snackbar/snackbar.sample';
import { ColorsSampleComponent } from './styleguide/colors/color.sample';
import { ShadowsSampleComponent } from './styleguide/shadows/shadows.sample';
@@ -42,19 +46,32 @@ import {
import { TimePickerSampleComponent } from './time-picker/time-picker.sample';
import { ToastSampleComponent } from './toast/toast.sample';
import { VirtualForSampleComponent } from './virtual-for-directive/virtual-for.sample';
+import { GridCellEditingComponent } from './grid-cellEditing/grid-cellEditing.component';
import { GridSampleComponent } from './grid/grid.sample';
+import { GridColumnMovingSampleComponent } from './grid-column-moving/grid-column-moving.sample';
+import { GridColumnSelectionSampleComponent } from './grid-column-selection/grid-column-selection.sample';
import { GridColumnPinningSampleComponent } from './grid-column-pinning/grid-column-pinning.sample';
import { GridColumnResizingSampleComponent } from './grid-column-resizing/grid-column-resizing.sample';
+import { GridGroupBySampleComponent } from './grid-groupby/grid-groupby.sample';
import { GridSummaryComponent } from './grid-summaries/grid-summaries.sample';
import { GridPerformanceSampleComponent } from './grid-performance/grid-performance.sample';
import { GridRemotePagingSampleComponent } from './grid-remote-paging/grid-remote-paging.sample';
import { GridSelectionComponent } from './grid-selection/grid-selection.sample';
import { GridRowDraggableComponent } from './grid-row-draggable/grid-row-draggable.sample';
+import { GridToolbarSampleComponent } from './grid-toolbar/grid-toolbar.sample';
+import { GridToolbarCustomSampleComponent } from './grid-toolbar/grid-toolbar-custom.sample';
import { GridVirtualizationSampleComponent } from './grid-remote-virtualization/grid-remote-virtualization.sample';
import { ButtonGroupSampleComponent } from './buttonGroup/buttonGroup.sample';
-import { GridGroupBySampleComponent } from './grid-groupby/grid-groupby.sample';
+import { GridColumnGroupsSampleComponent } from './grid-column-groups/grid-column-groups.sample';
+import { DropDownSampleComponent } from './drop-down/drop-down.sample';
+import { DisplayDensityDropDownComponent } from './drop-down/display-density/display-density.sample';
+import { DropDownVirtualComponent } from './drop-down/drop-down-virtual/drop-down-virtual.component';
+import { ComboSampleComponent } from './combo/combo.sample';
+import { OverlaySampleComponent } from './overlay/overlay.sample';
+import { OverlayAnimationSampleComponent } from './overlay/overlay-animation.sample';
+import { OverlayPresetsSampleComponent } from './overlay/overlay-presets.sample';
+import { RadioSampleComponent } from './radio/radio.sample';
import { TooltipSampleComponent } from './tooltip/tooltip.sample';
-import { ExpansionPanelSampleComponent } from './expansion-panel/expansion-panel-sample';
import { GridCellStylingSampleComponent } from './gird-cell-styling/grid-cell-styling.sample';
import { GridRowEditSampleComponent } from './grid-row-edit/grid-row-edit-sample.component';
import { TreeGridSampleComponent } from './tree-grid/tree-grid.sample';
@@ -65,15 +82,28 @@ import { HierarchicalGridUpdatingSampleComponent } from './hierarchical-grid-upd
import { GridColumnPercentageWidthsSampleComponent } from './grid-percentage-columns/grid-percantge-widths.sample';
import { BannerSampleComponent } from './banner/banner.sample';
import { CalendarViewsSampleComponent } from './calendar-views/calendar-views.sample';
-import { AutocompleteSampleComponent } from './autocomplete/autocomplete.sample';
import { SelectSampleComponent } from './select/select.sample';
+import { GridSearchComponent } from './grid-search/grid-search.sample';
+import { AutocompleteSampleComponent } from './autocomplete/autocomplete.sample';
+import { GridMRLSampleComponent } from './grid-multi-row-layout/grid-mrl.sample';
import { TreeGridLoadOnDemandSampleComponent } from './tree-grid-load-on-demand/tree-grid-load-on-demand.sample';
+import { GridFilterTemplateSampleComponent } from './grid-filter-template/grid-filter-template.sample';
+import { GridMRLConfigSampleComponent } from './grid-multi-row-layout-config/grid-mrl-config.sample';
+import { GridMRLCustomNavigationSampleComponent } from './grid-mrl-custom-navigation/grid-mrl-custom-navigation';
+import { GridClipboardSampleComponent } from './grid-clipboard/grid-clipboard.sample';
import { GridAutoSizeSampleComponent } from './grid-auto-size/grid-auto-size.sample';
+import { GridFlexSampleComponent } from './grid-flex-layout/grid-flex.sample';
+import { GridEsfLoadOnDemandComponent } from './grid-esf-load-on-demand/grid-esf-load-on-demand.component';
+import { GridFilteringComponent } from './grid-filtering/grid-filtering.sample';
+import { GridExternalFilteringComponent } from './grid-external-filtering/grid-external-filtering.sample';
import { GridSaveStateComponent } from './grid-state/grid-state.component';
import { AboutComponent } from './grid-state/about.component';
import { GridMasterDetailSampleComponent } from './grid-master-detail/grid-master-detail.sample';
import { DateTimeEditorSampleComponent } from './date-time-editor/date-time-editor.sample';
import { GridRowPinningSampleComponent } from './grid-row-pinning/grid-row-pinning.sample';
+import { GridRowReorderComponent } from './grid-row-reorder/grid-row-reorder.sample';
+import { ReactiveFormSampleComponent } from './reactive-from/reactive-form-sample.component';
+import { DateRangeSampleComponent } from './date-range/date-range.sample';
import { ActionStripSampleComponent } from './action-strip/action-strip.sample';
import {
HierarchicalGridRemoteVirtualizationComponent
@@ -88,9 +118,9 @@ import { GridFormattingComponent } from './grid-formatting/grid-formatting.compo
import { MainComponent } from './grid-finjs/main.component';
import { GridEventsComponent } from './grid-events/grid-events.component';
import { GridRowAPISampleComponent } from './grid-row-api/grid-row-api.sample';
-import { GridRowReorderComponent } from './grid-row-reorder/grid-row-reorder.sample';
import { GridUpdatesComponent } from './grid-updates-test/grid-updates.component';
import { TreeSampleComponent } from './tree/tree.sample';
+import { GridColumnTypesSampleComponent } from './grid-column-types/grid-column-types.sample';
import { AccordionSampleComponent } from './accordion/accordion.sample';
import { GridLocalizationSampleComponent } from './grid-localization/grid-localization.sample';
import { TreeGridGroupBySampleComponent } from './tree-grid-groupby/tree-grid-groupby.sample';
@@ -99,10 +129,13 @@ import { GridCellAPISampleComponent } from './grid-cell-api/grid-cell-api.sample
import { PivotGridSampleComponent } from './pivot-grid/pivot-grid.sample';
import { PivotGridHierarchySampleComponent } from './pivot-grid-hierarchy/pivot-grid-hierarchy.sample';
import { PivotGridNoopSampleComponent } from './pivot-grid-noop/pivot-grid-noop.sample';
-import { IgxStepperSampleComponent } from './stepper/stepper.sample';
+import { IgxStepperSampleComponent as StepperSampleComponent } from './stepper/stepper.sample';
+import { RatingSampleComponent } from './rating/rating.sample';
import { RangeSliderComponent } from './slider/range-slider/range-slider.component';
+import { QueryBuilderComponent } from './query-builder/query-builder.sample';
import { PivotGridStateSampleComponent } from './pivot-grid-state/pivot-grid-state.sample';
import { GridValidationSampleComponent } from './grid-validation/grid-validation.sample.component';
+import { GridExportComponent } from './grid-export/grid-export.sample';
const appRoutes: Routes = [
{
@@ -158,6 +191,18 @@ const appRoutes: Routes = [
path: 'carousel',
component: CarouselSampleComponent
},
+ {
+ path: 'combo',
+ component: ComboSampleComponent
+ },
+ {
+ path: 'expansionPanel',
+ component: ExpansionPanelSampleComponent
+ },
+ {
+ path: 'chip',
+ component: ChipsSampleComponent
+ },
{
path: 'datePicker',
component: DatePickerSampleComponent
@@ -167,13 +212,29 @@ const appRoutes: Routes = [
component: DialogSampleComponent
},
{
- path: 'expansion-panel',
- component: ExpansionPanelSampleComponent
+ path: 'dropDown',
+ component: DropDownSampleComponent
+ },
+ {
+ path: 'dropDown-density',
+ component: DisplayDensityDropDownComponent
+ },
+ {
+ path: 'virtual-dropdown',
+ component: DropDownVirtualComponent
+ },
+ {
+ path: 'drag-drop',
+ component: DragDropSampleComponent
},
{
path: 'icon',
component: IconSampleComponent
},
+ {
+ path: 'lazyIconModule',
+ loadChildren: () => import('./icon/LazyModule/lazyIcon.module').then(m => m.LazyIconModule)
+ },
{
path: 'inputs',
component: InputSampleComponent
@@ -214,10 +275,34 @@ const appRoutes: Routes = [
path: 'navdrawer',
component: NavdrawerSampleComponent
},
+ {
+ path: 'overlay',
+ component: OverlaySampleComponent
+ },
+ {
+ path: 'overlay-presets',
+ component: OverlayPresetsSampleComponent
+ },
+ {
+ path: 'overlay-animation',
+ component: OverlayAnimationSampleComponent
+ },
{
path: 'progressbar',
component: ProgressbarSampleComponent
},
+ {
+ path: 'radio',
+ component: RadioSampleComponent
+ },
+ {
+ path: 'rating',
+ component: RatingSampleComponent
+ },
+ {
+ path: 'reactive',
+ component: ReactiveFormSampleComponent
+ },
{
path: 'ripple',
component: RippleSampleComponent
@@ -230,6 +315,10 @@ const appRoutes: Routes = [
path: 'range-slider',
component: RangeSliderComponent
},
+ {
+ path: 'splitter',
+ component: SplitterSampleComponent
+ },
{
path: 'snackbar',
component: SnackbarSampleComponent
@@ -291,6 +380,14 @@ const appRoutes: Routes = [
path: 'virtualForDirective',
component: VirtualForSampleComponent
},
+ {
+ path: 'gridCellEditing',
+ component: GridCellEditingComponent
+ },
+ {
+ path: 'gridConditionalCellStyling',
+ component: GridCellStylingSampleComponent
+ },
{
path: 'grid',
component: GridSampleComponent
@@ -307,6 +404,30 @@ const appRoutes: Routes = [
path: 'treeGridAddRow',
component: TreeGridAddRowSampleComponent
},
+ {
+ path: 'gridFilterTemplate',
+ component: GridFilterTemplateSampleComponent
+ },
+ {
+ path: 'gridEsfLoadOnDemand',
+ component: GridEsfLoadOnDemandComponent
+ },
+ {
+ path: 'gridClipboard',
+ component: GridClipboardSampleComponent
+ },
+ {
+ path: 'gridColumnMoving',
+ component: GridColumnMovingSampleComponent
+ },
+ {
+ path: 'gridColumnTypes',
+ component: GridColumnTypesSampleComponent
+ },
+ {
+ path: 'gridColumnSelecting',
+ component: GridColumnSelectionSampleComponent
+ },
{
path: 'gridColumnPinning',
component: GridColumnPinningSampleComponent
@@ -323,21 +444,17 @@ const appRoutes: Routes = [
path: 'gridRowAPI',
component: GridRowAPISampleComponent
},
- {
- path: 'gridRowReorder',
- component: GridRowReorderComponent
- },
{
path: 'gridCellAPI',
component: GridCellAPISampleComponent
},
{
- path: 'gridColumnResizing',
- component: GridColumnResizingSampleComponent
+ path: 'gridRemotePaging',
+ component: GridRemotePagingSampleComponent
},
{
- path: 'gridConditionalCellStyling',
- component: GridCellStylingSampleComponent
+ path: 'gridColumnResizing',
+ component: GridColumnResizingSampleComponent
},
{
path: 'gridSummary',
@@ -347,10 +464,6 @@ const appRoutes: Routes = [
path: 'gridPerformance',
component: GridPerformanceSampleComponent
},
- {
- path: 'gridRemotePaging',
- component: GridRemotePagingSampleComponent
- },
{
path: 'gridSelection',
component: GridSelectionComponent
@@ -360,21 +473,41 @@ const appRoutes: Routes = [
component: GridRowDraggableComponent
},
{
- path: 'gridRemoteVirtualization',
- component: GridVirtualizationSampleComponent
+ path: 'gridToolbar',
+ component: GridToolbarSampleComponent
},
{
- path: 'gridRowEdit',
- component: GridRowEditSampleComponent
+ path: 'gridToolbarCustom',
+ component: GridToolbarCustomSampleComponent
},
{
- path: 'gridValidation',
- component: GridValidationSampleComponent
+ path: 'gridRemoteVirtualization',
+ component: GridVirtualizationSampleComponent
+ },
+ {
+ path: 'gridExport',
+ component: GridExportComponent
},
{
path: 'buttonGroup',
component: ButtonGroupSampleComponent
},
+ {
+ path: 'gridColumnGroups',
+ component: GridColumnGroupsSampleComponent
+ },
+ {
+ path: 'gridMRL',
+ component: GridMRLSampleComponent
+ },
+ {
+ path: 'gridMRLConfig',
+ component: GridMRLConfigSampleComponent
+ },
+ {
+ path: 'gridMRLCustomNav',
+ component: GridMRLCustomNavigationSampleComponent
+ },
{
path: 'gridGroupBy',
component: GridGroupBySampleComponent
@@ -388,9 +521,36 @@ const appRoutes: Routes = [
component: GridLocalizationSampleComponent
},
{
+ path: 'gridRowEdit',
+ component: GridRowEditSampleComponent
+ },
+ {
+ path: 'gridRowReorder',
+ component: GridRowReorderComponent
+ },
+ {
+ path: 'gridValidation',
+ component: GridValidationSampleComponent
+ },
+ {
+ path: 'gridScrollVirtualization',
+ component: GridVirtualizationScrollSampleComponent
+ },
+ {
+ path: 'gridFormatting',
+ component: GridFormattingComponent
+ },
+ {
+ path: 'gridFinJS',
+ component: MainComponent
+ }, {
path: 'tree',
component: TreeSampleComponent
},
+ {
+ path: 'gridUpdates',
+ component: GridUpdatesComponent
+ },
{
path: 'treeGrid',
component: TreeGridSampleComponent
@@ -431,6 +591,22 @@ const appRoutes: Routes = [
path: 'gridAutoSize',
component: GridAutoSizeSampleComponent
},
+ {
+ path: 'gridFlex',
+ component: GridFlexSampleComponent
+ },
+ {
+ path: 'gridSearch',
+ component: GridSearchComponent
+ },
+ {
+ path: 'gridFiltering',
+ component: GridFilteringComponent
+ },
+ {
+ path: 'gridExternalFiltering',
+ component: GridExternalFilteringComponent
+ },
{
path: 'gridState',
component: GridSaveStateComponent
@@ -440,29 +616,17 @@ const appRoutes: Routes = [
component: AboutComponent
},
{
- path: 'gridScrollVirtualization',
- component: GridVirtualizationScrollSampleComponent
+ path: 'dateRange',
+ component: DateRangeSampleComponent
},
{
path: 'grid-nested-props',
component: GridNestedPropsSampleComponent
},
- {
- path: 'gridFormatting',
- component: GridFormattingComponent
- },
- {
- path: 'gridFinJS',
- component: MainComponent
- },
{
path: 'gridEvents',
component: GridEventsComponent
},
- {
- path: 'gridUpdates',
- component: GridUpdatesComponent
- },
{
path: 'pagination',
component: PaginationSampleComponent
@@ -472,21 +636,25 @@ const appRoutes: Routes = [
component: PivotGridSampleComponent
},
{
- path: 'pivotHierarchy',
+ path: 'pivot-hierarchy',
component: PivotGridHierarchySampleComponent
},
{
- path: 'pivotState',
+ path: 'pivot-state',
component: PivotGridStateSampleComponent
},
- {
+ {
path: 'pivot-noop',
component: PivotGridNoopSampleComponent
},
+ {
+ path: 'query-builder',
+ component: QueryBuilderComponent
+ },
{
path: 'stepper',
- component: IgxStepperSampleComponent
+ component: StepperSampleComponent
}
];
-export const routing = RouterModule.forRoot(appRoutes);
+export const routing = RouterModule.forRoot(appRoutes, {});
diff --git a/src/app/autocomplete/autocomplete.sample.ts b/src/app/autocomplete/autocomplete.sample.ts
index c73b957b69b..3b94607c39c 100644
--- a/src/app/autocomplete/autocomplete.sample.ts
+++ b/src/app/autocomplete/autocomplete.sample.ts
@@ -1,13 +1,50 @@
import { Component, PipeTransform, Pipe, ViewChild } from '@angular/core';
-import { UntypedFormBuilder, UntypedFormControl, Validators, UntypedFormGroup } from '@angular/forms';
+import { NgFor } from '@angular/common';
+import { UntypedFormBuilder, UntypedFormControl, Validators, UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
+
import { worldInfo, attractions } from './data';
-import { IgxDialogComponent } from 'igniteui-angular';
+import { IgxAutocompleteDirective, IgxButtonDirective, IgxDialogComponent, IgxDropDownComponent, IgxDropDownGroupComponent, IgxDropDownItemComponent, IgxIconComponent, IgxInputDirective, IgxInputGroupComponent, IgxPrefixDirective, IgxSwitchComponent } from 'igniteui-angular';
const ATTRACTIONS_CUSTOM_WIDTH = '300px';
+
+@Pipe({
+ name: 'contains',
+ standalone: true
+})
+export class AutocompletePipeContains implements PipeTransform {
+ public transform = (items: any[], term = '') => filterContains(items, term);
+}
+
+@Pipe({
+ name: 'groupContains',
+ standalone: true
+})
+export class AutocompleteGroupPipeContains implements PipeTransform {
+ public transform = (continents: any[], term = '') => filterGroupContains(continents, term);
+}
@Component({
selector: 'app-autocomplete-sample',
styleUrls: ['autocomplete.sample.scss'],
- templateUrl: `autocomplete.sample.html`
+ templateUrl: `autocomplete.sample.html`,
+ standalone: true,
+ imports: [
+ NgFor,
+ FormsModule,
+ ReactiveFormsModule,
+ IgxInputGroupComponent,
+ IgxPrefixDirective,
+ IgxIconComponent,
+ IgxInputDirective,
+ IgxAutocompleteDirective,
+ IgxDropDownComponent,
+ IgxDropDownGroupComponent,
+ IgxDropDownItemComponent,
+ IgxDialogComponent,
+ IgxButtonDirective,
+ IgxSwitchComponent,
+ AutocompletePipeContains,
+ AutocompleteGroupPipeContains
+ ]
})
export class AutocompleteSampleComponent {
@ViewChild('alert', { read: IgxDialogComponent, static: true })
@@ -44,16 +81,6 @@ export class AutocompleteSampleComponent {
}
}
-@Pipe({ name: 'contains' })
-export class AutocompletePipeContains implements PipeTransform {
- public transform = (items: any[], term = '') => filterContains(items, term);
-}
-
-@Pipe({ name: 'groupContains' })
-export class AutocompleteGroupPipeContains implements PipeTransform {
- public transform = (continents: any[], term = '') => filterGroupContains(continents, term);
-}
-
const filterContains = (items: any[], term: string, exactMatch = false): any[] => items.filter((item) => {
const itm = (item.name ? item.name : item).toString().toLowerCase();
const trm = term.toString().toLowerCase();
diff --git a/src/app/avatar/avatar.sample.ts b/src/app/avatar/avatar.sample.ts
index ffd4b41a279..2772a19f967 100644
--- a/src/app/avatar/avatar.sample.ts
+++ b/src/app/avatar/avatar.sample.ts
@@ -1,9 +1,12 @@
import { Component } from '@angular/core';
+import { IgxAvatarComponent, IgxDragDirective } from 'igniteui-angular';
@Component({
selector: 'app-avatar-sample',
styleUrls: ['avatar.sample.scss'],
- templateUrl: `avatar.sample.html`
+ templateUrl: `avatar.sample.html`,
+ standalone: true,
+ imports: [IgxAvatarComponent, IgxDragDirective]
})
export class AvatarSampleComponent {
}
diff --git a/src/app/badge/badge.sample.ts b/src/app/badge/badge.sample.ts
index 720576ab2e1..476783d52e6 100644
--- a/src/app/badge/badge.sample.ts
+++ b/src/app/badge/badge.sample.ts
@@ -1,8 +1,11 @@
import { Component } from '@angular/core';
+import { IgxAvatarComponent, IgxBadgeComponent } from 'igniteui-angular';
@Component({
selector: 'app-badge-sample',
styleUrls: ['badge.sample.scss'],
- templateUrl: 'badge.sample.html'
+ templateUrl: 'badge.sample.html',
+ standalone: true,
+ imports: [IgxAvatarComponent, IgxBadgeComponent]
})
export class BadgeSampleComponent {}
diff --git a/src/app/banner/banner.sample.ts b/src/app/banner/banner.sample.ts
index 6867ed8b340..e128b74cdff 100644
--- a/src/app/banner/banner.sample.ts
+++ b/src/app/banner/banner.sample.ts
@@ -1,11 +1,13 @@
import { Component, ViewChild } from '@angular/core';
-import { IgxBannerComponent, growVerIn, growVerOut } from 'igniteui-angular';
import { useAnimation } from '@angular/animations';
+import { IgxBannerActionsDirective, IgxBannerComponent, IgxButtonDirective, IgxFlexDirective, IgxIconComponent, IgxLayoutDirective, IgxRippleDirective, growVerIn, growVerOut } from 'igniteui-angular';
@Component({
selector: 'app-banner-sample',
templateUrl: `banner.sample.html`,
- styleUrls: [`banner.sample.scss`]
+ styleUrls: [`banner.sample.scss`],
+ standalone: true,
+ imports: [IgxBannerComponent, IgxIconComponent, IgxBannerActionsDirective, IgxButtonDirective, IgxRippleDirective, IgxLayoutDirective, IgxFlexDirective]
})
export class BannerSampleComponent {
@ViewChild('bannerNoSafeConnection', { static: true })
diff --git a/src/app/bottomnav-routing/bottomnav-routing-views.sample.ts b/src/app/bottomnav-routing/bottomnav-routing-views.sample.ts
index e81410c0233..4e5be49df4a 100644
--- a/src/app/bottomnav-routing/bottomnav-routing-views.sample.ts
+++ b/src/app/bottomnav-routing/bottomnav-routing-views.sample.ts
@@ -1,4 +1,6 @@
import { Component } from '@angular/core';
+import { NgFor } from '@angular/common';
+import { IgxAvatarComponent, IgxIconComponent, IgxListActionDirective, IgxListComponent, IgxListItemComponent, IgxListLineSubTitleDirective, IgxListLineTitleDirective, IgxListThumbnailDirective, IgxRippleDirective } from 'igniteui-angular';
@Component({
template: `
@@ -11,7 +13,20 @@ import { Component } from '@angular/core';
phone
- `
+ `,
+ standalone: true,
+ imports: [
+ NgFor,
+ IgxListComponent,
+ IgxListItemComponent,
+ IgxRippleDirective,
+ IgxAvatarComponent,
+ IgxListThumbnailDirective,
+ IgxListLineTitleDirective,
+ IgxListLineSubTitleDirective,
+ IgxIconComponent,
+ IgxListActionDirective
+ ]
})
export class BottomNavRoutingView1Component {
@@ -57,7 +72,8 @@ export class BottomNavRoutingView1Component {
a magna euismod volutpat id in mi. Etiam a nunc ut tellus dictum porta. Donec in ligula a
arcu sollicitudin finibus. Vivamus id lorem pulvinar, accumsan justo vitae, vehicula diam.
Mauris vel quam at velit venenatis vulputate in quis nisl.
- `
+ `,
+ standalone: true
})
export class BottomNavRoutingView2Component {
}
@@ -69,7 +85,8 @@ export class BottomNavRoutingView2Component {
consectetur accumsan suscipit. Praesent rutrum tellus blandit bibendum cursus. Vestibulum
urna arcu, bibendum nec molestie ac, varius congue massa. Mauris porttitor viverra lacus.
Donec efficitur purus id urna dapibus, vitae pharetra orci pellentesque.
- `
+ `,
+ standalone: true
})
export class BottomNavRoutingView3Component {
}
diff --git a/src/app/bottomnav-routing/bottomnav-routing.sample.ts b/src/app/bottomnav-routing/bottomnav-routing.sample.ts
index c053c5bbc00..ed5819ef509 100644
--- a/src/app/bottomnav-routing/bottomnav-routing.sample.ts
+++ b/src/app/bottomnav-routing/bottomnav-routing.sample.ts
@@ -1,9 +1,13 @@
import { Component } from '@angular/core';
+import { RouterOutlet, RouterLinkActive, RouterLink } from '@angular/router';
+import { IgxBottomNavComponent, IgxBottomNavHeaderComponent, IgxBottomNavHeaderIconDirective, IgxBottomNavHeaderLabelDirective, IgxBottomNavItemComponent, IgxIconComponent } from 'igniteui-angular';
@Component({
-selector: 'app-bottomnav-routing-sample',
-styleUrls: ['bottomnav-routing.sample.scss'],
-templateUrl: 'bottomnav-routing.sample.html'
+ selector: 'app-bottomnav-routing-sample',
+ styleUrls: ['bottomnav-routing.sample.scss'],
+ templateUrl: 'bottomnav-routing.sample.html',
+ standalone: true,
+ imports: [RouterOutlet, IgxBottomNavComponent, IgxBottomNavItemComponent, RouterLinkActive, IgxBottomNavHeaderComponent, RouterLink, IgxIconComponent, IgxBottomNavHeaderIconDirective, IgxBottomNavHeaderLabelDirective]
})
export class BottomNavRoutingSampleComponent {
}
diff --git a/src/app/bottomnav/bottomnav.sample.ts b/src/app/bottomnav/bottomnav.sample.ts
index 39d0395c223..0f55beba397 100644
--- a/src/app/bottomnav/bottomnav.sample.ts
+++ b/src/app/bottomnav/bottomnav.sample.ts
@@ -1,14 +1,37 @@
-import { AfterViewInit,
- Component,
- ElementRef,
- QueryList,
- Renderer2,
- ViewChildren } from '@angular/core';
+import {
+ AfterViewInit,
+ Component,
+ ElementRef,
+ QueryList,
+ Renderer2,
+ ViewChildren
+} from '@angular/core';
+import { NgFor } from '@angular/common';
+import { IgxAvatarComponent, IgxBottomNavComponent, IgxBottomNavContentComponent, IgxBottomNavHeaderComponent, IgxBottomNavHeaderIconDirective, IgxBottomNavHeaderLabelDirective, IgxBottomNavItemComponent, IgxIconComponent, IgxListActionDirective, IgxListComponent, IgxListItemComponent, IgxListLineSubTitleDirective, IgxListLineTitleDirective, IgxListThumbnailDirective, IgxRippleDirective } from 'igniteui-angular';
@Component({
selector: 'app-bottomnav-sample',
styleUrls: ['bottomnav.sample.scss'],
- templateUrl: 'bottomnav.sample.html'
+ templateUrl: 'bottomnav.sample.html',
+ standalone: true,
+ imports: [
+ NgFor,
+ IgxBottomNavComponent,
+ IgxBottomNavItemComponent,
+ IgxBottomNavHeaderComponent,
+ IgxIconComponent,
+ IgxBottomNavHeaderIconDirective,
+ IgxBottomNavHeaderLabelDirective,
+ IgxBottomNavContentComponent,
+ IgxListComponent,
+ IgxListItemComponent,
+ IgxRippleDirective,
+ IgxAvatarComponent,
+ IgxListThumbnailDirective,
+ IgxListLineTitleDirective,
+ IgxListLineSubTitleDirective,
+ IgxListActionDirective
+ ]
})
export class BottomNavSampleComponent implements AfterViewInit {
@ViewChildren('tabbarEl')
@@ -79,7 +102,8 @@ export class BottomNavSampleComponent implements AfterViewInit {
@Component({
selector: 'app-custom-content',
- templateUrl: 'template.html'
+ templateUrl: 'template.html',
+ standalone: true
})
export class CustomContentComponent {
diff --git a/src/app/button/button.sample.ts b/src/app/button/button.sample.ts
index f8994e7ba40..da6ab5f45c3 100644
--- a/src/app/button/button.sample.ts
+++ b/src/app/button/button.sample.ts
@@ -1,11 +1,13 @@
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
-import { DisplayDensity } from 'igniteui-angular';
+import { DisplayDensity, IgxButtonDirective, IgxButtonGroupComponent, IgxIconComponent } from 'igniteui-angular';
@Component({
selector: 'app-button-sample',
styleUrls: ['button.sample.scss'],
templateUrl: 'button.sample.html',
- encapsulation: ViewEncapsulation.None
+ encapsulation: ViewEncapsulation.None,
+ standalone: true,
+ imports: [IgxButtonDirective, IgxIconComponent, IgxButtonGroupComponent]
})
export class ButtonSampleComponent implements OnInit {
public density: DisplayDensity = 'comfortable';
diff --git a/src/app/buttonGroup/buttonGroup.sample.ts b/src/app/buttonGroup/buttonGroup.sample.ts
index a98214f1497..2d8941d462b 100644
--- a/src/app/buttonGroup/buttonGroup.sample.ts
+++ b/src/app/buttonGroup/buttonGroup.sample.ts
@@ -1,5 +1,7 @@
import { Component, OnInit, ViewChild } from '@angular/core';
-import { ButtonGroupAlignment, IgxButtonGroupComponent } from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+import { ButtonGroupAlignment, IgxButtonDirective, IgxButtonGroupComponent, IgxIconComponent, IgxLayoutDirective } from 'igniteui-angular';
+
interface IButton {
ripple?: string;
@@ -36,7 +38,9 @@ class Button {
@Component({
selector: 'app-buttongroup-sample',
- templateUrl: 'buttonGroup.sample.html'
+ templateUrl: 'buttonGroup.sample.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxButtonDirective, IgxIconComponent, NgFor, IgxLayoutDirective]
})
export class ButtonGroupSampleComponent implements OnInit {
diff --git a/src/app/calendar-views/calendar-views.sample.ts b/src/app/calendar-views/calendar-views.sample.ts
index 543e32756b4..f2212c5f3e5 100644
--- a/src/app/calendar-views/calendar-views.sample.ts
+++ b/src/app/calendar-views/calendar-views.sample.ts
@@ -1,18 +1,26 @@
import { Component, OnInit, ViewChild } from '@angular/core';
-import {
- IgxCalendarComponent,
- DateRangeType,
- IgxDaysViewComponent
-} from 'igniteui-angular';
+import { FormsModule } from '@angular/forms';
+import { DateRangeType, IgxButtonDirective, IgxCardComponent, IgxDaysViewComponent, IgxMonthsViewComponent, IgxRippleDirective, IgxYearsViewComponent } from 'igniteui-angular';
+
@Component({
selector: 'app-calendar-views-sample',
templateUrl: 'calendar-views.sample.html',
- styleUrls: ['calendar-views.sample.scss']
+ styleUrls: ['calendar-views.sample.scss'],
+ standalone: true,
+ imports: [
+ FormsModule,
+ IgxCardComponent,
+ IgxMonthsViewComponent,
+ IgxYearsViewComponent,
+ IgxDaysViewComponent,
+ IgxButtonDirective,
+ IgxRippleDirective
+ ]
})
export class CalendarViewsSampleComponent implements OnInit {
- @ViewChild('calendar', { static: true })
- private calendar: IgxCalendarComponent;
+ // @ViewChild('calendar', { static: true })
+ // private calendar: IgxCalendarComponent;
@ViewChild('daysView', { static: true })
private daysView: IgxDaysViewComponent;
@@ -78,15 +86,15 @@ export class CalendarViewsSampleComponent implements OnInit {
console.log(`selected date: ${date}`);
}
- public select() {
- // this.calendar.selectDate(new Date(2019, 1, 13));
- this.calendar.selectDate([new Date(2019, 1, 13), new Date(2019, 1, 14)]);
- }
+ // public select() {
+ // // this.calendar.selectDate(new Date(2019, 1, 13));
+ // this.calendar.selectDate([new Date(2019, 1, 13), new Date(2019, 1, 14)]);
+ // }
- public deselect() {
- // this.calendar.deselectDate(new Date(2019, 1, 13));
- this.calendar.deselectDate([new Date(2019, 1, 7), new Date(2019, 1, 8), new Date(2019, 1, 13), new Date(2019, 1, 14)]);
- }
+ // public deselect() {
+ // // this.calendar.deselectDate(new Date(2019, 1, 13));
+ // this.calendar.deselectDate([new Date(2019, 1, 7), new Date(2019, 1, 8), new Date(2019, 1, 13), new Date(2019, 1, 14)]);
+ // }
public selectDV() {
this.daysView.selectDate(new Date(2019, 1, 13));
diff --git a/src/app/calendar/calendar.sample.ts b/src/app/calendar/calendar.sample.ts
index f57627182a7..8586b683ac5 100644
--- a/src/app/calendar/calendar.sample.ts
+++ b/src/app/calendar/calendar.sample.ts
@@ -1,18 +1,21 @@
import { Component, OnInit, ViewChild } from '@angular/core';
-import { IgxCalendarComponent, IgxDialogComponent, DateRangeType, IViewDateChangeEventArgs } from 'igniteui-angular';
+import { DateRangeType, IgxButtonDirective, IgxCalendarComponent, IgxCardComponent, IgxRippleDirective, IViewDateChangeEventArgs } from 'igniteui-angular';
+
@Component({
selector: 'app-calendar-sample',
templateUrl: 'calendar.sample.html',
- styleUrls: ['calendar.sample.scss']
+ styleUrls: ['calendar.sample.scss'],
+ standalone: true,
+ imports: [IgxButtonDirective, IgxRippleDirective, IgxCardComponent, IgxCalendarComponent]
})
export class CalendarSampleComponent implements OnInit {
@ViewChild('calendar', { static: true })
private calendar: IgxCalendarComponent;
@ViewChild('calendar1', { static: true })
private calendar1: IgxCalendarComponent;
- @ViewChild('alert', { static: true })
- private dialog: IgxDialogComponent;
+ // @ViewChild('alert', { static: true })
+ // private dialog: IgxDialogComponent;
public range = [];
public today = new Date();
@@ -43,12 +46,12 @@ export class CalendarSampleComponent implements OnInit {
this.calendar1.selectDate(item);
});
- if (this.range.length === 0) {
- this.dialog.message = 'Select dates from the Calendar first.';
- } else {
- this.dialog.message = 'PTO days submitted.';
- }
- this.dialog.open();
+ // if (this.range.length === 0) {
+ // this.dialog.message = 'Select dates from the Calendar first.';
+ // } else {
+ // this.dialog.message = 'PTO days submitted.';
+ // }
+ // this.dialog.open();
}
public showHide() {
@@ -56,7 +59,7 @@ export class CalendarSampleComponent implements OnInit {
}
public onSelection(event: Date | Date []) {
- console.log(`Selected date\s:${event}`);
+ console.log(`Selected dates: ${event}`);
}
public viewDateChanged(event: IViewDateChangeEventArgs) {
diff --git a/src/app/card/card.sample.ts b/src/app/card/card.sample.ts
index 8ea63239ceb..af3b7fad11c 100644
--- a/src/app/card/card.sample.ts
+++ b/src/app/card/card.sample.ts
@@ -1,7 +1,7 @@
import { Component, ViewChild, ViewEncapsulation } from '@angular/core';
-import {
- IgxExpansionPanelComponent
-} from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { IgxAvatarComponent, IgxButtonDirective, IgxCardActionsComponent, IgxCardComponent, IgxCardContentDirective, IgxCardHeaderComponent, IgxCardHeaderSubtitleDirective, IgxCardHeaderTitleDirective, IgxCardMediaDirective, IgxChipComponent, IgxDividerDirective, IgxExpansionPanelBodyComponent, IgxExpansionPanelComponent, IgxIconComponent, IgxListComponent, IgxListItemComponent, IgxListLineTitleDirective, IgxRippleDirective, IgxSliderComponent } from 'igniteui-angular';
export interface ICard {
title: string;
@@ -59,7 +59,31 @@ const detailsFactory = (params: any): Idetails => ({
encapsulation: ViewEncapsulation.None,
selector: 'app-card-sample',
styleUrls: ['card.sample.scss'],
- templateUrl: 'card.sample.html'
+ templateUrl: 'card.sample.html',
+ standalone: true,
+ imports: [
+ NgFor,
+ FormsModule,
+ IgxCardComponent,
+ IgxCardMediaDirective,
+ IgxCardHeaderComponent,
+ IgxCardContentDirective,
+ IgxDividerDirective,
+ IgxChipComponent,
+ IgxCardActionsComponent,
+ IgxButtonDirective,
+ IgxRippleDirective,
+ IgxIconComponent,
+ IgxSliderComponent,
+ IgxExpansionPanelComponent,
+ IgxExpansionPanelBodyComponent,
+ IgxListComponent,
+ IgxListItemComponent,
+ IgxListLineTitleDirective,
+ IgxAvatarComponent,
+ IgxCardHeaderTitleDirective,
+ IgxCardHeaderSubtitleDirective
+ ]
})
export class CardSampleComponent {
@ViewChild(IgxExpansionPanelComponent, { static: true })
diff --git a/src/app/carousel/carousel.sample.ts b/src/app/carousel/carousel.sample.ts
index 41afb755366..7997f31f7c1 100644
--- a/src/app/carousel/carousel.sample.ts
+++ b/src/app/carousel/carousel.sample.ts
@@ -1,10 +1,15 @@
import { Component, ViewChild } from '@angular/core';
-import { IgxCarouselComponent, CarouselIndicatorsOrientation } from 'igniteui-angular';
+import { NgFor, NgIf } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { CarouselIndicatorsOrientation, IgxButtonDirective, IgxCarouselComponent, IgxCarouselIndicatorDirective, IgxDropDownComponent, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective, IgxSlideComponent, IgxSwitchComponent, IgxToggleActionDirective } from 'igniteui-angular';
+
@Component({
selector: 'app-carousel-sample',
styleUrls: ['carousel.sample.scss'],
- templateUrl: 'carousel.sample.html'
+ templateUrl: 'carousel.sample.html',
+ standalone: true,
+ imports: [IgxSwitchComponent, FormsModule, IgxButtonDirective, IgxToggleActionDirective, IgxDropDownItemNavigationDirective, IgxDropDownComponent, NgFor, IgxDropDownItemComponent, IgxCarouselComponent, IgxSlideComponent, IgxCarouselIndicatorDirective, NgIf]
})
export class CarouselSampleComponent {
@ViewChild('car', { static: true })
diff --git a/src/app/chips/chips.sample.ts b/src/app/chips/chips.sample.ts
index 759562833cd..d6ce40e346c 100644
--- a/src/app/chips/chips.sample.ts
+++ b/src/app/chips/chips.sample.ts
@@ -1,13 +1,14 @@
import { Component, ViewChild, ChangeDetectorRef, ElementRef } from '@angular/core';
-import {
- IgxChipsAreaComponent, IgxChipComponent,
- IChipsAreaReorderEventArgs, IBaseChipEventArgs, IChipsAreaSelectEventArgs
-} from 'igniteui-angular';
+import { NgFor, NgIf } from '@angular/common';
+import { IBaseChipEventArgs, IChipsAreaReorderEventArgs, IChipsAreaSelectEventArgs, IgxAvatarComponent, IgxChipComponent, IgxChipsAreaComponent, IgxDropDirective, IgxIconComponent, IgxPrefixDirective, IgxSuffixDirective } from 'igniteui-angular';
+
@Component({
selector: 'app-chips-sample',
styleUrls: ['chips.sample.scss', '../app.component.scss'],
- templateUrl: 'chips.sample.html'
+ templateUrl: 'chips.sample.html',
+ standalone: true,
+ imports: [IgxChipComponent, IgxIconComponent, IgxPrefixDirective, IgxSuffixDirective, IgxChipsAreaComponent, NgFor, NgIf, IgxAvatarComponent, IgxDropDirective]
})
export class ChipsSampleComponent {
@ViewChild('chipsArea', { read: IgxChipsAreaComponent, static: true })
diff --git a/src/app/combo/combo.sample.ts b/src/app/combo/combo.sample.ts
index 68f7efd39f7..6afed412986 100644
--- a/src/app/combo/combo.sample.ts
+++ b/src/app/combo/combo.sample.ts
@@ -1,35 +1,20 @@
import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnInit, TemplateRef, ViewChild } from '@angular/core';
-import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
-import {
- ButtonGroupAlignment,
- ConnectedPositioningStrategy,
- DisplayDensity,
- ElasticPositionStrategy,
- GlobalPositionStrategy,
- HorizontalAlignment,
- IChangeSwitchEventArgs,
- IComboSearchInputEventArgs,
- IComboSelectionChangingEventArgs,
- ISimpleComboSelectionChangingEventArgs,
- IForOfState,
- IgxComboComponent,
- IgxSimpleComboComponent,
- IgxToastComponent,
- OverlaySettings,
- scaleInCenter,
- scaleOutCenter,
- VerticalAlignment
-} from 'igniteui-angular';
+import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { NgIf, AsyncPipe } from '@angular/common';
import { cloneDeep } from 'lodash-es';
-import { IComboFilteringOptions } from 'projects/igniteui-angular/src/lib/combo/combo.common';
import { take } from 'rxjs/operators';
+
import { RemoteNWindService } from './remote-nwind.service';
+import { ButtonGroupAlignment, ConnectedPositioningStrategy, DisplayDensity, ElasticPositionStrategy, GlobalPositionStrategy, HorizontalAlignment, IChangeSwitchEventArgs, IComboFilteringOptions, IComboSearchInputEventArgs, IComboSelectionChangingEventArgs, IForOfState, ISimpleComboSelectionChangingEventArgs, IgxButtonDirective, IgxButtonGroupComponent, IgxComboAddItemDirective, IgxComboComponent, IgxComboFooterDirective, IgxComboHeaderDirective, IgxHintDirective, IgxIconComponent, IgxInputDirective, IgxInputGroupComponent, IgxLabelDirective, IgxPrefixDirective, IgxRippleDirective, IgxSimpleComboComponent, IgxSwitchComponent, IgxToastComponent, OverlaySettings, VerticalAlignment, scaleInCenter, scaleOutCenter } from 'igniteui-angular';
+
@Component({
// eslint-disable-next-line @angular-eslint/component-selector
selector: 'combo-sample',
templateUrl: './combo.sample.html',
- styleUrls: ['combo.sample.scss']
+ styleUrls: ['combo.sample.scss'],
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxInputDirective, FormsModule, IgxSimpleComboComponent, IgxLabelDirective, IgxHintDirective, IgxComboComponent, IgxButtonDirective, ReactiveFormsModule, IgxToastComponent, NgIf, IgxComboHeaderDirective, IgxComboFooterDirective, IgxComboAddItemDirective, IgxRippleDirective, IgxPrefixDirective, IgxIconComponent, IgxSwitchComponent, IgxButtonGroupComponent, AsyncPipe]
})
export class ComboSampleComponent implements OnInit, AfterViewInit {
@ViewChild('playgroundCombo', { static: true })
@@ -73,13 +58,13 @@ export class ComboSampleComponent implements OnInit, AfterViewInit {
public rData: any;
public prevRequest: any;
public simpleComboPrevRequest: any;
- private searchText: string = '';
+ private searchText = '';
private defaultVirtState: IForOfState = { chunkSize: 6, startIndex: 0 };
private currentVirtState: IForOfState = { chunkSize: 6, startIndex: 0 };
private hasSelection: boolean;
- private additionalScroll: number = 0;
+ private additionalScroll = 0;
private itemID = 1;
- private itemCount: number = 0;
+ private itemCount = 0;
public valueKeyVar = 'field';
public currentDataType = '';
diff --git a/src/app/date-picker/date-picker.sample.ts b/src/app/date-picker/date-picker.sample.ts
index 7434bc3007c..56a3bb6cbc9 100644
--- a/src/app/date-picker/date-picker.sample.ts
+++ b/src/app/date-picker/date-picker.sample.ts
@@ -1,11 +1,20 @@
import { Component, ViewChild } from '@angular/core';
-import { IgxDatePickerComponent } from 'igniteui-angular';
+
import { DateRangeDescriptor, DateRangeType } from 'projects/igniteui-angular/src/lib/core/dates/dateRange';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxPickerActionsDirective } from '../../../projects/igniteui-angular/src/lib/date-common/picker-icons.common';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxSuffixDirective } from '../../../projects/igniteui-angular/src/lib/directives/suffix/suffix.directive';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxDatePickerComponent } from '../../../projects/igniteui-angular/src/lib/date-picker/date-picker.component';
@Component({
selector: 'app-date-picker-sample',
styleUrls: ['date-picker.sample.scss'],
- templateUrl: 'date-picker.sample.html'
+ templateUrl: 'date-picker.sample.html',
+ standalone: true,
+ imports: [IgxDatePickerComponent, IgxLabelDirective, IgxSuffixDirective, IgxIconComponent, IgxPickerActionsDirective, IgxButtonDirective, IgxRippleDirective]
})
export class DatePickerSampleComponent {
diff --git a/src/app/date-range/date-range.sample.ts b/src/app/date-range/date-range.sample.ts
index ee8ea9d852b..f3e47289b69 100644
--- a/src/app/date-range/date-range.sample.ts
+++ b/src/app/date-range/date-range.sample.ts
@@ -1,11 +1,26 @@
import { Component, ViewChild } from '@angular/core';
-import { UntypedFormGroup, UntypedFormBuilder, Validators, UntypedFormControl, ValidatorFn, AbstractControl } from '@angular/forms';
-import { DateRange, IChangeRadioEventArgs, IgxDateRangePickerComponent } from 'igniteui-angular';
+import { UntypedFormGroup, UntypedFormBuilder, Validators, UntypedFormControl, ValidatorFn, AbstractControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
+
+import { IChangeRadioEventArgs, IgxRadioComponent } from '../../../projects/igniteui-angular/src/lib/radio/radio.component';
+import { NgFor, JsonPipe } from '@angular/common';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxPrefixDirective } from '../../../projects/igniteui-angular/src/lib/directives/prefix/prefix.directive';
+import { IgxDateTimeEditorDirective } from '../../../projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxDateRangeStartComponent, IgxDateRangeEndComponent, DateRange } from '../../../projects/igniteui-angular/src/lib/date-range-picker/date-range-picker-inputs.common';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxSuffixDirective } from '../../../projects/igniteui-angular/src/lib/directives/suffix/suffix.directive';
+import { IgxPickerToggleComponent } from '../../../projects/igniteui-angular/src/lib/date-common/picker-icons.common';
+import { IgxDateRangePickerComponent } from '../../../projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
@Component({
selector: 'app-date-range',
templateUrl: './date-range.sample.html',
- styleUrls: ['./date-range.sample.scss']
+ styleUrls: ['./date-range.sample.scss'],
+ standalone: true,
+ imports: [IgxButtonDirective, IgxRippleDirective, IgxDateRangePickerComponent, IgxPickerToggleComponent, IgxSuffixDirective, IgxIconComponent, IgxDateRangeStartComponent, IgxInputDirective, IgxDateTimeEditorDirective, IgxPrefixDirective, IgxDateRangeEndComponent, FormsModule, IgxLabelDirective, NgFor, IgxRadioComponent, ReactiveFormsModule, JsonPipe]
})
export class DateRangeSampleComponent {
@ViewChild('dr1', { static: true })
diff --git a/src/app/date-time-editor/date-time-editor.sample.ts b/src/app/date-time-editor/date-time-editor.sample.ts
index cc94991360f..5f18a841858 100644
--- a/src/app/date-time-editor/date-time-editor.sample.ts
+++ b/src/app/date-time-editor/date-time-editor.sample.ts
@@ -1,10 +1,20 @@
import { Component } from '@angular/core';
import { IgxDateTimeEditorEventArgs } from 'igniteui-angular';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxSuffixDirective } from '../../../projects/igniteui-angular/src/lib/directives/suffix/suffix.directive';
+import { FormsModule } from '@angular/forms';
+import { IgxDateTimeEditorDirective } from '../../../projects/igniteui-angular/src/lib/directives/date-time-editor/date-time-editor.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
@Component({
- selector: 'app-date-time-editor',
- templateUrl: './date-time-editor.sample.html',
- styleUrls: ['./date-time-editor.sample.css']
+ selector: 'app-date-time-editor',
+ templateUrl: './date-time-editor.sample.html',
+ styleUrls: ['./date-time-editor.sample.css'],
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxInputDirective, IgxDateTimeEditorDirective, FormsModule, IgxSuffixDirective, IgxRippleDirective, IgxButtonDirective, IgxIconComponent]
})
export class DateTimeEditorSampleComponent {
public date = new Date(2020, 2, 23);
diff --git a/src/app/dialog/dialog.sample.ts b/src/app/dialog/dialog.sample.ts
index 85dcbcb457a..3be1bad4f91 100644
--- a/src/app/dialog/dialog.sample.ts
+++ b/src/app/dialog/dialog.sample.ts
@@ -1,12 +1,25 @@
import { Component, ViewChild, OnInit } from '@angular/core';
-import { IgxDialogComponent, slideOutBottom, slideInTop,
- PositionSettings, HorizontalAlignment, VerticalAlignment } from 'igniteui-angular';
import { useAnimation } from '@angular/animations';
+import { IgxDialogTitleDirective, IgxDialogActionsDirective } from '../../../projects/igniteui-angular/src/lib/dialog/dialog.directives';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxPrefixDirective } from '../../../projects/igniteui-angular/src/lib/directives/prefix/prefix.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxDialogComponent } from '../../../projects/igniteui-angular/src/lib/dialog/dialog.component';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { HorizontalAlignment, PositionSettings, VerticalAlignment } from '../../../projects/igniteui-angular/src/lib/services/public_api';
+import { slideInTop, slideOutBottom } from '../../../projects/igniteui-angular/src/lib/animations/slide';
+
@Component({
selector: 'app-dialog-sample',
styleUrls: ['dialog.sample.scss'],
- templateUrl: 'dialog.sample.html'
+ templateUrl: 'dialog.sample.html',
+ standalone: true,
+ imports: [IgxButtonDirective, IgxRippleDirective, IgxSwitchComponent, IgxDialogComponent, IgxInputGroupComponent, IgxPrefixDirective, IgxIconComponent, IgxInputDirective, IgxLabelDirective, IgxDialogTitleDirective, IgxDialogActionsDirective]
})
export class DialogSampleComponent implements OnInit {
diff --git a/src/app/drag-drop/drag-drop.sample.ts b/src/app/drag-drop/drag-drop.sample.ts
index bf4dbb25ec6..ca9f17bd8d0 100644
--- a/src/app/drag-drop/drag-drop.sample.ts
+++ b/src/app/drag-drop/drag-drop.sample.ts
@@ -1,21 +1,25 @@
import { ChangeDetectorRef, Component, ViewChild, ElementRef, ViewChildren, QueryList } from '@angular/core';
-import {
- OverlaySettings,
- GlobalPositionStrategy,
- NoOpScrollStrategy,
- IgxToggleDirective,
- IgxDragDirective,
- IgxInsertDropStrategy,
- IDragBaseEventArgs,
- IgxDragLocation,
- DragDirection,
- IDropDroppedEventArgs
-} from 'igniteui-angular';
+import { NgIf, NgClass, NgFor, NgStyle } from '@angular/common';
+
+import { ShadowGridSampleComponent } from './shadow-dom-grid/shadow-grid-sample';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxPrefixDirective } from '../../../projects/igniteui-angular/src/lib/directives/prefix/prefix.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxToggleDirective } from '../../../projects/igniteui-angular/src/lib/directives/toggle/toggle.directive';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxDragDirective, IgxDragIgnoreDirective, IgxDragHandleDirective, IgxDropDirective, DragDirection, IDragBaseEventArgs, IgxDragLocation, IDropDroppedEventArgs } from '../../../projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.directive';
+import { IgxInsertDropStrategy } from '../../../projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.strategy';
+import { GlobalPositionStrategy, NoOpScrollStrategy, OverlaySettings } from '../../../projects/igniteui-angular/src/lib/services/public_api';
@Component({
selector: 'app-drag-drop-sample',
templateUrl: './drag-drop.sample.html',
- styleUrls: ['drag-drop.sample.scss']
+ styleUrls: ['drag-drop.sample.scss'],
+ standalone: true,
+ imports: [IgxDragDirective, NgIf, IgxIconComponent, IgxDragIgnoreDirective, NgClass, IgxButtonDirective, IgxRippleDirective, IgxToggleDirective, IgxDragHandleDirective, IgxInputGroupComponent, IgxPrefixDirective, IgxInputDirective, IgxLabelDirective, NgFor, IgxDropDirective, NgStyle, ShadowGridSampleComponent]
})
export class DragDropSampleComponent {
@ViewChild('dragNoGhostAnim', { read: IgxDragDirective, static: true })
diff --git a/src/app/drag-drop/shadow-dom-grid/shadow-grid-sample.ts b/src/app/drag-drop/shadow-dom-grid/shadow-grid-sample.ts
index c43d6d51a6d..af574d57e4c 100644
--- a/src/app/drag-drop/shadow-dom-grid/shadow-grid-sample.ts
+++ b/src/app/drag-drop/shadow-dom-grid/shadow-grid-sample.ts
@@ -1,11 +1,14 @@
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { IgxColumnComponent } from 'igniteui-angular';
+import { IgxGridComponent } from '../../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
@Component({
- selector: 'app-shadow-grid-sample',
- templateUrl: './shadow-grid-sample.html',
- styleUrls: ['./shadow-grid-sample.scss'],
- encapsulation: ViewEncapsulation.ShadowDom
+ selector: 'app-shadow-grid-sample',
+ templateUrl: './shadow-grid-sample.html',
+ styleUrls: ['./shadow-grid-sample.scss'],
+ encapsulation: ViewEncapsulation.ShadowDom,
+ standalone: true,
+ imports: [IgxGridComponent]
})
export class ShadowGridSampleComponent implements OnInit {
public localData: any[];
diff --git a/src/app/drop-down/display-density/display-density.sample.ts b/src/app/drop-down/display-density/display-density.sample.ts
index c8ed7d9518f..f324beb0605 100644
--- a/src/app/drop-down/display-density/display-density.sample.ts
+++ b/src/app/drop-down/display-density/display-density.sample.ts
@@ -1,5 +1,15 @@
import { Component } from '@angular/core';
import { DisplayDensity } from 'igniteui-angular';
+import { IgxSelectItemComponent } from '../../../../projects/igniteui-angular/src/lib/select/select-item.component';
+import { IgxLabelDirective } from '../../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxSelectComponent } from '../../../../projects/igniteui-angular/src/lib/select/select.component';
+import { IgxDropDownItemComponent } from '../../../../projects/igniteui-angular/src/lib/drop-down/drop-down-item.component';
+import { NgFor } from '@angular/common';
+import { IgxDropDownComponent } from '../../../../projects/igniteui-angular/src/lib/drop-down/drop-down.component';
+import { IgxDropDownItemNavigationDirective } from '../../../../projects/igniteui-angular/src/lib/drop-down/drop-down-navigation.directive';
+import { IgxToggleActionDirective } from '../../../../projects/igniteui-angular/src/lib/directives/toggle/toggle.directive';
+import { IgxButtonDirective } from '../../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxComboComponent } from '../../../../projects/igniteui-angular/src/lib/combo/combo.component';
const data = Array.apply(null, { length: 57 }).map((e, i) => ({
valueKey: i,
@@ -9,7 +19,9 @@ const data = Array.apply(null, { length: 57 }).map((e, i) => ({
@Component({
selector: 'app-display-density',
templateUrl: 'display-density.sample.html',
- styleUrls: ['display-density.sample.scss']
+ styleUrls: ['display-density.sample.scss'],
+ standalone: true,
+ imports: [IgxComboComponent, IgxButtonDirective, IgxToggleActionDirective, IgxDropDownItemNavigationDirective, IgxDropDownComponent, NgFor, IgxDropDownItemComponent, IgxSelectComponent, IgxLabelDirective, IgxSelectItemComponent]
})
export class DisplayDensityDropDownComponent {
public data = data;
diff --git a/src/app/drop-down/drop-down-virtual/drop-down-virtual.component.ts b/src/app/drop-down/drop-down-virtual/drop-down-virtual.component.ts
index 5109a6e4e2f..edeff882052 100644
--- a/src/app/drop-down/drop-down-virtual/drop-down-virtual.component.ts
+++ b/src/app/drop-down/drop-down-virtual/drop-down-virtual.component.ts
@@ -1,16 +1,29 @@
import { Component, OnInit, ViewChild, AfterViewInit, ChangeDetectorRef } from '@angular/core';
-import { RemoteService } from 'src/app/shared/remote.service';
+import { AsyncPipe } from '@angular/common';
+
import { Observable } from 'rxjs';
-import { IForOfState, IgxDropDownComponent, IgxToastComponent, IgxForOfDirective, DisplayDensity, VerticalAlignment } from 'igniteui-angular';
+
+import { RemoteService } from 'src/app/shared/remote.service';
+import { IgxToastComponent } from '../../../../projects/igniteui-angular/src/lib/toast/toast.component';
+import { IgxDropDownItemComponent } from '../../../../projects/igniteui-angular/src/lib/drop-down/drop-down-item.component';
+import { IForOfState, IgxForOfDirective } from '../../../../projects/igniteui-angular/src/lib/directives/for-of/for_of.directive';
+import { IgxDropDownComponent } from '../../../../projects/igniteui-angular/src/lib/drop-down/drop-down.component';
+import { IgxDropDownItemNavigationDirective } from '../../../../projects/igniteui-angular/src/lib/drop-down/drop-down-navigation.directive';
+import { IgxToggleActionDirective } from '../../../../projects/igniteui-angular/src/lib/directives/toggle/toggle.directive';
+import { IgxButtonDirective } from '../../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { DisplayDensity } from '../../../../projects/igniteui-angular/src/lib/core/density';
+import { VerticalAlignment } from '../../../../projects/igniteui-angular/src/lib/services/public_api';
interface DataItem {
name: string;
id: number;
}
@Component({
- selector: 'app-drop-down-virtual',
- templateUrl: './drop-down-virtual.component.html',
- styleUrls: ['./drop-down-virtual.component.scss']
+ selector: 'app-drop-down-virtual',
+ templateUrl: './drop-down-virtual.component.html',
+ styleUrls: ['./drop-down-virtual.component.scss'],
+ standalone: true,
+ imports: [IgxButtonDirective, IgxToggleActionDirective, IgxDropDownItemNavigationDirective, IgxDropDownComponent, IgxForOfDirective, IgxDropDownItemComponent, IgxToastComponent, AsyncPipe]
})
export class DropDownVirtualComponent implements OnInit, AfterViewInit {
@ViewChild('loadingToast', { read: IgxToastComponent, static: true })
diff --git a/src/app/drop-down/drop-down.sample.ts b/src/app/drop-down/drop-down.sample.ts
index 21b55b573c0..c916d6441ef 100644
--- a/src/app/drop-down/drop-down.sample.ts
+++ b/src/app/drop-down/drop-down.sample.ts
@@ -1,18 +1,40 @@
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
-import {
- IgxDropDownComponent,
- ConnectedPositioningStrategy,
- OverlaySettings,
- NoOpScrollStrategy,
- IgxOverlayOutletDirective
-} from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+
import { foods } from './foods';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxDropDownGroupComponent } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down-group.component';
+import { IgxDropDownItemComponent } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down-item.component';
+import { IgxDropDownComponent } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down.component';
+import { IgxToggleActionDirective, IgxToggleDirective, IgxOverlayOutletDirective } from '../../../projects/igniteui-angular/src/lib/directives/toggle/toggle.directive';
+import { IgxDropDownItemNavigationDirective } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down-navigation.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { ConnectedPositioningStrategy, NoOpScrollStrategy, OverlaySettings } from '../../../projects/igniteui-angular/src/lib/services/public_api';
@Component({
// eslint-disable-next-line @angular-eslint/component-selector
selector: 'drop-down-sample',
templateUrl: './drop-down.sample.html',
- styleUrls: ['drop-down.sample.scss']
+ styleUrls: ['drop-down.sample.scss'],
+ standalone: true,
+ imports: [
+ NgFor,
+ IgxButtonGroupComponent,
+ IgxButtonDirective,
+ IgxDropDownItemNavigationDirective,
+ IgxToggleActionDirective,
+ IgxDropDownComponent,
+ IgxDropDownItemComponent,
+ IgxToggleDirective,
+ IgxDropDownGroupComponent,
+ IgxInputGroupComponent,
+ IgxInputDirective,
+ IgxRippleDirective,
+ IgxOverlayOutletDirective
+ ]
})
export class DropDownSampleComponent implements OnInit {
@ViewChild(IgxDropDownComponent, { static: true })
diff --git a/src/app/expansion-panel/expansion-panel-sample.ts b/src/app/expansion-panel/expansion-panel-sample.ts
index f188af129e0..dc7fa67ac1c 100644
--- a/src/app/expansion-panel/expansion-panel-sample.ts
+++ b/src/app/expansion-panel/expansion-panel-sample.ts
@@ -1,18 +1,28 @@
-import {
- IgxExpansionPanelComponent,
- growVerIn,
- growVerOut,
- IExpansionPanelEventArgs,
- ExpansionPanelHeaderIconPosition
-} from 'igniteui-angular';
import { Component, OnInit, ViewChild } from '@angular/core';
+import { NgIf } from '@angular/common';
import { AnimationReferenceMetadata, useAnimation } from '@angular/animations';
+import { IgxCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxExpansionPanelBodyComponent } from '../../../projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-body.component';
+import { IgxExpansionPanelTitleDirective, IgxExpansionPanelDescriptionDirective, IgxExpansionPanelIconDirective } from '../../../projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.directives';
+import { ExpansionPanelHeaderIconPosition, IgxExpansionPanelHeaderComponent } from '../../../projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-header.component';
+import { IgxExpansionPanelComponent } from '../../../projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { growVerIn, growVerOut } from '../../../projects/igniteui-angular/src/lib/animations/main';
+import { IExpansionPanelEventArgs } from '../../../projects/igniteui-angular/src/lib/expansion-panel/public_api';
+
@Component({
// eslint-disable-next-line @angular-eslint/component-selector
selector: 'expansion-panel-sample',
templateUrl: './expansion-panel-sample.html',
- styleUrls: ['expansion-panel-sample.scss']
+ styleUrls: ['expansion-panel-sample.scss'],
+ standalone: true,
+ imports: [IgxButtonDirective, IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelTitleDirective, IgxExpansionPanelDescriptionDirective, NgIf, IgxExpansionPanelIconDirective, IgxExpansionPanelBodyComponent, IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective, IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective]
})
export class ExpansionPanelSampleComponent implements OnInit {
@ViewChild(IgxExpansionPanelComponent, { static: true })
diff --git a/src/app/gird-cell-styling/grid-cell-styling.sample.ts b/src/app/gird-cell-styling/grid-cell-styling.sample.ts
index 90fc29dd160..114f99c0efb 100644
--- a/src/app/gird-cell-styling/grid-cell-styling.sample.ts
+++ b/src/app/gird-cell-styling/grid-cell-styling.sample.ts
@@ -1,12 +1,27 @@
import { Component, ViewChild, OnInit } from '@angular/core';
-import { IgxGridComponent, IPinningConfig, RowPinningPosition, RowType } from 'igniteui-angular';
+import { NgFor, JsonPipe } from '@angular/common';
+
import { SAMPLE_DATA, HIERARCHICAL_SAMPLE_DATA } from '../shared/sample-data';
+import { IgxTreeGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
+import { IgxGridEditingActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component';
+import { IgxGridPinningActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component';
+import { IgxActionStripComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/action-strip.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxHintDirective } from '../../../projects/igniteui-angular/src/lib/directives/hint/hint.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IPinningConfig, RowType } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
+import { RowPinningPosition } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
@Component({
providers: [],
selector: 'app-grid-cell-styling.sample',
styleUrls: ['grid-cell-styling.sample.scss'],
templateUrl: 'grid-cell-styling.sample.html',
+ standalone: true,
+ imports: [IgxButtonDirective, IgxInputGroupComponent, IgxInputDirective, IgxHintDirective, IgxGridComponent, NgFor, IgxColumnComponent, IgxActionStripComponent, IgxGridPinningActionsComponent, IgxGridEditingActionsComponent, IgxTreeGridComponent, JsonPipe]
})
export class GridCellStylingSampleComponent implements OnInit {
diff --git a/src/app/grid-add-row/grid-add-row.sample.ts b/src/app/grid-add-row/grid-add-row.sample.ts
index 6edce1304be..34b238d7d88 100644
--- a/src/app/grid-add-row/grid-add-row.sample.ts
+++ b/src/app/grid-add-row/grid-add-row.sample.ts
@@ -1,10 +1,27 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { IgxGridComponent } from 'igniteui-angular';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxSelectItemComponent } from '../../../projects/igniteui-angular/src/lib/select/select-item.component';
+import { FormsModule } from '@angular/forms';
+import { IgxSelectComponent } from '../../../projects/igniteui-angular/src/lib/select/select.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxCardComponent, IgxCardHeaderComponent, IgxCardHeaderTitleDirective, IgxCardContentDirective } from '../../../projects/igniteui-angular/src/lib/card/card.component';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxGridEditingActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component';
+import { IgxGridPinningActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component';
+import { IgxActionStripComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/action-strip.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { NgFor, NgIf } from '@angular/common';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
@Component({
selector: 'app-grid-add-row',
styleUrls: ['grid-add-row.sample.scss'],
- templateUrl: `grid-add-row.sample.html`
+ templateUrl: `grid-add-row.sample.html`,
+ standalone: true,
+ imports: [IgxGridComponent_1, NgFor, IgxColumnComponent, IgxActionStripComponent, IgxGridPinningActionsComponent, IgxGridEditingActionsComponent, NgIf, IgxPaginatorComponent, IgxCardComponent, IgxCardHeaderComponent, IgxCardHeaderTitleDirective, IgxCardContentDirective, IgxButtonDirective, IgxSelectComponent, FormsModule, IgxSelectItemComponent, IgxInputGroupComponent, IgxInputDirective, IgxLabelDirective]
})
export class GridAddRowSampleComponent implements OnInit {
diff --git a/src/app/grid-auto-size/grid-auto-size.sample.ts b/src/app/grid-auto-size/grid-auto-size.sample.ts
index 729acb26926..cc3c45ed974 100644
--- a/src/app/grid-auto-size/grid-auto-size.sample.ts
+++ b/src/app/grid-auto-size/grid-auto-size.sample.ts
@@ -1,12 +1,25 @@
import { Component, ViewChild, OnInit } from '@angular/core';
-import { IgxGridComponent, GridSelectionMode, DisplayDensity } from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+
import { SAMPLE_DATA } from '../shared/sample-data';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { DisplayDensity } from '../../../projects/igniteui-angular/src/lib/core/density';
+import { GridSelectionMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
@Component({
providers: [],
selector: 'app-grid-column-moving-sample',
styleUrls: ['grid-auto-size.sample.scss'],
- templateUrl: 'grid-auto-size.sample.html'
+ templateUrl: 'grid-auto-size.sample.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxButtonDirective, IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, NgFor, IgxColumnComponent]
})
export class GridAutoSizeSampleComponent implements OnInit {
diff --git a/src/app/grid-cell-api/grid-cell-api.sample.ts b/src/app/grid-cell-api/grid-cell-api.sample.ts
index 83a5a23a738..87e34e44f12 100644
--- a/src/app/grid-cell-api/grid-cell-api.sample.ts
+++ b/src/app/grid-cell-api/grid-cell-api.sample.ts
@@ -6,14 +6,28 @@ import {
CellType
} from 'igniteui-angular';
import { HIERARCHICAL_SAMPLE_DATA } from '../shared/sample-data';
+import { IgxRowIslandComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component';
+import { IgxHierarchicalGridComponent as IgxHierarchicalGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component';
+import { IgxTreeGridComponent as IgxTreeGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { NgFor } from '@angular/common';
+import { IgxGridDetailTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.directives';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { FormsModule } from '@angular/forms';
@Component({
selector: 'app-grid-cell-api-sample',
styleUrls: ['grid-cell-api.sample.scss'],
templateUrl: 'grid-cell-api.sample.html',
- // providers: [
- // { provide: IgxGridTransaction, useClass: IgxTransactionService }
- // ],
+ standalone: true,
+ imports: [FormsModule, IgxGridComponent_1, IgxPaginatorComponent, IgxGridDetailTemplateDirective, NgFor, IgxColumnComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxButtonDirective, IgxIconComponent, IgxTreeGridComponent_1, IgxHierarchicalGridComponent_1, IgxRowIslandComponent]
})
export class GridCellAPISampleComponent implements OnInit {
diff --git a/src/app/grid-cellEditing/grid-cellEditing.component.ts b/src/app/grid-cellEditing/grid-cellEditing.component.ts
index 7d2f5a56c32..acd84b59c7d 100644
--- a/src/app/grid-cellEditing/grid-cellEditing.component.ts
+++ b/src/app/grid-cellEditing/grid-cellEditing.component.ts
@@ -1,13 +1,22 @@
import { Component, ViewChild } from '@angular/core';
-import { data, dataWithoutPK } from '../shared/data';
+import { FormsModule } from '@angular/forms';
-import {
- IgxGridComponent, GridSelectionMode, IgxDateSummaryOperand, IgxSummaryResult, DisplayDensity} from 'igniteui-angular';
+import { data, dataWithoutPK } from '../shared/data';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxCellTemplateDirective, IgxCellEditorTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnRequiredValidatorDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/validators.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { DisplayDensity } from '../../../projects/igniteui-angular/src/lib/core/density';
+import { GridSelectionMode } from 'projects/igniteui-angular/src/lib/grids/common/enums';
+import { IgxDateSummaryOperand, IgxSummaryResult } from '../../../projects/igniteui-angular/src/lib/grids/summaries/grid-summary';
@Component({
selector: 'app-grid-cellediting',
- styleUrls: ['grid-cellEditing.component.scss'],
- templateUrl: 'grid-cellEditing.component.html'
+ templateUrl: 'grid-cellEditing.component.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxGridComponent, IgxColumnComponent, IgxColumnRequiredValidatorDirective, IgxCellTemplateDirective, IgxPaginatorComponent, FormsModule, IgxCellEditorTemplateDirective]
})
export class GridCellEditingComponent {
@ViewChild('grid1', { read: IgxGridComponent, static: true })
diff --git a/src/app/grid-clipboard/grid-clipboard.sample.ts b/src/app/grid-clipboard/grid-clipboard.sample.ts
index 8a5d0005c69..e1f86b5f2c4 100644
--- a/src/app/grid-clipboard/grid-clipboard.sample.ts
+++ b/src/app/grid-clipboard/grid-clipboard.sample.ts
@@ -1,10 +1,23 @@
import { Component } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+
import { SAMPLE_DATA } from '../shared/sample-data';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxLayoutDirective } from '../../../projects/igniteui-angular/src/lib/directives/layout/layout.directive';
+import { IgxHintDirective } from '../../../projects/igniteui-angular/src/lib/directives/hint/hint.directive';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxSuffixDirective } from '../../../projects/igniteui-angular/src/lib/directives/suffix/suffix.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
@Component({
selector: 'app-grid-clipboard-sample',
- styleUrls: ['grid-clipboard.sample.scss'],
- templateUrl: './grid-clipboard.sample.html'
+ templateUrl: './grid-clipboard.sample.html',
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxLabelDirective, FormsModule, IgxInputDirective, IgxSuffixDirective, IgxIconComponent, IgxHintDirective, IgxLayoutDirective, IgxSwitchComponent, IgxButtonDirective, IgxGridComponent]
})
export class GridClipboardSampleComponent {
public data: any[];
diff --git a/src/app/grid-column-actions/custom-action-directive.ts b/src/app/grid-column-actions/custom-action-directive.ts
index 6e80fd58de0..e313e268cc1 100644
--- a/src/app/grid-column-actions/custom-action-directive.ts
+++ b/src/app/grid-column-actions/custom-action-directive.ts
@@ -4,7 +4,8 @@ import { IgxColumnActionsBaseDirective, IgxColumnActionsComponent, IgxColumnComp
@Directive({
- selector: '[appColumnGrouping]'
+ selector: '[appColumnGrouping]',
+ standalone: true
})
export class IgxColumnGroupingDirective extends IgxColumnActionsBaseDirective {
diff --git a/src/app/grid-column-actions/grid-column-actions.sample.ts b/src/app/grid-column-actions/grid-column-actions.sample.ts
index 7841c57523a..0b53412170b 100644
--- a/src/app/grid-column-actions/grid-column-actions.sample.ts
+++ b/src/app/grid-column-actions/grid-column-actions.sample.ts
@@ -1,11 +1,26 @@
import { Component, OnInit } from '@angular/core';
-import { IColumnToggledEventArgs } from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+
+import { IgxColumnGroupingDirective } from './custom-action-directive';
+import { IgxColumnPinningDirective } from '../../../projects/igniteui-angular/src/lib/grids/column-actions/column-pinning.directive';
+import { IgxColumnHidingDirective } from '../../../projects/igniteui-angular/src/lib/grids/column-actions/column-hiding.directive';
+import { IgxColumnActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/column-actions/column-actions.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxColumnGroupComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column-group.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IColumnToggledEventArgs } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
@Component({
providers: [],
selector: 'app-grid-column-actions-sample',
styleUrls: ['grid-column-actions.sample.scss'],
- templateUrl: 'grid-column-actions.sample.html'
+ templateUrl: 'grid-column-actions.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxColumnGroupComponent, IgxColumnComponent, NgFor, IgxColumnActionsComponent, IgxColumnHidingDirective, IgxColumnPinningDirective, IgxColumnGroupingDirective]
})
export class GridColumnActionsSampleComponent implements OnInit {
diff --git a/src/app/grid-column-groups/grid-column-groups.sample.ts b/src/app/grid-column-groups/grid-column-groups.sample.ts
index f9b8725ee17..4e4cebd42cc 100644
--- a/src/app/grid-column-groups/grid-column-groups.sample.ts
+++ b/src/app/grid-column-groups/grid-column-groups.sample.ts
@@ -1,10 +1,24 @@
import { Component, ViewChild } from '@angular/core';
-import { IgxGridComponent, IgxColumnGroupComponent, GridSelectionMode, ColumnPinningPosition } from 'igniteui-angular';
+
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxColumnGroupComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column-group.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxCollapsibleIndicatorTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { ColumnPinningPosition, GridSelectionMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
@Component({
selector: 'app-grid-column-groups-sample',
styleUrls: ['grid-column-groups.sample.scss'],
- templateUrl: 'grid-column-groups.sample.html'
+ templateUrl: 'grid-column-groups.sample.html',
+ standalone: true,
+ imports: [IgxCollapsibleIndicatorTemplateDirective, IgxIconComponent, IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridToolbarAdvancedFilteringComponent, IgxColumnComponent, IgxColumnGroupComponent, IgxButtonDirective]
})
export class GridColumnGroupsSampleComponent {
@ViewChild('grid', { read: IgxGridComponent, static: true })
diff --git a/src/app/grid-column-moving/grid-column-moving.sample.ts b/src/app/grid-column-moving/grid-column-moving.sample.ts
index 72c7824815b..f345fb86832 100644
--- a/src/app/grid-column-moving/grid-column-moving.sample.ts
+++ b/src/app/grid-column-moving/grid-column-moving.sample.ts
@@ -1,12 +1,34 @@
import { Component, ViewChild, OnInit } from '@angular/core';
-import { DisplayDensity, IgxGridComponent } from 'igniteui-angular';
+import { NgFor, NgIf } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
import { SAMPLE_DATA } from '../shared/sample-data';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxColumnGroupComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column-group.component';
+import { PageHeaderComponent } from '../pageHeading/pageHeading.component';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxCellTemplateDirective, IgxCellHeaderTemplateDirective, IgxCollapsibleIndicatorTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { DisplayDensity } from '../../../projects/igniteui-angular/src/lib/core/density';
@Component({
providers: [],
selector: 'app-grid-column-moving-sample',
styleUrls: ['grid-column-moving.sample.scss'],
- templateUrl: 'grid-column-moving.sample.html'
+ templateUrl: 'grid-column-moving.sample.html',
+ standalone: true,
+ imports: [IgxButtonDirective, IgxInputGroupComponent, FormsModule, IgxInputDirective, IgxLabelDirective, IgxButtonGroupComponent, IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridToolbarAdvancedFilteringComponent, NgFor, IgxColumnComponent, IgxCellTemplateDirective, NgIf, IgxPaginatorComponent, PageHeaderComponent, IgxColumnGroupComponent, IgxCellHeaderTemplateDirective, IgxCollapsibleIndicatorTemplateDirective, IgxIconComponent]
})
export class GridColumnMovingSampleComponent implements OnInit {
diff --git a/src/app/grid-column-pinning/grid-column-pinning.sample.ts b/src/app/grid-column-pinning/grid-column-pinning.sample.ts
index 8e67efe7cb2..5294f273cdf 100644
--- a/src/app/grid-column-pinning/grid-column-pinning.sample.ts
+++ b/src/app/grid-column-pinning/grid-column-pinning.sample.ts
@@ -1,16 +1,24 @@
import { Component, OnInit, ViewChild } from '@angular/core';
-import { IgxGridComponent,
- ColumnPinningPosition,
- RowPinningPosition,
- GridSelectionMode,
- IPinningConfig,
- RowType } from 'igniteui-angular';
+import { NgIf, NgFor } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarTitleComponent, IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IPinningConfig, RowType } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
+import { ColumnPinningPosition, GridSelectionMode, RowPinningPosition } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
@Component({
providers: [],
selector: 'app-grid-column-pinning-sample',
styleUrls: ['grid-column-pinning.sample.scss'],
- templateUrl: 'grid-column-pinning.sample.html'
+ templateUrl: 'grid-column-pinning.sample.html',
+ standalone: true,
+ imports: [IgxButtonDirective, IgxGridComponent, NgIf, IgxGridToolbarComponent, IgxGridToolbarTitleComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, NgFor, IgxColumnComponent, IgxSwitchComponent, FormsModule]
})
export class GridColumnPinningSampleComponent implements OnInit {
diff --git a/src/app/grid-column-resizing/grid-column-resizing.sample.ts b/src/app/grid-column-resizing/grid-column-resizing.sample.ts
index 9bfef16cfb9..20b483248f4 100644
--- a/src/app/grid-column-resizing/grid-column-resizing.sample.ts
+++ b/src/app/grid-column-resizing/grid-column-resizing.sample.ts
@@ -1,11 +1,17 @@
import { Component, OnInit, ViewChild } from '@angular/core';
-import { IgxGridComponent } from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
@Component({
providers: [],
selector: 'app-grid-column-resizing-sample',
styleUrls: ['grid-column-resizing.sample.scss'],
- templateUrl: 'grid-column-resizing.sample.html'
+ templateUrl: 'grid-column-resizing.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, NgFor, IgxColumnComponent, IgxButtonDirective]
})
export class GridColumnResizingSampleComponent implements OnInit {
diff --git a/src/app/grid-column-selection/grid-column-selection.sample.ts b/src/app/grid-column-selection/grid-column-selection.sample.ts
index cb8ab7fc2fe..4b4a2b6c46b 100644
--- a/src/app/grid-column-selection/grid-column-selection.sample.ts
+++ b/src/app/grid-column-selection/grid-column-selection.sample.ts
@@ -1,24 +1,59 @@
import { Component, ViewChild, OnInit, Pipe, PipeTransform, AfterViewInit, ChangeDetectorRef } from '@angular/core';
-import {
- IgxGridComponent,
- OverlaySettings,
- ConnectedPositioningStrategy,
- AbsoluteScrollStrategy,
- PositionSettings,
- HorizontalAlignment,
- VerticalAlignment,
- IgxDropDownComponent,
- IgxButtonDirective,
- FilterMode,
- DisplayDensity
-} from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
import { SAMPLE_DATA } from '../shared/sample-data';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxColumnGroupComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column-group.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxCheckboxComponent } from '../../../projects/igniteui-angular/src/lib/checkbox/checkbox.component';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { IgxDropDownItemComponent } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down-item.component';
+import { IgxDropDownComponent } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down.component';
+import { IgxDropDownItemNavigationDirective } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down-navigation.directive';
+import { IgxToggleActionDirective } from '../../../projects/igniteui-angular/src/lib/directives/toggle/toggle.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { FilterMode } from 'projects/igniteui-angular/src/lib/grids/common/enums';
+import { DisplayDensity } from 'projects/igniteui-angular/src/lib/core/density';
+import { AbsoluteScrollStrategy, ConnectedPositioningStrategy, HorizontalAlignment, OverlaySettings, PositionSettings, VerticalAlignment } from 'projects/igniteui-angular/src/lib/services/public_api';
+
+@Pipe({
+ name: 'filterColumns',
+ standalone: true
+})
+export class GridColumnSelectionFilterPipe implements PipeTransform {
+ public transform(items: any[], searchText: string): any[] {
+ if (!items || !items.length) {
+ return [];
+ }
+
+ if (!searchText) {
+ return items;
+ }
+
+ searchText = searchText.toLowerCase();
+ const result = items.filter((it) =>
+ it.field.toLowerCase().indexOf(searchText) > -1 );
+
+ return result;
+ }
+}
@Component({
providers: [],
selector: 'app-grid-column-selection-sample',
styleUrls: ['grid-column-selection.sample.scss'],
- templateUrl: 'grid-column-selection.sample.html'
+ templateUrl: 'grid-column-selection.sample.html',
+ standalone: true,
+ imports: [IgxButtonDirective, IgxToggleActionDirective, IgxDropDownItemNavigationDirective, IgxDropDownComponent, NgFor, IgxDropDownItemComponent, IgxButtonGroupComponent, IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxRippleDirective, IgxCheckboxComponent, IgxInputGroupComponent, FormsModule, IgxInputDirective, IgxColumnComponent, IgxColumnGroupComponent, IgxSwitchComponent, GridColumnSelectionFilterPipe]
})
export class GridColumnSelectionSampleComponent implements OnInit, AfterViewInit {
@@ -149,25 +184,3 @@ export class GridColumnSelectionSampleComponent implements OnInit, AfterViewInit
}
}
-
-@Pipe({
- name: 'filterColumns'
-})
-export class GridColumnSelectionFilterPipe implements PipeTransform {
- public transform(items: any[], searchText: string): any[] {
- if (!items || !items.length) {
- return [];
- }
-
- if (!searchText) {
- return items;
- }
-
- searchText = searchText.toLowerCase();
- const result = items.filter((it) =>
- it.field.toLowerCase().indexOf(searchText) > -1 );
-
- return result;
- }
-}
-
diff --git a/src/app/grid-column-types/grid-column-types.sample.ts b/src/app/grid-column-types/grid-column-types.sample.ts
index 25417944b9a..917c89f7467 100644
--- a/src/app/grid-column-types/grid-column-types.sample.ts
+++ b/src/app/grid-column-types/grid-column-types.sample.ts
@@ -1,12 +1,23 @@
import { Component, ViewChild, OnInit } from '@angular/core';
import { FilterMode, IgxGridComponent } from 'igniteui-angular';
import { SAMPLE_DATA } from '../shared/sample-data';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { NgFor } from '@angular/common';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
@Component({
providers: [],
selector: 'app-grid-column-types-sample',
styleUrls: ['grid-column-types.sample.scss'],
- templateUrl: 'grid-column-types.sample.html'
+ templateUrl: 'grid-column-types.sample.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxGridComponent_1, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridToolbarAdvancedFilteringComponent, NgFor, IgxColumnComponent]
})
export class GridColumnTypesSampleComponent implements OnInit {
diff --git a/src/app/grid-esf-load-on-demand/grid-esf-load-on-demand.component.ts b/src/app/grid-esf-load-on-demand/grid-esf-load-on-demand.component.ts
index c2be1fcf30b..0c351d838ff 100644
--- a/src/app/grid-esf-load-on-demand/grid-esf-load-on-demand.component.ts
+++ b/src/app/grid-esf-load-on-demand/grid-esf-load-on-demand.component.ts
@@ -1,11 +1,20 @@
import { Component, ViewChild, OnInit } from '@angular/core';
import { IgxGridComponent, IgxColumnComponent, IFilteringExpressionsTree, GridSelectionMode, DisplayDensity } from 'igniteui-angular';
import { GridESFLoadOnDemandService } from './grid-esf-load-on-demand.service';
+import { IgxColumnComponent as IgxColumnComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
@Component({
- selector: 'app-grid-esf-load-on-demand',
- templateUrl: './grid-esf-load-on-demand.component.html',
- styleUrls: ['./grid-esf-load-on-demand.component.scss']
+ selector: 'app-grid-esf-load-on-demand',
+ templateUrl: './grid-esf-load-on-demand.component.html',
+ styleUrls: ['./grid-esf-load-on-demand.component.scss'],
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxGridComponent_1, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxColumnComponent_1]
})
export class GridEsfLoadOnDemandComponent implements OnInit {
@ViewChild('grid1', { static: true })
diff --git a/src/app/grid-events/grid-events.component.ts b/src/app/grid-events/grid-events.component.ts
index 3fb51d356cd..0d9cf11ff26 100644
--- a/src/app/grid-events/grid-events.component.ts
+++ b/src/app/grid-events/grid-events.component.ts
@@ -9,11 +9,26 @@ import { IgxGridComponent,
IColumnVisibilityChangedEventArgs
} from 'igniteui-angular';
import { data } from '../shared/data';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
@Component({
selector: 'app-grid-events',
styleUrls: ['grid-events.component.scss'],
- templateUrl: 'grid-events.component.html'
+ templateUrl: 'grid-events.component.html',
+ standalone: true,
+ imports: [IgxSwitchComponent, IgxInputGroupComponent, IgxInputDirective, IgxGridComponent_1, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxGridToolbarAdvancedFilteringComponent, IgxColumnComponent, IgxPaginatorComponent, IgxButtonDirective, IgxIconComponent]
})
export class GridEventsComponent {
diff --git a/src/app/grid-export/grid-export.sample.ts b/src/app/grid-export/grid-export.sample.ts
index 722f4daeea4..4bd0cf86418 100644
--- a/src/app/grid-export/grid-export.sample.ts
+++ b/src/app/grid-export/grid-export.sample.ts
@@ -1,15 +1,21 @@
import { Component, ViewChild } from '@angular/core';
-import {
- ColumnType,
- IgxNumberSummaryOperand,
- IgxSummaryResult,
- IGridToolbarExportEventArgs,
- IgxGridComponent,
- IgxTreeGridComponent
-} from 'igniteui-angular';
+import { NgIf, DatePipe } from '@angular/common';
+
import { HGRID_DATA } from './hGridData';
import { GRID_DATA } from './gridData';
import { TGRID_DATA } from './tGridData';
+import { IgxRowIslandComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component';
+import { IgxHierarchicalGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component';
+import { IgxTreeGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxCellTemplateDirective, IgxCellHeaderTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxGridToolbarExporterComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxNumberSummaryOperand, IgxSummaryResult } from '../../../projects/igniteui-angular/src/lib/grids/summaries/grid-summary';
+import { ColumnType, IGridToolbarExportEventArgs } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
class GridSummary {
public operate(data?: any[]): IgxSummaryResult[] {
@@ -62,8 +68,9 @@ class HGridChildSummary {
@Component({
selector: 'app-grid-export-sample',
- styleUrls: ['grid-export.sample.scss'],
- templateUrl: 'grid-export.sample.html'
+ templateUrl: 'grid-export.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarExporterComponent, IgxPaginatorComponent, IgxColumnComponent, IgxCellTemplateDirective, IgxCellHeaderTemplateDirective, IgxIconComponent, NgIf, IgxTreeGridComponent, IgxHierarchicalGridComponent, IgxRowIslandComponent, DatePipe]
})
export class GridExportComponent {
@ViewChild('grid', { static: true })
diff --git a/src/app/grid-external-filtering/grid-external-filtering.sample.ts b/src/app/grid-external-filtering/grid-external-filtering.sample.ts
index f1f09e4f2df..0cd848231ef 100644
--- a/src/app/grid-external-filtering/grid-external-filtering.sample.ts
+++ b/src/app/grid-external-filtering/grid-external-filtering.sample.ts
@@ -1,12 +1,36 @@
import { Component, ViewChild, OnInit, AfterViewInit, ChangeDetectorRef } from '@angular/core';
-import { IgxGridComponent, FilteringExpressionsTree, IgxStringFilteringOperand,
- FilteringLogic, IgxCheckboxComponent, IChangeCheckboxEventArgs, FilterMode, GridSelectionMode, DisplayDensity } from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IChangeCheckboxEventArgs, IgxCheckboxComponent } from '../../../projects/igniteui-angular/src/lib/checkbox/checkbox.component';
+import { IgxAdvancedFilteringDialogComponent } from '../../../projects/igniteui-angular/src/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarExporterComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent, IgxExcelTextDirective, IgxCSVTextDirective } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxGridExcelStyleFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component';
+import { IgxSelectItemComponent } from '../../../projects/igniteui-angular/src/lib/select/select-item.component';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxSelectComponent } from '../../../projects/igniteui-angular/src/lib/select/select.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { IgxFlexDirective, IgxLayoutDirective } from '../../../projects/igniteui-angular/src/lib/directives/layout/layout.directive';
+import { DisplayDensity } from '../../../projects/igniteui-angular/src/lib/core/density';
+import { FilteringExpressionsTree } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree';
+import { FilteringLogic } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-expression.interface';
+import { IgxStringFilteringOperand } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-condition';
+import { FilterMode, GridSelectionMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
@Component({
providers: [],
selector: 'app-grid-external-filtering-sample',
styleUrls: ['grid-external-filtering.sample.scss'],
- templateUrl: 'grid-external-filtering.sample.html'
+ templateUrl: 'grid-external-filtering.sample.html',
+ standalone: true,
+ imports: [IgxFlexDirective, IgxLayoutDirective, IgxButtonGroupComponent, IgxSelectComponent, IgxLabelDirective, NgFor, IgxSelectItemComponent, IgxGridExcelStyleFilteringComponent, IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridToolbarExporterComponent, IgxExcelTextDirective, IgxCSVTextDirective, IgxColumnComponent, IgxAdvancedFilteringDialogComponent, IgxCheckboxComponent, FormsModule, IgxButtonDirective]
})
export class GridExternalFilteringComponent implements OnInit, AfterViewInit {
@ViewChild('grid1', { static: true })
diff --git a/src/app/grid-filter-template/grid-filter-template.sample.ts b/src/app/grid-filter-template/grid-filter-template.sample.ts
index 98d6ca331e3..06576605d65 100644
--- a/src/app/grid-filter-template/grid-filter-template.sample.ts
+++ b/src/app/grid-filter-template/grid-filter-template.sample.ts
@@ -1,19 +1,26 @@
import { Component, ViewChild, OnInit } from '@angular/core';
-import {
- IgxGridComponent,
- GridColumnDataType,
- IgxNumberFilteringOperand,
- IgxDateFilteringOperand,
- IgxStringFilteringOperand,
- ColumnType,
- GridSelectionMode
-} from 'igniteui-angular';
+import { NgFor, NgIf } from '@angular/common';
+
+import { IgxSuffixDirective } from '../../../projects/igniteui-angular/src/lib/directives/suffix/suffix.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxPrefixDirective } from '../../../projects/igniteui-angular/src/lib/directives/prefix/prefix.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxFilterCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { GridSelectionMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
+import { ColumnType } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
+import { GridColumnDataType } from '../../../projects/igniteui-angular/src/lib/data-operations/data-util';
+import { IgxDateFilteringOperand, IgxNumberFilteringOperand, IgxStringFilteringOperand } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-condition';
@Component({
providers: [],
selector: 'app-grid-filter-template-sample',
styleUrls: ['grid-filter-template.sample.scss'],
- templateUrl: 'grid-filter-template.sample.html'
+ templateUrl: 'grid-filter-template.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, NgFor, IgxColumnComponent, IgxFilterCellTemplateDirective, IgxInputGroupComponent, IgxPrefixDirective, IgxIconComponent, IgxInputDirective, NgIf, IgxSuffixDirective]
})
export class GridFilterTemplateSampleComponent implements OnInit {
diff --git a/src/app/grid-filtering/grid-filtering.sample.ts b/src/app/grid-filtering/grid-filtering.sample.ts
index 1ca7d2aa7cb..8b6bba4725b 100644
--- a/src/app/grid-filtering/grid-filtering.sample.ts
+++ b/src/app/grid-filtering/grid-filtering.sample.ts
@@ -1,14 +1,44 @@
import { Component, ViewChild, OnInit } from '@angular/core';
-import { IgxGridComponent, FilteringExpressionsTree, IgxStringFilteringOperand,
- FilteringLogic, IgxCheckboxComponent, IChangeCheckboxEventArgs, FilterMode, GridSelectionMode,
- FormattedValuesFilteringStrategy,
- DisplayDensity} from 'igniteui-angular';
+import { NgIf, NgFor } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IgxExcelStyleSearchComponent } from '../../../projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-search.component';
+import { IgxExcelStyleConditionalFilterComponent } from '../../../projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-conditional-filter.component';
+import { IgxExcelStyleClearFiltersComponent } from '../../../projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-clear-filters.component';
+import { IgxExcelStyleSelectingComponent } from '../../../projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-selecting.component';
+import { IgxExcelStyleHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-hiding.component';
+import { IgxExcelStylePinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-pinning.component';
+import { IgxExcelStyleMovingComponent } from '../../../projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-moving.component';
+import { IgxExcelStyleSortingComponent } from '../../../projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-sorting.component';
+import { IgxExcelStyleHeaderComponent } from '../../../projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-header.component';
+import { IgxGridExcelStyleFilteringComponent, IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleFilterOperationsTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxExcelStyleHeaderIconDirective } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.directives';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IChangeCheckboxEventArgs, IgxCheckboxComponent } from '../../../projects/igniteui-angular/src/lib/checkbox/checkbox.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarExporterComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent, IgxExcelTextDirective, IgxCSVTextDirective } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { DisplayDensity } from '../../../projects/igniteui-angular/src/lib/core/density';
+import { FilteringExpressionsTree } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree';
+import { FormattedValuesFilteringStrategy } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-strategy';
+import { FilterMode, GridSelectionMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
+import { FilteringLogic } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-expression.interface';
+import { IgxStringFilteringOperand } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-condition';
@Component({
providers: [],
selector: 'app-grid-filtering-sample',
styleUrls: ['grid-filtering.sample.scss'],
- templateUrl: 'grid-filtering.sample.html'
+ templateUrl: 'grid-filtering.sample.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, NgIf, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarExporterComponent, IgxExcelTextDirective, IgxCSVTextDirective, NgFor, IgxColumnComponent, IgxCheckboxComponent, FormsModule, IgxButtonDirective, IgxExcelStyleHeaderIconDirective, IgxIconComponent, IgxGridExcelStyleFilteringComponent, IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleHeaderComponent, IgxExcelStyleSortingComponent, IgxExcelStyleMovingComponent, IgxExcelStylePinningComponent, IgxExcelStyleHidingComponent, IgxExcelStyleSelectingComponent, IgxExcelStyleFilterOperationsTemplateDirective, IgxExcelStyleClearFiltersComponent, IgxExcelStyleConditionalFilterComponent, IgxExcelStyleSearchComponent]
})
export class GridFilteringComponent implements OnInit {
@ViewChild('grid1', { static: true })
diff --git a/src/app/grid-finjs/controllers.component.ts b/src/app/grid-finjs/controllers.component.ts
index 39e09f747f1..046b2406030 100644
--- a/src/app/grid-finjs/controllers.component.ts
+++ b/src/app/grid-finjs/controllers.component.ts
@@ -3,11 +3,18 @@ import { IgxButtonGroupComponent, IgxSliderComponent,
} from 'igniteui-angular';
import { timer } from 'rxjs';
import { debounce } from 'rxjs/operators';
+import { NgIf } from '@angular/common';
+import { IgxButtonGroupComponent as IgxButtonGroupComponent_1 } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { FormsModule } from '@angular/forms';
+import { IgxSliderComponent as IgxSliderComponent_1 } from '../../../projects/igniteui-angular/src/lib/slider/slider.component';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
@Component({
selector: 'app-finjs-controllers',
styleUrls: ['./controllers.component.scss'],
- templateUrl: './controllers.component.html'
+ templateUrl: './controllers.component.html',
+ standalone: true,
+ imports: [IgxSwitchComponent, IgxSliderComponent_1, FormsModule, IgxButtonGroupComponent_1, NgIf]
})
export class ControllerComponent implements OnInit, OnDestroy {
@ViewChild('buttonGroup1', { static: true }) public playButtons: IgxButtonGroupComponent;
diff --git a/src/app/grid-finjs/grid-finjs.component.ts b/src/app/grid-finjs/grid-finjs.component.ts
index 4a4a1df5543..57d6c87efc5 100644
--- a/src/app/grid-finjs/grid-finjs.component.ts
+++ b/src/app/grid-finjs/grid-finjs.component.ts
@@ -10,6 +10,22 @@ import {
SortingDirection
} from 'igniteui-angular';
import { Contract, REGIONS } from '../shared/financialData';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxSelectItemComponent } from '../../../projects/igniteui-angular/src/lib/select/select-item.component';
+import { IgxFocusDirective } from '../../../projects/igniteui-angular/src/lib/directives/focus/focus.directive';
+import { FormsModule } from '@angular/forms';
+import { IgxSelectComponent } from '../../../projects/igniteui-angular/src/lib/select/select.component';
+import { IgxCellEditorTemplateDirective, IgxCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarExporterComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { NgIf, NgFor, CurrencyPipe } from '@angular/common';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
const GROUPING_EXPRESSIONS: IGroupingExpression[] = [{
dir: SortingDirection.Desc,
@@ -34,7 +50,9 @@ const GROUPING_EXPRESSIONS: IGroupingExpression[] = [{
@Component({
selector: 'app-finjs-grid',
styleUrls: ['./grid-finjs.component.scss'],
- templateUrl: './grid-finjs.component.html'
+ templateUrl: './grid-finjs.component.html',
+ standalone: true,
+ imports: [IgxGridComponent_1, NgIf, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxGridToolbarExporterComponent, IgxColumnComponent, IgxCellEditorTemplateDirective, IgxSelectComponent, FormsModule, IgxFocusDirective, NgFor, IgxSelectItemComponent, IgxCellTemplateDirective, IgxIconComponent, IgxButtonDirective, IgxRippleDirective, CurrencyPipe]
})
export class GridFinJSComponent {
@ViewChild('grid1', { static: true }) public grid: IgxGridComponent;
diff --git a/src/app/grid-finjs/main.component.ts b/src/app/grid-finjs/main.component.ts
index 70f20b91bc8..8b381098ff9 100644
--- a/src/app/grid-finjs/main.component.ts
+++ b/src/app/grid-finjs/main.component.ts
@@ -4,12 +4,15 @@ import { takeUntil } from 'rxjs/operators';
import { LocalService } from '../shared/local.service';
import { ControllerComponent } from './controllers.component';
import { GridFinJSComponent } from './grid-finjs.component';
+import { AsyncPipe } from '@angular/common';
@Component({
providers: [LocalService],
selector: 'app-finjs-main',
styleUrls: ['./main.component.scss'],
- templateUrl: './main.component.html'
+ templateUrl: './main.component.html',
+ standalone: true,
+ imports: [ControllerComponent, GridFinJSComponent, AsyncPipe]
})
export class MainComponent implements OnDestroy {
@ViewChild('grid', { static: true }) public finGrid: GridFinJSComponent;
diff --git a/src/app/grid-flex-layout/grid-flex.sample.ts b/src/app/grid-flex-layout/grid-flex.sample.ts
index c2538bde5d1..d889e6d44bc 100644
--- a/src/app/grid-flex-layout/grid-flex.sample.ts
+++ b/src/app/grid-flex-layout/grid-flex.sample.ts
@@ -1,11 +1,25 @@
import { Component, ViewChild, OnInit, AfterViewInit } from '@angular/core';
-import { IgxGridComponent } from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+
+import { IgxTreeGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
+import { IgxRowIslandComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component';
+import { IgxHierarchicalGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxLayoutDirective, IgxFlexDirective } from '../../../projects/igniteui-angular/src/lib/directives/layout/layout.directive';
@Component({
providers: [],
selector: 'app-grid-flex-sample',
styleUrls: ['grid-flex.sample.scss'],
- templateUrl: 'grid-flex.sample.html'
+ templateUrl: 'grid-flex.sample.html',
+ standalone: true,
+ imports: [IgxLayoutDirective, IgxFlexDirective, IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, NgFor, IgxColumnComponent, IgxPaginatorComponent, IgxHierarchicalGridComponent, IgxRowIslandComponent, IgxTreeGridComponent]
})
export class GridFlexSampleComponent implements OnInit, AfterViewInit {
diff --git a/src/app/grid-formatting/grid-formatting.component.ts b/src/app/grid-formatting/grid-formatting.component.ts
index 4e92a484df9..2a91e2c4b1f 100644
--- a/src/app/grid-formatting/grid-formatting.component.ts
+++ b/src/app/grid-formatting/grid-formatting.component.ts
@@ -1,19 +1,26 @@
import { Component, ViewChild, OnInit, AfterViewInit } from '@angular/core';
-import { DatePipe } from '@angular/common';
+import { DatePipe, NgFor, AsyncPipe } from '@angular/common';
+
+import { Observable } from 'rxjs';
-import { IgxGridComponent, IgxDateSummaryOperand, IgxSummaryResult, IgxColumnComponent,
- IFilteringExpressionsTree, FilteringStrategy, IgxSummaryOperand } from 'igniteui-angular';
import { RemoteService } from '../shared/remote.service';
import { data } from '../shared/data';
-import { Observable } from 'rxjs';
import { HIERARCHICAL_SAMPLE_DATA } from '../shared/sample-data';
+import { IgxTreeGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxDateSummaryOperand, IgxSummaryOperand, IgxSummaryResult } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
+import { IFilteringExpressionsTree } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree';
+import { FilteringStrategy } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-strategy';
const ORDERS_URl = 'https://services.odata.org/V4/Northwind/Northwind.svc/Orders';
@Component({
selector: 'app-grid-formatting',
- styleUrls: ['grid-formatting.component.scss'],
- templateUrl: 'grid-formatting.component.html'
+ templateUrl: 'grid-formatting.component.html',
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxPaginatorComponent, IgxTreeGridComponent, NgFor, AsyncPipe]
})
export class GridFormattingComponent implements OnInit, AfterViewInit {
diff --git a/src/app/grid-groupby/grid-groupby.sample.ts b/src/app/grid-groupby/grid-groupby.sample.ts
index 9c1785d13c5..92a53b854bc 100644
--- a/src/app/grid-groupby/grid-groupby.sample.ts
+++ b/src/app/grid-groupby/grid-groupby.sample.ts
@@ -1,16 +1,29 @@
/* eslint-disable max-len */
import { Component, ViewChild, OnInit, Inject } from '@angular/core';
-
-import {
- IgxGridComponent, SortingDirection, ISortingExpression,
- DefaultSortingStrategy, DisplayDensity, IDisplayDensityOptions, DisplayDensityToken, GridSummaryPosition, GridSummaryCalculationMode, IRowSelectionEventArgs, ISortingOptions, GroupMemberCountSortingStrategy
-} from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { IgxDropDownItemComponent } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down-item.component';
+import { IgxDropDownComponent } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down.component';
+import { IgxDropDownItemNavigationDirective } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down-navigation.directive';
+import { IgxToggleActionDirective } from '../../../projects/igniteui-angular/src/lib/directives/toggle/toggle.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { DisplayDensity, DisplayDensityToken, IDisplayDensityOptions } from '../../../projects/igniteui-angular/src/lib/core/density';
+import { DefaultSortingStrategy, GroupMemberCountSortingStrategy, ISortingExpression, SortingDirection } from '../../../projects/igniteui-angular/src/lib/data-operations/sorting-strategy';
+import { GridSummaryCalculationMode, GridSummaryPosition } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
+import { IRowSelectionEventArgs, ISortingOptions } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
@Component({
providers: [{ provide: DisplayDensityToken, useValue: { displayDensity: DisplayDensity.compact } }],
selector: 'app-grid-sample',
styleUrls: ['grid-groupby.sample.scss'],
- templateUrl: 'grid-groupby.sample.html'
+ templateUrl: 'grid-groupby.sample.html',
+ standalone: true,
+ imports: [IgxSwitchComponent, FormsModule, IgxButtonDirective, IgxToggleActionDirective, IgxDropDownItemNavigationDirective, IgxDropDownComponent, NgFor, IgxDropDownItemComponent, IgxButtonGroupComponent, IgxGridComponent, IgxColumnComponent]
})
export class GridGroupBySampleComponent implements OnInit {
@ViewChild('grid1', { static: true })
@@ -72,7 +85,7 @@ export class GridGroupBySampleComponent implements OnInit {
{ Salary: 800, ID: 'BLAUS', CompanyName: 'Blauer See Delikatessen', ContactName: 'Hanna Moos', ContactTitle: 'Sales Representative', Address: 'Forsterstr. 57', City: 'Mannheim', Region: null, PostalCode: '68306', Country: 'Germany', Phone: '0621-08460', Fax: '0621-08924' },
{ Salary: 900, ID: 'BLONP', CompanyName: 'Blondesddsl père et fils', ContactName: 'Frédérique Citeaux', ContactTitle: 'Marketing Manager', Address: '24, place Kléber', City: 'Strasbourg', Region: null, PostalCode: '67000', Country: 'France', Phone: '88.60.15.31', Fax: '88.60.15.32' },
{ Salary: 9000, ID: 'BOLID', CompanyName: 'Bólido Comidas preparadas', ContactName: 'MartÃn Sommer', ContactTitle: 'Owner', Address: 'C/ Araquil, 67', City: 'Madrid', Region: null, PostalCode: '28023', Country: 'Spain', Phone: '(91) 555 22 82', Fax: '(91) 555 91 99' },
- { Salary: 3300, ID: 'BONAP', CompanyName: 'Bon app\s', ContactName: 'Laurence Lebihan', ContactTitle: 'Owner', Address: '12, rue des Bouchers', City: 'Marseille', Region: null, PostalCode: '13008', Country: 'France', Phone: '91.24.45.40', Fax: '91.24.45.41' },
+ { Salary: 3300, ID: 'BONAP', CompanyName: 'Bon app\'s', ContactName: 'Laurence Lebihan', ContactTitle: 'Owner', Address: '12, rue des Bouchers', City: 'Marseille', Region: null, PostalCode: '13008', Country: 'France', Phone: '91.24.45.40', Fax: '91.24.45.41' },
{ Salary: 2500, ID: 'BOTTM', CompanyName: 'Bottom-Dollar Markets', ContactName: 'Elizabeth Lincoln', ContactTitle: 'Accounting Manager', Address: '23 Tsawassen Blvd.', City: 'Tsawassen', Region: 'BC', PostalCode: 'T2F 8M4', Country: 'Canada', Phone: '(604) 555-4729', Fax: '(604) 555-3745' },
{ Salary: 4700, ID: 'BSBEV', CompanyName: 'B\'s Beverages', ContactName: 'Victoria Ashworth', ContactTitle: 'Sales Representative', Address: 'Fauntleroy Circus', City: 'London', Region: null, PostalCode: 'EC2 5NT', Country: 'UK', Phone: '(171) 555-1212', Fax: null },
{ Salary: 4100, ID: 'CACTU', CompanyName: 'Cactus Comidas para llevar', ContactName: 'Patricio Simpson', ContactTitle: 'Sales Agent', Address: 'Cerrito 333', City: 'Buenos Aires', Region: null, PostalCode: '1010', Country: 'Argentina', Phone: '(1) 135-5555', Fax: '(1) 135-4892' },
@@ -188,4 +201,4 @@ export class GridGroupBySampleComponent implements OnInit {
public rowSelectionChanged(e: IRowSelectionEventArgs) {
console.log(e);
}
-}
\ No newline at end of file
+}
diff --git a/src/app/grid-localization/grid-localization.sample.ts b/src/app/grid-localization/grid-localization.sample.ts
index 896b55fc8af..40100060350 100644
--- a/src/app/grid-localization/grid-localization.sample.ts
+++ b/src/app/grid-localization/grid-localization.sample.ts
@@ -2,7 +2,9 @@
/* eslint-disable @typescript-eslint/member-delimiter-style */
/* eslint-disable @typescript-eslint/naming-convention */
import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';
-import { registerLocaleData } from '@angular/common';
+import { registerLocaleData, NgFor } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
import localeBG from '@angular/common/locales/bg';
import localeEN from '@angular/common/locales/en';
import localeDE from '@angular/common/locales/de';
@@ -16,16 +18,22 @@ import localeHant from '@angular/common/locales/zh-Hant';
import localeHI from '@angular/common/locales/hi';
import { DATA } from '../shared/financialData';
-import { IgxGridComponent, IResourceStrings, changei18n, getCurrentResourceStrings } from 'igniteui-angular';
import {
IgxResourceStringsBG, IgxResourceStringsDE, IgxResourceStringsES, IgxResourceStringsFR, IgxResourceStringsIT,
IgxResourceStringsJA, IgxResourceStringsKO, IgxResourceStringsZHHANS, IgxResourceStringsZHHANT
} from 'igniteui-angular-i18n';
+import { IgxSelectItemComponent } from '../../../projects/igniteui-angular/src/lib/select/select-item.component';
+import { IgxSelectComponent } from '../../../projects/igniteui-angular/src/lib/select/select.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { changei18n, getCurrentResourceStrings, IResourceStrings } from '../../../projects/igniteui-angular/src/lib/core/i18n/resources';
@Component({
selector: 'app-grid-localization',
styleUrls: ['./grid-localization.sample.scss'],
- templateUrl: 'grid-localization.sample.html'
+ templateUrl: 'grid-localization.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxSelectComponent, FormsModule, NgFor, IgxSelectItemComponent]
})
export class GridLocalizationSampleComponent implements OnInit, OnDestroy {
diff --git a/src/app/grid-master-detail/grid-master-detail.sample.ts b/src/app/grid-master-detail/grid-master-detail.sample.ts
index 4170fd89794..93bf908cc3d 100644
--- a/src/app/grid-master-detail/grid-master-detail.sample.ts
+++ b/src/app/grid-master-detail/grid-master-detail.sample.ts
@@ -1,14 +1,22 @@
/* eslint-disable max-len */
import { Component, ViewChild, OnInit, Inject, TemplateRef } from '@angular/core';
+import { NgFor, NgIf } from '@angular/common';
-import { IgxGridComponent, IgxGridStateDirective } from 'igniteui-angular';
import { DisplayDensity, IDisplayDensityOptions, DisplayDensityToken } from 'projects/igniteui-angular/src/lib/core/density';
+import { IgxGridDetailTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.directives';
+import { IgxCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridStateDirective } from '../../../projects/igniteui-angular/src/lib/grids/state.directive';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
@Component({
- providers: [{ provide: DisplayDensityToken, useValue: { displayDensity: DisplayDensity.compact} }],
+ providers: [{ provide: DisplayDensityToken, useValue: { displayDensity: DisplayDensity.compact } }],
selector: 'app-grid-sample',
styleUrls: ['grid-master-detail.sample.scss'],
- templateUrl: 'grid-master-detail.sample.html'
+ templateUrl: 'grid-master-detail.sample.html',
+ standalone: true,
+ imports: [IgxButtonDirective, IgxGridComponent, IgxGridStateDirective, NgFor, IgxColumnComponent, IgxCellTemplateDirective, NgIf, IgxGridDetailTemplateDirective]
})
export class GridMasterDetailSampleComponent implements OnInit {
@ViewChild('grid1', { static: true }) public grid1: IgxGridComponent;
@@ -34,7 +42,7 @@ export class GridMasterDetailSampleComponent implements OnInit {
{ Salary: '800',ID: 'BLAUS', CompanyName: 'Blauer See Delikatessen', ContactName: 'Hanna Moos', ContactTitle: 'Sales Representative', Address: 'Forsterstr. 57', City: 'Mannheim', Region: null, PostalCode: '68306', Country: 'Germany', Phone: '0621-08460', Fax: '0621-08924' },
{ Salary: '900',ID: 'BLONP', CompanyName: 'Blondesddsl père et fils', ContactName: 'Frédérique Citeaux', ContactTitle: 'Marketing Manager', Address: '24, place Kléber', City: 'Strasbourg', Region: null, PostalCode: '67000', Country: 'France', Phone: '88.60.15.31', Fax: '88.60.15.32' },
{ Salary: '9000',ID: 'BOLID', CompanyName: 'Bólido Comidas preparadas', ContactName: 'MartÃn Sommer', ContactTitle: 'Owner', Address: 'C/ Araquil, 67', City: 'Madrid', Region: null, PostalCode: '28023', Country: 'Spain', Phone: '(91) 555 22 82', Fax: '(91) 555 91 99' },
- { Salary: '3300',ID: 'BONAP', CompanyName: 'Bon app\s', ContactName: 'Laurence Lebihan', ContactTitle: 'Owner', Address: '12, rue des Bouchers', City: 'Marseille', Region: null, PostalCode: '13008', Country: 'France', Phone: '91.24.45.40', Fax: '91.24.45.41' },
+ { Salary: '3300',ID: 'BONAP', CompanyName: 'Bon app\'s', ContactName: 'Laurence Lebihan', ContactTitle: 'Owner', Address: '12, rue des Bouchers', City: 'Marseille', Region: null, PostalCode: '13008', Country: 'France', Phone: '91.24.45.40', Fax: '91.24.45.41' },
{ Salary: '2500',ID: 'BOTTM', CompanyName: 'Bottom-Dollar Markets', ContactName: 'Elizabeth Lincoln', ContactTitle: 'Accounting Manager', Address: '23 Tsawassen Blvd.', City: 'Tsawassen', Region: 'BC', PostalCode: 'T2F 8M4', Country: 'Canada', Phone: '(604) 555-4729', Fax: '(604) 555-3745' },
{ Salary: '4700',ID: 'BSBEV', CompanyName: 'B\'s Beverages', ContactName: 'Victoria Ashworth', ContactTitle: 'Sales Representative', Address: 'Fauntleroy Circus', City: 'London', Region: null, PostalCode: 'EC2 5NT', Country: 'UK', Phone: '(171) 555-1212', Fax: null },
{ Salary: '4100',ID: 'CACTU', CompanyName: 'Cactus Comidas para llevar', ContactName: 'Patricio Simpson', ContactTitle: 'Sales Agent', Address: 'Cerrito 333', City: 'Buenos Aires', Region: null, PostalCode: '1010', Country: 'Argentina', Phone: '(1) 135-5555', Fax: '(1) 135-4892' },
diff --git a/src/app/grid-mrl-custom-navigation/grid-mrl-custom-navigation.ts b/src/app/grid-mrl-custom-navigation/grid-mrl-custom-navigation.ts
index d7d8e32fea3..fd8b5ca9f53 100644
--- a/src/app/grid-mrl-custom-navigation/grid-mrl-custom-navigation.ts
+++ b/src/app/grid-mrl-custom-navigation/grid-mrl-custom-navigation.ts
@@ -1,9 +1,19 @@
import { Component, ViewChild } from '@angular/core';
import { IgxGridComponent, GridSelectionMode, DisplayDensity } from 'igniteui-angular';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxColumnLayoutComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column-layout.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
@Component({
selector: 'app-grid-mrl-custom-navigation-sample',
- templateUrl: 'grid-mrl-custom-navigation.sample.html'
+ templateUrl: 'grid-mrl-custom-navigation.sample.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxGridComponent_1, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxColumnLayoutComponent, IgxColumnComponent]
})
export class GridMRLCustomNavigationSampleComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
diff --git a/src/app/grid-multi-row-layout-config/grid-mrl-config.sample.ts b/src/app/grid-multi-row-layout-config/grid-mrl-config.sample.ts
index caa89a1e413..d3abfa25554 100644
--- a/src/app/grid-multi-row-layout-config/grid-mrl-config.sample.ts
+++ b/src/app/grid-multi-row-layout-config/grid-mrl-config.sample.ts
@@ -1,6 +1,14 @@
import { Component, ViewChild, ElementRef, ChangeDetectorRef, ViewChildren, QueryList } from '@angular/core';
-import { IgxGridComponent, IDropBaseEventArgs, IgxDialogComponent, IDropDroppedEventArgs, GridSelectionMode} from 'igniteui-angular';
+import { NgFor, NgStyle, NgIf } from '@angular/common';
+
import { SAMPLE_DATA } from '../shared/sample-data';
+import { IgxDialogComponent } from '../../../projects/igniteui-angular/src/lib/dialog/dialog.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxColumnLayoutComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column-layout.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IDropBaseEventArgs, IDropDroppedEventArgs, IgxDragDirective, IgxDropDirective } from '../../../projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.directive';
+import { GridSelectionMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
interface ColumnConfig {
key: string;
@@ -15,8 +23,10 @@ interface ColumnConfig {
@Component({
selector: 'app-grid-mrl-config-sample',
+ templateUrl: 'grid-mrl-config.sample.html',
styleUrls: ['grid-mrl-config.sample.scss'],
- templateUrl: 'grid-mrl-config.sample.html'
+ standalone: true,
+ imports: [NgFor, IgxDragDirective, NgStyle, IgxDropDirective, NgIf, IgxButtonDirective, IgxGridComponent, IgxColumnLayoutComponent, IgxColumnComponent, IgxDialogComponent]
})
export class GridMRLConfigSampleComponent {
diff --git a/src/app/grid-multi-row-layout/grid-mrl.sample.ts b/src/app/grid-multi-row-layout/grid-mrl.sample.ts
index d704cb46920..5e390fa47b8 100644
--- a/src/app/grid-multi-row-layout/grid-mrl.sample.ts
+++ b/src/app/grid-multi-row-layout/grid-mrl.sample.ts
@@ -1,10 +1,25 @@
import { Component, ViewChild } from '@angular/core';
-import { IgxGridComponent, GridSelectionMode, DisplayDensity } from 'igniteui-angular';
+
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxGridEditingActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component';
+import { IgxGridPinningActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component';
+import { IgxActionStripComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/action-strip.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxColumnLayoutComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column-layout.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { DisplayDensity } from '../../../projects/igniteui-angular/src/lib/core/density';
+import { GridSelectionMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
@Component({
selector: 'app-grid-mrl-sample',
- styleUrls: ['grid-mrl.sample.scss'],
- templateUrl: 'grid-mrl.sample.html'
+ templateUrl: 'grid-mrl.sample.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxColumnLayoutComponent, IgxColumnComponent, IgxActionStripComponent, IgxGridPinningActionsComponent, IgxGridEditingActionsComponent, IgxButtonDirective]
})
export class GridMRLSampleComponent {
@ViewChild(IgxGridComponent, { read: IgxGridComponent, static: true })
diff --git a/src/app/grid-nested-props/grid-nested-props.sample.ts b/src/app/grid-nested-props/grid-nested-props.sample.ts
index f8511609050..18d8cd5e0a3 100644
--- a/src/app/grid-nested-props/grid-nested-props.sample.ts
+++ b/src/app/grid-nested-props/grid-nested-props.sample.ts
@@ -1,5 +1,15 @@
import { Component } from '@angular/core';
import { GridColumnDataType } from 'igniteui-angular';
+import { IgxTreeGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { NgFor } from '@angular/common';
+import { IgxGridToolbarExporterComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent, IgxExcelTextDirective, IgxCSVTextDirective } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
interface GridConfig {
field: string;
@@ -9,7 +19,9 @@ interface GridConfig {
@Component({
selector: 'app-grid-nested-props',
- templateUrl: 'grid-nested-props.sample.html'
+ templateUrl: 'grid-nested-props.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarExporterComponent, IgxExcelTextDirective, IgxCSVTextDirective, NgFor, IgxColumnComponent, IgxTreeGridComponent]
})
export class GridNestedPropsSampleComponent {
public data = [];
diff --git a/src/app/grid-percentage-columns/grid-percantge-widths.sample.ts b/src/app/grid-percentage-columns/grid-percantge-widths.sample.ts
index 2e26c0410b2..61391d49bc4 100644
--- a/src/app/grid-percentage-columns/grid-percantge-widths.sample.ts
+++ b/src/app/grid-percentage-columns/grid-percantge-widths.sample.ts
@@ -1,11 +1,27 @@
import { Component, OnInit, ViewChild } from '@angular/core';
-import { IColumnPipeArgs, IgxGridComponent, IgxStringFilteringOperand } from 'igniteui-angular';
+import { NgFor, NgIf, CurrencyPipe, DatePipe } from '@angular/common';
+
import { data, dataWithoutPK } from '../shared/data';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxSelectItemComponent } from '../../../projects/igniteui-angular/src/lib/select/select-item.component';
+import { IgxSelectComponent } from '../../../projects/igniteui-angular/src/lib/select/select.component';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { FormsModule } from '@angular/forms';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxCardComponent, IgxCardHeaderComponent, IgxCardHeaderTitleDirective, IgxCardContentDirective } from '../../../projects/igniteui-angular/src/lib/card/card.component';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IColumnPipeArgs } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
+import { IgxStringFilteringOperand } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-condition';
@Component({
providers: [],
selector: 'app-grid-percantge-widths.sample',
- styleUrls: ['grid-percantge-widths.sample.scss'],
- templateUrl: 'grid-percantge-widths.sample.html'
+ templateUrl: 'grid-percantge-widths.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective, IgxPaginatorComponent, IgxCardComponent, IgxCardHeaderComponent, IgxCardHeaderTitleDirective, IgxCardContentDirective, IgxInputGroupComponent, IgxLabelDirective, FormsModule, IgxInputDirective, IgxSelectComponent, NgFor, IgxSelectItemComponent, IgxButtonDirective, NgIf, CurrencyPipe, DatePipe]
})
export class GridColumnPercentageWidthsSampleComponent implements OnInit {
@ViewChild('grid1', { read: IgxGridComponent, static: true })
diff --git a/src/app/grid-performance/grid-performance.sample.ts b/src/app/grid-performance/grid-performance.sample.ts
index 72fc8ad4a79..e393e88821e 100644
--- a/src/app/grid-performance/grid-performance.sample.ts
+++ b/src/app/grid-performance/grid-performance.sample.ts
@@ -1,10 +1,19 @@
import { Component, OnInit, ViewChild } from '@angular/core';
-import { IgxGridComponent, GridSelectionMode } from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { GridSelectionMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
@Component({
selector: 'app-grid-performance-sample',
- styleUrls: ['grid-performance.sample.scss'],
- templateUrl: 'grid-performance.sample.html'
+ templateUrl: 'grid-performance.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, NgFor, IgxColumnComponent]
})
export class GridPerformanceSampleComponent implements OnInit {
diff --git a/src/app/grid-remote-paging/grid-remote-paging.sample.ts b/src/app/grid-remote-paging/grid-remote-paging.sample.ts
index b4d7ad0d18f..812afbd073b 100644
--- a/src/app/grid-remote-paging/grid-remote-paging.sample.ts
+++ b/src/app/grid-remote-paging/grid-remote-paging.sample.ts
@@ -1,12 +1,24 @@
import { AfterViewInit, Component, OnDestroy, OnInit, ViewChild } from '@angular/core';
-import { GridPagingMode, IgxGridComponent } from 'igniteui-angular';
-import { RemoteService } from '../shared/remote.service';
+import { NgIf, NgFor, AsyncPipe } from '@angular/common';
+
import { Observable } from 'rxjs';
+import { RemoteService } from '../shared/remote.service';
+import { IgxSelectItemComponent } from '../../../projects/igniteui-angular/src/lib/select/select-item.component';
+import { FormsModule } from '@angular/forms';
+import { IgxSelectComponent } from '../../../projects/igniteui-angular/src/lib/select/select.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxCardComponent, IgxCardHeaderComponent, IgxCardHeaderTitleDirective, IgxCardContentDirective } from '../../../projects/igniteui-angular/src/lib/card/card.component';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { GridPagingMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
+
@Component({
selector: 'app-grid-remote-paging-sample',
- styleUrls: ['grid-remote-paging.sample.scss'],
- templateUrl: 'grid-remote-paging.sample.html'
+ templateUrl: 'grid-remote-paging.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, NgIf, IgxPaginatorComponent, IgxCardComponent, IgxCardHeaderComponent, IgxCardHeaderTitleDirective, IgxCardContentDirective, IgxButtonDirective, IgxSelectComponent, FormsModule, NgFor, IgxSelectItemComponent, AsyncPipe]
})
export class GridRemotePagingSampleComponent implements OnInit, AfterViewInit, OnDestroy {
@ViewChild('grid1', { static: true }) public grid1: IgxGridComponent;
@@ -18,7 +30,7 @@ export class GridRemotePagingSampleComponent implements OnInit, AfterViewInit, O
public paging = true;
public data: Observable;
public selectOptions = [5, 10, 15, 25, 50];
- public areAllRowsSelected: boolean = false;
+ public areAllRowsSelected = false;
private _perPage = 15;
private _dataLengthSubscriber;
diff --git a/src/app/grid-remote-virtualization-with-scroll/grid-remote-virtualization-scroll.sample.ts b/src/app/grid-remote-virtualization-with-scroll/grid-remote-virtualization-scroll.sample.ts
index 58dafe41e8e..d41b305a408 100644
--- a/src/app/grid-remote-virtualization-with-scroll/grid-remote-virtualization-scroll.sample.ts
+++ b/src/app/grid-remote-virtualization-with-scroll/grid-remote-virtualization-scroll.sample.ts
@@ -2,11 +2,15 @@ import { Component, ViewChild, ChangeDetectorRef, OnInit, AfterViewInit } from '
import { IgxColumnComponent, IgxGridComponent } from 'igniteui-angular';
import { debounceTime } from 'rxjs/operators';
import { RemoteVirtService } from '../shared/remoteProductsData.service';
+import { AsyncPipe } from '@angular/common';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
@Component({
selector: 'app-grid-remote-virtualization-scroll',
templateUrl: 'grid-remote-virtualization-scroll.sample.html',
- providers: [RemoteVirtService]
+ providers: [RemoteVirtService],
+ standalone: true,
+ imports: [IgxGridComponent_1, AsyncPipe]
})
export class GridVirtualizationScrollSampleComponent implements OnInit, AfterViewInit {
@@ -17,7 +21,7 @@ export class GridVirtualizationScrollSampleComponent implements OnInit, AfterVie
public prevRequest: any;
public columns: any;
public loading = true;
- public areAllRowsSelected: boolean = false;
+ public areAllRowsSelected = false;
public clipboardOptions = {
enabled: true,
diff --git a/src/app/grid-remote-virtualization/grid-remote-virtualization.sample.ts b/src/app/grid-remote-virtualization/grid-remote-virtualization.sample.ts
index 7e45ff311e3..b06ba84ce4f 100644
--- a/src/app/grid-remote-virtualization/grid-remote-virtualization.sample.ts
+++ b/src/app/grid-remote-virtualization/grid-remote-virtualization.sample.ts
@@ -1,11 +1,15 @@
import { Component, ViewChild, ChangeDetectorRef, OnInit, AfterViewInit } from '@angular/core';
-import { IgxGridComponent } from 'igniteui-angular';
+import { AsyncPipe } from '@angular/common';
+
import { RemoteService } from '../shared/remote.service';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
@Component({
selector: 'app-grid-remote-virtualization-sample',
- styleUrls: ['grid-remote-virtualization.sample.html'],
- templateUrl: 'grid-remote-virtualization.sample.html'
+ templateUrl: 'grid-remote-virtualization.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, IgxButtonDirective, AsyncPipe]
})
export class GridVirtualizationSampleComponent implements OnInit, AfterViewInit {
diff --git a/src/app/grid-row-api/grid-row-api.sample.ts b/src/app/grid-row-api/grid-row-api.sample.ts
index cf3e3a00704..00abd03c687 100644
--- a/src/app/grid-row-api/grid-row-api.sample.ts
+++ b/src/app/grid-row-api/grid-row-api.sample.ts
@@ -1,20 +1,32 @@
import { Component, OnInit, Renderer2, ViewChild } from '@angular/core';
-import {
- IgxGridComponent,
- RowType,
- IgxTreeGridComponent,
- IgxHierarchicalGridComponent,
- IPinningConfig,
- RowPinningPosition,
- GridSummaryCalculationMode,
- GridSummaryPosition
-} from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
import { HIERARCHICAL_SAMPLE_DATA } from '../shared/sample-data';
+import { IgxPaginatorDirective } from '../../../projects/igniteui-angular/src/lib/paginator/paginator-interfaces';
+import { IgxRowIslandComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component';
+import { IgxHierarchicalGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component';
+import { IgxTreeGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxRowDragGhostDirective } from '../../../projects/igniteui-angular/src/lib/grids/row-drag.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridDetailTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.directives';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IPinningConfig, RowType } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
+import { GridSummaryCalculationMode, GridSummaryPosition, RowPinningPosition } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
@Component({
selector: 'app-grid-row-api-sample',
styleUrls: ['grid-row-api.sample.scss'],
- templateUrl: 'grid-row-api.sample.html'
+ templateUrl: 'grid-row-api.sample.html',
+ standalone: true,
+ imports: [FormsModule, IgxGridComponent, IgxGridDetailTemplateDirective, NgFor, IgxColumnComponent, IgxRowDragGhostDirective, IgxIconComponent, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxPaginatorComponent, IgxButtonDirective, IgxTreeGridComponent, IgxHierarchicalGridComponent, IgxRowIslandComponent, IgxPaginatorDirective]
})
export class GridRowAPISampleComponent implements OnInit {
diff --git a/src/app/grid-row-draggable/grid-row-draggable.sample.ts b/src/app/grid-row-draggable/grid-row-draggable.sample.ts
index b58047e00e2..030028c38d1 100644
--- a/src/app/grid-row-draggable/grid-row-draggable.sample.ts
+++ b/src/app/grid-row-draggable/grid-row-draggable.sample.ts
@@ -1,7 +1,19 @@
import { AfterViewInit, ChangeDetectorRef, Component, ViewChild } from '@angular/core';
+import { AsyncPipe } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
import { Observable } from 'rxjs';
-import { DisplayDensity, IgxGridComponent } from 'igniteui-angular';
+
import { RemoteService } from '../shared/remote.service';
+import { IgxDropDirective } from '../../../projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.directive';
+import { IgxRowDragDirective, IgxRowDragGhostDirective, IgxDragIndicatorIconDirective } from '../../../projects/igniteui-angular/src/lib/grids/row-drag.directive';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { DisplayDensity } from '../../../projects/igniteui-angular/src/lib/core/density';
enum DragIcon {
DEFAULT = 'drag_indicator',
@@ -11,8 +23,10 @@ enum DragIcon {
@Component({
selector: 'app-grid-row-draggable-sample',
+ templateUrl: 'grid-row-draggable.sample.html',
styleUrls: ['grid-row-draggable.sample.scss'],
- templateUrl: 'grid-row-draggable.sample.html'
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxSwitchComponent, FormsModule, IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective, IgxIconComponent, IgxRowDragDirective, IgxRowDragGhostDirective, IgxDropDirective, IgxDragIndicatorIconDirective, AsyncPipe]
})
export class GridRowDraggableComponent implements AfterViewInit {
diff --git a/src/app/grid-row-edit/grid-row-edit-sample.component.ts b/src/app/grid-row-edit/grid-row-edit-sample.component.ts
index 0758320157b..b51a15e3cca 100644
--- a/src/app/grid-row-edit/grid-row-edit-sample.component.ts
+++ b/src/app/grid-row-edit/grid-row-edit-sample.component.ts
@@ -1,12 +1,27 @@
import { Component, ViewChild } from '@angular/core';
-import { data } from '../shared/data';
+import { NgFor, NgIf } from '@angular/common';
+import { FormsModule } from '@angular/forms';
-import { IgxGridComponent, IgxToggleDirective, GridSelectionMode, IRowDataEventArgs } from 'igniteui-angular';
+import { data } from '../shared/data';
+import { IgxToggleDirective } from '../../../projects/igniteui-angular/src/lib/directives/toggle/toggle.directive';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxCheckboxComponent } from '../../../projects/igniteui-angular/src/lib/checkbox/checkbox.component';
+import { IgxFocusDirective } from '../../../projects/igniteui-angular/src/lib/directives/focus/focus.directive';
+import { GridSelectionMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
+import { IgxColumnComponent, IgxRowEditActionsDirective, IgxRowEditTabStopDirective, IgxRowEditTextDirective, IRowDataEventArgs } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/public_api';
+import { IgxCellEditorTemplateDirective, IgxCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnRequiredValidatorDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/validators.directive';
+import { IgxColumnGroupComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column-group.component';
@Component({
selector: 'app-grid-row-edit',
styleUrls: [`grid-row-edit-sample.component.scss`],
- templateUrl: 'grid-row-edit-sample.component.html'
+ templateUrl: 'grid-row-edit-sample.component.html',
+ standalone: true,
+ imports: [IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective, IgxColumnRequiredValidatorDirective, IgxCellEditorTemplateDirective, FormsModule, IgxFocusDirective, IgxCheckboxComponent, NgFor, IgxButtonDirective, IgxSwitchComponent, IgxColumnGroupComponent, NgIf, IgxRowEditTabStopDirective, IgxRowEditTextDirective, IgxRowEditActionsDirective, IgxPaginatorComponent, IgxToggleDirective]
})
export class GridRowEditSampleComponent {
@ViewChild(IgxToggleDirective, { static: true })
@@ -224,7 +239,7 @@ export class GridRowEditSampleComponent {
return null;
}
- private generatePerformanceData(rowsCount: number = 100000, colsCount: number = 300) {
+ private generatePerformanceData(rowsCount = 100000, colsCount = 300) {
const cols = [];
cols.push({
field: 'ID',
diff --git a/src/app/grid-row-pinning/grid-row-pinning.sample.ts b/src/app/grid-row-pinning/grid-row-pinning.sample.ts
index a1540ce2406..d9d6f2556bb 100644
--- a/src/app/grid-row-pinning/grid-row-pinning.sample.ts
+++ b/src/app/grid-row-pinning/grid-row-pinning.sample.ts
@@ -15,15 +15,36 @@ import {
RowType
} from 'igniteui-angular';
import { pinLeft, unpinLeft } from '@igniteui/material-icons-extended';
+import { IgxGridToolbarExporterComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component';
+import { IgxTreeGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
+import { IgxRowIslandComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component';
+import { IgxHierarchicalGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { NgFor } from '@angular/common';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridDetailTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.directives';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent, IgxExcelTextDirective, IgxCSVTextDirective } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { GridSearchBoxComponent } from '../grid-search-box/grid-search-box.component';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridStateDirective as IgxGridStateDirective_1 } from '../../../projects/igniteui-angular/src/lib/grids/state.directive';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
@Component({
selector: 'app-grid-row-pinning-sample',
styleUrls: ['grid-row-pinning.sample.scss'],
templateUrl: 'grid-row-pinning.sample.html',
providers: [
- { provide: DisplayDensityToken, useValue: { displayDensity: DisplayDensity.comfortable} },
+ { provide: DisplayDensityToken, useValue: { displayDensity: DisplayDensity.comfortable } },
IgxIconService
],
+ standalone: true,
+ imports: [IgxButtonDirective, IgxSwitchComponent, IgxGridComponent_1, IgxGridStateDirective_1, IgxGridToolbarComponent, GridSearchBoxComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridDetailTemplateDirective, IgxColumnComponent, IgxCellTemplateDirective, IgxIconComponent, NgFor, IgxPaginatorComponent, IgxHierarchicalGridComponent, IgxRowIslandComponent, IgxTreeGridComponent, IgxGridToolbarExporterComponent, IgxExcelTextDirective, IgxCSVTextDirective]
})
export class GridRowPinningSampleComponent implements OnInit, AfterViewInit {
diff --git a/src/app/grid-row-reorder/grid-row-reorder.sample.ts b/src/app/grid-row-reorder/grid-row-reorder.sample.ts
index fc8249f175d..d20d616d233 100644
--- a/src/app/grid-row-reorder/grid-row-reorder.sample.ts
+++ b/src/app/grid-row-reorder/grid-row-reorder.sample.ts
@@ -1,13 +1,18 @@
import { Component, ViewChild } from '@angular/core';
-import { IgxGridComponent } from 'igniteui-angular';
+
import { IgxRowDirective } from 'projects/igniteui-angular/src/lib/grids/row.directive';
import { DATA } from './nwindData';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxDropDirective } from '../../../projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.directive';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
@Component({
selector: 'app-grid-row-reorder-sample',
+ templateUrl: 'grid-row-reorder.sample.html',
styleUrls: ['grid-row-reorder.sample.scss'],
- templateUrl: 'grid-row-reorder.sample.html'
+ standalone: true,
+ imports: [IgxGridComponent, IgxDropDirective, IgxColumnComponent]
})
export class GridRowReorderComponent {
diff --git a/src/app/grid-search-box/grid-search-box.component.ts b/src/app/grid-search-box/grid-search-box.component.ts
index 7b9936f5a20..de8aa44bb83 100644
--- a/src/app/grid-search-box/grid-search-box.component.ts
+++ b/src/app/grid-search-box/grid-search-box.component.ts
@@ -1,14 +1,27 @@
import { Component, Input } from '@angular/core';
-import { IgxGridBaseDirective } from 'igniteui-angular';
+
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxChipComponent } from '../../../projects/igniteui-angular/src/lib/chips/chip.component';
+import { IgxChipsAreaComponent } from '../../../projects/igniteui-angular/src/lib/chips/chips-area.component';
+import { IgxSuffixDirective } from '../../../projects/igniteui-angular/src/lib/directives/suffix/suffix.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { FormsModule } from '@angular/forms';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { NgIf } from '@angular/common';
+import { IgxPrefixDirective } from '../../../projects/igniteui-angular/src/lib/directives/prefix/prefix.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxGridComponent, IgxHierarchicalGridComponent, IgxTreeGridComponent } from 'igniteui-angular';
@Component({
selector: 'app-grid-search-box',
styleUrls: ['./grid-search-box.component.scss'],
- templateUrl: './grid-search-box.component.html'
+ templateUrl: './grid-search-box.component.html',
+ standalone: true,
+ imports: [IgxInputGroupComponent, IgxPrefixDirective, NgIf, IgxIconComponent, FormsModule, IgxInputDirective, IgxSuffixDirective, IgxChipsAreaComponent, IgxChipComponent, IgxRippleDirective]
})
export class GridSearchBoxComponent {
@Input()
- public grid: IgxGridBaseDirective;
+ public grid: IgxGridComponent | IgxTreeGridComponent | IgxHierarchicalGridComponent;
public searchText = '';
public caseSensitive = false;
diff --git a/src/app/grid-search/grid-search.sample.ts b/src/app/grid-search/grid-search.sample.ts
index 1ba96179b80..375f910f299 100644
--- a/src/app/grid-search/grid-search.sample.ts
+++ b/src/app/grid-search/grid-search.sample.ts
@@ -1,11 +1,27 @@
import { Component, ViewChild, OnInit } from '@angular/core';
-import { IgxGridComponent, GridSelectionMode, DisplayDensity } from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarExporterComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent, IgxExcelTextDirective, IgxCSVTextDirective } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { GridSearchBoxComponent } from '../grid-search-box/grid-search-box.component';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { DisplayDensity } from '../../../projects/igniteui-angular/src/lib/core/density';
+import { GridSelectionMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
@Component({
providers: [],
selector: 'app-grid-search-sample',
styleUrls: ['grid-search.sample.scss'],
- templateUrl: 'grid-search.sample.html'
+ templateUrl: 'grid-search.sample.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxGridComponent, IgxGridToolbarComponent, GridSearchBoxComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarExporterComponent, IgxExcelTextDirective, IgxCSVTextDirective, NgFor, IgxColumnComponent, IgxButtonDirective]
})
export class GridSearchComponent implements OnInit {
diff --git a/src/app/grid-selection/grid-selection.sample.ts b/src/app/grid-selection/grid-selection.sample.ts
index 22f6849c6fa..8ee3a5834fb 100644
--- a/src/app/grid-selection/grid-selection.sample.ts
+++ b/src/app/grid-selection/grid-selection.sample.ts
@@ -1,12 +1,26 @@
import { AfterViewInit, ChangeDetectorRef, Component, ViewChild } from '@angular/core';
+import { NgFor, NgIf, AsyncPipe } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
import { Observable } from 'rxjs';
-import { IgxGridComponent } from 'igniteui-angular';
+
import { RemoteService } from '../shared/remote.service';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxDropDownItemComponent } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down-item.component';
+import { IgxDropDownComponent } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down.component';
+import { IgxDropDownItemNavigationDirective } from '../../../projects/igniteui-angular/src/lib/drop-down/drop-down-navigation.directive';
+import { IgxToggleActionDirective } from '../../../projects/igniteui-angular/src/lib/directives/toggle/toggle.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
@Component({
selector: 'app-grid-selection-sample',
+ templateUrl: 'grid-selection.sample.html',
styleUrls: ['grid-selection.sample.scss'],
- templateUrl: 'grid-selection.sample.html'
+ standalone: true,
+ imports: [IgxSwitchComponent, FormsModule, IgxButtonDirective, IgxToggleActionDirective, IgxDropDownItemNavigationDirective, IgxDropDownComponent, NgFor, IgxDropDownItemComponent, IgxGridComponent, IgxColumnComponent, NgIf, IgxRippleDirective, AsyncPipe]
})
export class GridSelectionComponent implements AfterViewInit {
@ViewChild('grid1', { static: true })
diff --git a/src/app/grid-state/about.component.ts b/src/app/grid-state/about.component.ts
index de279074fbb..581fc51ad3e 100644
--- a/src/app/grid-state/about.component.ts
+++ b/src/app/grid-state/about.component.ts
@@ -1,8 +1,12 @@
import { Component } from '@angular/core';
+import { RouterLink } from '@angular/router';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
@Component({
- selector: 'app-about',
- templateUrl: './about.component.html'
+ selector: 'app-about',
+ templateUrl: './about.component.html',
+ standalone: true,
+ imports: [IgxButtonDirective, RouterLink]
})
export class AboutComponent {
}
diff --git a/src/app/grid-state/grid-state.component.ts b/src/app/grid-state/grid-state.component.ts
index a51bb88fbc8..92529e711ad 100644
--- a/src/app/grid-state/grid-state.component.ts
+++ b/src/app/grid-state/grid-state.component.ts
@@ -1,11 +1,34 @@
import { Component, OnInit, ViewChild, QueryList, ViewChildren, TemplateRef } from '@angular/core';
import { FilteringExpressionsTree, FilteringLogic,
IgxNumberSummaryOperand, IgxSummaryResult, IGridState, IgxGridStateDirective,
- IgxExpansionPanelComponent, IgxGridBaseDirective,
- IGridStateOptions, GridFeatures, GridColumnDataType, IgxColumnComponent } from 'igniteui-angular';
+ IgxExpansionPanelComponent,
+ IGridStateOptions, GridFeatures, GridColumnDataType, IgxColumnComponent, GridType } from 'igniteui-angular';
import { take } from 'rxjs/operators';
-import { Router } from '@angular/router';
+import { Router, RouterLink } from '@angular/router';
import { TREEGRID_FLAT_DATA, EMPLOYEE_DATA, employeesData } from './data';
+import { IgxCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { FormsModule } from '@angular/forms';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxTooltipTargetDirective } from '../../../projects/igniteui-angular/src/lib/directives/tooltip/tooltip-target.directive';
+import { IgxTreeGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
+import { IgxRowIslandComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component';
+import { IgxHierarchicalGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component';
+import { IgxColumnGroupComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column-group.component';
+import { IgxTooltipDirective } from '../../../projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxGridDetailTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.directives';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxExpansionPanelBodyComponent } from '../../../projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-body.component';
+import { NgIf, NgTemplateOutlet, NgFor } from '@angular/common';
+import { IgxExpansionPanelTitleDirective, IgxExpansionPanelIconDirective } from '../../../projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.directives';
+import { IgxExpansionPanelHeaderComponent } from '../../../projects/igniteui-angular/src/lib/expansion-panel/expansion-panel-header.component';
class MySummary extends IgxNumberSummaryOperand {
@@ -43,9 +66,11 @@ interface GridState {
}
@Component({
- selector: 'app-grid',
- styleUrls: ['./grid-state.component.scss'],
- templateUrl: './grid-state.component.html'
+ selector: 'app-grid',
+ styleUrls: ['./grid-state.component.scss'],
+ templateUrl: './grid-state.component.html',
+ standalone: true,
+ imports: [IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelTitleDirective, NgIf, IgxExpansionPanelIconDirective, IgxExpansionPanelBodyComponent, NgTemplateOutlet, IgxGridComponent, IgxGridStateDirective, IgxGridToolbarComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridToolbarAdvancedFilteringComponent, NgFor, IgxColumnComponent, IgxGridDetailTemplateDirective, IgxPaginatorComponent, IgxTooltipDirective, IgxColumnGroupComponent, IgxHierarchicalGridComponent, IgxRowIslandComponent, IgxTreeGridComponent, RouterLink, IgxTooltipTargetDirective, IgxIconComponent, IgxSwitchComponent, FormsModule, IgxButtonDirective, IgxCellTemplateDirective]
})
export class GridSaveStateComponent implements OnInit {
@@ -127,7 +152,7 @@ export class GridSaveStateComponent implements OnInit {
});
}
- public getContext(grid: IgxGridBaseDirective) {
+ public getContext(grid: GridType) {
if (this.state) {
const stateDirective = this.state.find(st => st.grid.id === grid.id);
return { $implicit: grid, stateDirective};
diff --git a/src/app/grid-summaries/grid-summaries.sample.ts b/src/app/grid-summaries/grid-summaries.sample.ts
index d71ac262f88..d692321fc56 100644
--- a/src/app/grid-summaries/grid-summaries.sample.ts
+++ b/src/app/grid-summaries/grid-summaries.sample.ts
@@ -7,6 +7,19 @@ import {
IPinningConfig,
DisplayDensity
} from 'igniteui-angular';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { FormsModule } from '@angular/forms';
+import { IgxCellTemplateDirective, IgxSummaryTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarExporterComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarTitleComponent, IgxGridToolbarActionsComponent, IgxExcelTextDirective, IgxCSVTextDirective } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { NgIf } from '@angular/common';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
class MySummary extends IgxNumberSummaryOperand {
@@ -29,7 +42,9 @@ class MySummary extends IgxNumberSummaryOperand {
@Component({
selector: 'app-grid-summaries-sample',
styleUrls: ['./grid-summaries.component.scss'],
- templateUrl: 'grid-summaries.sample.html'
+ templateUrl: 'grid-summaries.sample.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxGridComponent_1, NgIf, IgxGridToolbarComponent, IgxGridToolbarTitleComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarExporterComponent, IgxExcelTextDirective, IgxCSVTextDirective, IgxColumnComponent, IgxCellTemplateDirective, IgxSummaryTemplateDirective, FormsModule, IgxSwitchComponent]
})
export class GridSummaryComponent implements OnInit {
diff --git a/src/app/grid-toolbar/grid-toolbar-custom.sample.ts b/src/app/grid-toolbar/grid-toolbar-custom.sample.ts
index c047b3816c7..0db9d4026e5 100644
--- a/src/app/grid-toolbar/grid-toolbar-custom.sample.ts
+++ b/src/app/grid-toolbar/grid-toolbar-custom.sample.ts
@@ -1,11 +1,27 @@
import { Component } from '@angular/core';
-import { IgxColumnComponent } from 'igniteui-angular';
+import { NgIf } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxGridToolbarExporterComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent, IgxExcelTextDirective, IgxCSVTextDirective } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
@Component({
selector: 'app-grid-toolbar-custom-sample',
styleUrls: ['grid-toolbar-custom.sample.scss'],
- templateUrl: 'grid-toolbar-custom.sample.html'
+ templateUrl: 'grid-toolbar-custom.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, NgIf, IgxGridToolbarComponent, IgxButtonDirective, IgxRippleDirective, IgxIconComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarExporterComponent, IgxExcelTextDirective, IgxCSVTextDirective, IgxSwitchComponent, FormsModule]
})
export class GridToolbarCustomSampleComponent {
public showToolbar = true;
diff --git a/src/app/grid-toolbar/grid-toolbar.sample.ts b/src/app/grid-toolbar/grid-toolbar.sample.ts
index 9e898f4bace..b1f172adb86 100644
--- a/src/app/grid-toolbar/grid-toolbar.sample.ts
+++ b/src/app/grid-toolbar/grid-toolbar.sample.ts
@@ -1,10 +1,25 @@
import { Component } from '@angular/core';
-import { IgxCsvExporterService, IgxExcelExporterService, IgxColumnComponent, DisplayDensity } from 'igniteui-angular';
+import { NgIf } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxGridToolbarExporterComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarTitleComponent, IgxGridToolbarActionsComponent, IgxExcelTextDirective, IgxCSVTextDirective } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { DisplayDensity } from '../../../projects/igniteui-angular/src/lib/core/density';
+import { IgxCsvExporterService, IgxExcelExporterService } from '../../../projects/igniteui-angular/src/lib/services/public_api';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
@Component({
selector: 'app-grid-toolbar-sample',
styleUrls: ['grid-toolbar.sample.scss'],
- templateUrl: 'grid-toolbar.sample.html'
+ templateUrl: 'grid-toolbar.sample.html',
+ standalone: true,
+ imports: [IgxGridComponent, NgIf, IgxGridToolbarComponent, IgxGridToolbarTitleComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarExporterComponent, IgxExcelTextDirective, IgxCSVTextDirective, IgxSwitchComponent, FormsModule]
})
export class GridToolbarSampleComponent {
public showToolbar = true;
diff --git a/src/app/grid-updates-test/grid-updates.component.ts b/src/app/grid-updates-test/grid-updates.component.ts
index 877ac7f15ed..6ab83ad8d76 100644
--- a/src/app/grid-updates-test/grid-updates.component.ts
+++ b/src/app/grid-updates-test/grid-updates.component.ts
@@ -2,11 +2,16 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { IRowSelectionEventArgs } from 'igniteui-angular';
import { IgxGridComponent } from 'projects/igniteui-angular/src/lib/grids/grid/grid.component';
import { AMINO_DATA } from './aminoData';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { NgFor } from '@angular/common';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
@Component({
- selector: 'app-grid-updates',
- styleUrls: ['./grid-updates.component.scss'],
- templateUrl: './grid-updates.component.html'
+ selector: 'app-grid-updates',
+ styleUrls: ['./grid-updates.component.scss'],
+ templateUrl: './grid-updates.component.html',
+ standalone: true,
+ imports: [IgxGridComponent_1, NgFor, IgxColumnComponent]
})
export class GridUpdatesComponent implements OnInit {
@ViewChild('grid') public grid: IgxGridComponent;
diff --git a/src/app/grid-validation/grid-validation.sample.component.html b/src/app/grid-validation/grid-validation.sample.component.html
index bd068ab1c14..1f3ac7a17c2 100644
--- a/src/app/grid-validation/grid-validation.sample.component.html
+++ b/src/app/grid-validation/grid-validation.sample.component.html
@@ -3,61 +3,63 @@
Grid without transactions
Row edit
-
-
- {{cell.row.validation.status}}
-
-
-
-
-
-
-
-
-
-
-
- This name is forbidden.
-
-
-
-
-
-
-
-
-
-
- Clear validity
+ [width]="'1000px'" [height]="'800px'">
+
+
+ {{cell.row.validation.status}}
+
+
+
+
+
+
+
+
+
+
+
+ This name is forbidden.
+
+
+
+
+
+
+
+
+
+
+
+ Clear validity
+
Grid with transactions
Row edit
-
-
-
-
-
+
+
+
+
This name is forbidden.
-
-
+
+
- Update row
- Update cell
- Commit
- Undo
- Redo
+ Update row
+ Update cell
+ Commit
+ Undo
+ Redo
@@ -65,7 +67,7 @@ Grid with transactions
TreeGrid
-
+
{{cell.row.validation.status}}
@@ -85,19 +87,19 @@ TreeGrid
Hierarchical Grid
-
-
-
-
-
-
-
-
- This name is forbidden.
-
-
+ [width]="'900px'" [height]="'550px'" [rowEditable]="true" [moving]="true">
+
-
-
+
+
+
+
+
+
+ This name is forbidden.
+
+
+
+
+
diff --git a/src/app/grid-validation/grid-validation.sample.component.ts b/src/app/grid-validation/grid-validation.sample.component.ts
index b1b326ea6bd..7125e6bf658 100644
--- a/src/app/grid-validation/grid-validation.sample.component.ts
+++ b/src/app/grid-validation/grid-validation.sample.component.ts
@@ -1,9 +1,23 @@
import { Component, Directive, ViewChild, Input } from '@angular/core';
+import { NgTemplateOutlet, NgIf, NgFor } from '@angular/common';
+import { AbstractControl, NG_VALIDATORS, ValidationErrors, ValidatorFn, Validators, FormsModule } from '@angular/forms';
+
import { data } from '../shared/data';
-import { IgxGridComponent, IRecordValidationState, IGridValidationStatusEventArgs, RowType, GridColumnDataType, IGridFormGroupCreatedEventArgs } from 'igniteui-angular';
-import { AbstractControl, NG_VALIDATORS, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
import { HIERARCHICAL_DATA } from '../shared/hierarchicalData';
+import { IgxRowIslandComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component';
+import { IgxHierarchicalGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component';
+import { IgxTreeGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
+import { IgxGridEditingActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component';
+import { IgxGridPinningActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component';
+import { IgxActionStripComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/action-strip.component';
+import { IgxCellTemplateDirective, IgxCellEditorTemplateDirective, IgxCellValidationErrorDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IGridFormGroupCreatedEventArgs, IGridValidationStatusEventArgs, IRecordValidationState, RowType } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
+import { GridColumnDataType } from '../../../projects/igniteui-angular/src/lib/data-operations/data-util';
+import { IGX_GRID_VALIDATION_DIRECTIVES } from '../../../projects/igniteui-angular/src/lib/grids/columns/public_api';
export function forbiddenNameValidator(nameRe: RegExp): ValidatorFn {
return (control: AbstractControl): ValidationErrors | null => {
@@ -14,8 +28,9 @@ export function forbiddenNameValidator(nameRe: RegExp): ValidatorFn {
@Directive({
selector: '[appForbiddenName]',
- providers: [{provide: NG_VALIDATORS, useExisting: ForbiddenValidatorDirective, multi: true}]
- })
+ providers: [{ provide: NG_VALIDATORS, useExisting: ForbiddenValidatorDirective, multi: true }],
+ standalone: true
+})
export class ForbiddenValidatorDirective extends Validators {
@Input('appForbiddenName')
public forbiddenName = '';
@@ -31,6 +46,27 @@ export function forbiddenNameValidator(nameRe: RegExp): ValidatorFn {
selector: 'app-grid-row-edit',
styleUrls: [`grid-validation.sample.component.scss`],
templateUrl: 'grid-validation.sample.component.html',
+ standalone: true,
+ imports: [
+ NgFor,
+ NgIf,
+ NgTemplateOutlet,
+ FormsModule,
+ IgxSwitchComponent,
+ IgxGridComponent,
+ IgxColumnComponent,
+ IgxCellTemplateDirective,
+ ForbiddenValidatorDirective,
+ IgxCellEditorTemplateDirective,
+ IgxCellValidationErrorDirective,
+ IgxActionStripComponent,
+ IgxGridPinningActionsComponent,
+ IgxGridEditingActionsComponent,
+ IgxTreeGridComponent,
+ IgxHierarchicalGridComponent,
+ IgxRowIslandComponent,
+ IGX_GRID_VALIDATION_DIRECTIVES
+ ]
})
export class GridValidationSampleComponent {
public rowEditWithTransactions = true;
diff --git a/src/app/grid/grid.sample.ts b/src/app/grid/grid.sample.ts
index 02e52110434..8e41d985330 100644
--- a/src/app/grid/grid.sample.ts
+++ b/src/app/grid/grid.sample.ts
@@ -1,31 +1,38 @@
import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';
import { Observable } from 'rxjs';
-import {
- IgxColumnComponent,
- IgxGridComponent,
- IgxSnackbarComponent,
- IgxToastComponent,
- SortingDirection,
- CsvFileTypes,
- IgxBaseExporter,
- IgxCsvExporterOptions,
- IgxCsvExporterService,
- IgxExcelExporterOptions,
- IgxExporterOptionsBase,
- IgxExcelExporterService,
- IgxStringFilteringOperand,
- DefaultSortingStrategy,
- GridSelectionMode,
- VerticalAlignment
-} from 'igniteui-angular';
+import { NgFor, AsyncPipe } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
import { RemoteService } from '../shared/remote.service';
import { LocalService } from '../shared/local.service';
+import { IgxSnackbarComponent } from '../../../projects/igniteui-angular/src/lib/snackbar/snackbar.component';
+import { IgxToastComponent } from '../../../projects/igniteui-angular/src/lib/toast/toast.component';
+import { IgxPaginatorComponent } from '../../../projects/igniteui-angular/src/lib/paginator/paginator.component';
+import { IgxCheckboxComponent } from '../../../projects/igniteui-angular/src/lib/checkbox/checkbox.component';
+import { IgxCellHeaderTemplateDirective, IgxCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxColumnHidingDirective } from '../../../projects/igniteui-angular/src/lib/grids/column-actions/column-hiding.directive';
+import { IgxColumnActionsComponent } from '../../../projects/igniteui-angular/src/lib/grids/column-actions/column-actions.component';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxCardComponent, IgxCardHeaderComponent, IgxCardContentDirective, IgxCardActionsComponent } from '../../../projects/igniteui-angular/src/lib/card/card.component';
+import { IgxStringFilteringOperand } from '../../../projects/igniteui-angular/src/lib/data-operations/filtering-condition';
+import { CsvFileTypes, IgxBaseExporter, IgxCsvExporterOptions, IgxCsvExporterService, IgxExcelExporterOptions, IgxExcelExporterService, IgxExporterOptionsBase, VerticalAlignment } from '../../../projects/igniteui-angular/src/lib/services/public_api';
+import { DefaultSortingStrategy, SortingDirection } from '../../../projects/igniteui-angular/src/lib/data-operations/sorting-strategy';
+import { GridSelectionMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
@Component({
selector: 'app-grid-sample',
- styleUrls: [ 'grid.sample.scss'],
- templateUrl: 'grid.sample.html'
+ styleUrls: ['grid.sample.scss'],
+ templateUrl: 'grid.sample.html',
+ standalone: true,
+ imports: [IgxCardComponent, IgxCardHeaderComponent, IgxCardContentDirective, IgxInputGroupComponent, FormsModule, IgxInputDirective, IgxLabelDirective, IgxCardActionsComponent, IgxButtonDirective, IgxRippleDirective, IgxColumnActionsComponent, IgxColumnHidingDirective, NgFor, IgxSwitchComponent, IgxGridComponent, IgxColumnComponent, IgxCellHeaderTemplateDirective, IgxCellTemplateDirective, IgxCheckboxComponent, IgxPaginatorComponent, IgxToastComponent, IgxSnackbarComponent, AsyncPipe]
})
export class GridSampleComponent implements OnInit, AfterViewInit {
@ViewChild('grid1', { static: true })
diff --git a/src/app/hierarchical-grid-add-row/hierarchical-grid-add-row.sample.ts b/src/app/hierarchical-grid-add-row/hierarchical-grid-add-row.sample.ts
index 088775c2e11..b3b03edcb6e 100644
--- a/src/app/hierarchical-grid-add-row/hierarchical-grid-add-row.sample.ts
+++ b/src/app/hierarchical-grid-add-row/hierarchical-grid-add-row.sample.ts
@@ -1,8 +1,15 @@
import { Component, ChangeDetectorRef, AfterViewInit } from '@angular/core';
+import { IgxRowIslandComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component';
+import { IgxGridEditingActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component';
+import { IgxGridPinningActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component';
+import { IgxActionStripComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/action-strip.component';
+import { IgxHierarchicalGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component';
@Component({
selector: 'app-hierarchical-grid-add-row-sample',
- templateUrl: 'hierarchical-grid-add-row.sample.html'
+ templateUrl: 'hierarchical-grid-add-row.sample.html',
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent, IgxActionStripComponent, IgxGridPinningActionsComponent, IgxGridEditingActionsComponent, IgxRowIslandComponent]
})
export class HierarchicalGridAddRowSampleComponent implements AfterViewInit {
public localData = [];
diff --git a/src/app/hierarchical-grid-remote-virtualization/hierarchical-grid-remote-virtualization.ts b/src/app/hierarchical-grid-remote-virtualization/hierarchical-grid-remote-virtualization.ts
index ce86bd863eb..961f698e7d6 100644
--- a/src/app/hierarchical-grid-remote-virtualization/hierarchical-grid-remote-virtualization.ts
+++ b/src/app/hierarchical-grid-remote-virtualization/hierarchical-grid-remote-virtualization.ts
@@ -5,12 +5,19 @@ import {
import { RemoteService } from '../shared/remote.service';
import { HierarchicalRemoteService } from './hierarchical-remote.service';
import { debounceTime } from 'rxjs/operators';
+import { IgxRowIslandComponent } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxHierarchicalGridComponent as IgxHierarchicalGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component';
+import { NgIf } from '@angular/common';
+import { IgxCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
@Component({
selector: 'app-hierarchical-grid-remote-virtualization-sample',
templateUrl: 'hierarchical-grid-remote-virtualization.html',
styleUrls: ['hierarchical-grid-remote-virtualization.scss'],
- providers: [RemoteService]
+ providers: [RemoteService],
+ standalone: true,
+ imports: [IgxCellTemplateDirective, NgIf, IgxHierarchicalGridComponent_1, IgxColumnComponent, IgxRowIslandComponent]
})
export class HierarchicalGridRemoteVirtualizationComponent implements AfterViewInit {
@ViewChild('hGrid', { static: true })
diff --git a/src/app/hierarchical-grid-remote/hierarchical-grid-remote.sample.ts b/src/app/hierarchical-grid-remote/hierarchical-grid-remote.sample.ts
index c9732ee17a9..7abaac33f9e 100644
--- a/src/app/hierarchical-grid-remote/hierarchical-grid-remote.sample.ts
+++ b/src/app/hierarchical-grid-remote/hierarchical-grid-remote.sample.ts
@@ -6,11 +6,20 @@ import {
GridSelectionMode
} from 'igniteui-angular';
import { RemoteService } from '../shared/remote.service';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxRowIslandComponent as IgxRowIslandComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarTitleComponent, IgxGridToolbarActionsComponent, IgxGridToolbarDirective } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxHierarchicalGridComponent as IgxHierarchicalGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component';
@Component({
selector: 'app-hierarchical-grid-remote-sample',
templateUrl: 'hierarchical-grid-remote.sample.html',
- providers: [RemoteService]
+ providers: [RemoteService],
+ standalone: true,
+ imports: [IgxHierarchicalGridComponent_1, IgxGridToolbarComponent, IgxGridToolbarTitleComponent, IgxGridToolbarActionsComponent, IgxGridToolbarHidingComponent, IgxColumnComponent, IgxRowIslandComponent_1, IgxGridToolbarDirective, IgxGridToolbarPinningComponent]
})
export class HierarchicalGridRemoteSampleComponent implements AfterViewInit {
@ViewChild('rowIsland1', { static: true })
diff --git a/src/app/hierarchical-grid-updating/hierarchical-grid-updating.sample.ts b/src/app/hierarchical-grid-updating/hierarchical-grid-updating.sample.ts
index 286d5eb8ce7..b7c275b0fdc 100644
--- a/src/app/hierarchical-grid-updating/hierarchical-grid-updating.sample.ts
+++ b/src/app/hierarchical-grid-updating/hierarchical-grid-updating.sample.ts
@@ -6,12 +6,16 @@ import {
GridSelectionMode
} from 'igniteui-angular';
import { RemoteService } from '../shared/remote.service';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
@Component({
selector: 'app-hierarchical-grid-updating-sample',
styleUrls: ['hierarchical-grid-updating.sample.scss'],
templateUrl: 'hierarchical-grid-updating.sample.html',
- providers: [ RemoteService ]
+ providers: [RemoteService],
+ standalone: true,
+ imports: [IgxButtonDirective, IgxHierarchicalGridComponent, IgxColumnComponent, IgxRowIslandComponent]
})
export class HierarchicalGridUpdatingSampleComponent implements AfterViewInit {
@ViewChild('rowIsland1', { static: true })
diff --git a/src/app/hierarchical-grid/hierarchical-grid.sample.html b/src/app/hierarchical-grid/hierarchical-grid.sample.html
index 9612e569b39..4956c3d1913 100644
--- a/src/app/hierarchical-grid/hierarchical-grid.sample.html
+++ b/src/app/hierarchical-grid/hierarchical-grid.sample.html
@@ -29,8 +29,6 @@ Sample One
Footer
-
-
@@ -42,7 +46,9 @@ export class IgxTotalSaleAggregate {
providers: [],
selector: 'app-tree-grid-sample',
styleUrls: ['pivot-grid-state.sample.scss'],
- templateUrl: 'pivot-grid-state.sample.html'
+ templateUrl: 'pivot-grid-state.sample.html',
+ standalone: true,
+ imports: [IgxButtonDirective, IgxPivotGridComponent_1, IgxGridStateDirective_1, IgxPivotDataSelectorComponent]
})
export class PivotGridStateSampleComponent {
@ViewChild('grid1', { static: true }) public grid1: IgxPivotGridComponent;
diff --git a/src/app/pivot-grid/pivot-grid.sample.html b/src/app/pivot-grid/pivot-grid.sample.html
index 3d0fe6d1358..8f3848668f1 100644
--- a/src/app/pivot-grid/pivot-grid.sample.html
+++ b/src/app/pivot-grid/pivot-grid.sample.html
@@ -68,7 +68,7 @@
[displayDensity]="density"
[superCompactMode]="gridDensity === 'superCompact'"
[defaultExpandState]="true"
- [rowSelection]='"single"'
+ [rowSelection]="'single'"
[pivotConfiguration]="pivotConfigHierarchy"
(dimensionsChange)="dimensionChange()"
>
diff --git a/src/app/pivot-grid/pivot-grid.sample.ts b/src/app/pivot-grid/pivot-grid.sample.ts
index eca7ebc7bc0..cebad6acd58 100644
--- a/src/app/pivot-grid/pivot-grid.sample.ts
+++ b/src/app/pivot-grid/pivot-grid.sample.ts
@@ -16,6 +16,13 @@ import {
IgxExcelExporterService,
IgxExcelExporterOptions
} from 'igniteui-angular';
+import { IgxPivotDataSelectorComponent } from '../../../projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-data-selector.component';
+import { IgxPivotValueChipTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.directives';
+import { IgxPivotGridComponent as IgxPivotGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { FormsModule } from '@angular/forms';
+import { IgxComboComponent } from '../../../projects/igniteui-angular/src/lib/combo/combo.component';
export class IgxTotalSaleAggregate {
public static totalSale: PivotAggregation = (members, data: any) =>
@@ -48,7 +55,9 @@ export class IgxTotalSaleAggregate {
providers: [],
selector: 'app-tree-grid-sample',
styleUrls: ['pivot-grid.sample.scss'],
- templateUrl: 'pivot-grid.sample.html'
+ templateUrl: 'pivot-grid.sample.html',
+ standalone: true,
+ imports: [IgxComboComponent, FormsModule, IgxButtonGroupComponent, IgxButtonDirective, IgxPivotGridComponent_1, IgxPivotValueChipTemplateDirective, IgxPivotDataSelectorComponent]
})
export class PivotGridSampleComponent {
@ViewChild('grid1', { static: true }) public grid1: IgxPivotGridComponent;
diff --git a/src/app/progressbar/progressbar.sample.html b/src/app/progressbar/progressbar.sample.html
index 1c65b10f3a9..63d77fcd172 100644
--- a/src/app/progressbar/progressbar.sample.html
+++ b/src/app/progressbar/progressbar.sample.html
@@ -90,7 +90,7 @@ Circular progress indicator
-
+
{{process.value}}
TOTAL%
diff --git a/src/app/progressbar/progressbar.sample.ts b/src/app/progressbar/progressbar.sample.ts
index 40e0df75d74..e8d7434b4a3 100644
--- a/src/app/progressbar/progressbar.sample.ts
+++ b/src/app/progressbar/progressbar.sample.ts
@@ -1,11 +1,18 @@
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import { IgxTextAlign } from 'igniteui-angular';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxProgressBarTextTemplateDirective, IgxProgressBarGradientDirective } from '../../../projects/igniteui-angular/src/lib/progressbar/progressbar.common';
+import { IgxLinearProgressBarComponent, IgxCircularProgressBarComponent } from '../../../projects/igniteui-angular/src/lib/progressbar/progressbar.component';
@Component({
encapsulation: ViewEncapsulation.None,
selector: 'app-progressbar-sample',
styleUrls: ['progressbar.sample.scss'],
- templateUrl: 'progressbar.sample.html'
+ templateUrl: 'progressbar.sample.html',
+ standalone: true,
+ imports: [IgxLinearProgressBarComponent, IgxCircularProgressBarComponent, IgxProgressBarTextTemplateDirective, IgxProgressBarGradientDirective, IgxButtonDirective, IgxRippleDirective, IgxIconComponent]
})
export class ProgressbarSampleComponent implements OnInit {
diff --git a/src/app/query-builder/query-builder.sample.ts b/src/app/query-builder/query-builder.sample.ts
index efd357e7389..ed3f01ff56c 100644
--- a/src/app/query-builder/query-builder.sample.ts
+++ b/src/app/query-builder/query-builder.sample.ts
@@ -6,12 +6,18 @@ import { FilteringExpressionsTree, IgxStringFilteringOperand,
changei18n,
IExpressionTree} from 'igniteui-angular';
import { IgxResourceStringsFR } from 'igniteui-angular-i18n';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxQueryBuilderComponent as IgxQueryBuilderComponent_1 } from '../../../projects/igniteui-angular/src/lib/query-builder/query-builder.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
@Component({
providers: [],
selector: 'app-query-builder-sample',
styleUrls: ['query-builder.sample.scss'],
- templateUrl: 'query-builder.sample.html'
+ templateUrl: 'query-builder.sample.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxQueryBuilderComponent_1, IgxButtonDirective, IgxRippleDirective]
})
export class QueryBuilderComponent implements OnInit {
@ViewChild('queryBuilder', { static: true })
diff --git a/src/app/radio/radio.sample.ts b/src/app/radio/radio.sample.ts
index 81d903a0704..6173aa199e7 100644
--- a/src/app/radio/radio.sample.ts
+++ b/src/app/radio/radio.sample.ts
@@ -1,6 +1,13 @@
import { Component, ViewChild, AfterContentInit } from '@angular/core';
-import { IgxRadioGroupDirective, RadioGroupAlignment } from 'igniteui-angular';
-import { UntypedFormGroup, UntypedFormBuilder } from '@angular/forms';
+import { NgFor, JsonPipe } from '@angular/common';
+import { UntypedFormGroup, UntypedFormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms';
+
+import { IgxRadioComponent } from '../../../projects/igniteui-angular/src/lib/radio/radio.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxCardComponent, IgxCardHeaderComponent, IgxCardHeaderTitleDirective, IgxCardContentDirective, IgxCardActionsComponent } from '../../../projects/igniteui-angular/src/lib/card/card.component';
+import { IgxLayoutDirective } from '../../../projects/igniteui-angular/src/lib/directives/layout/layout.directive';
+import { IgxRadioGroupDirective, RadioGroupAlignment } from '../../../projects/igniteui-angular/src/lib/directives/radio/radio-group.directive';
class Person {
public favoriteSeason: string;
@@ -15,7 +22,9 @@ class Person {
@Component({
selector: 'app-radio-sample',
styleUrls: ['radio.sample.scss'],
- templateUrl: 'radio.sample.html'
+ templateUrl: 'radio.sample.html',
+ standalone: true,
+ imports: [IgxRadioGroupDirective, FormsModule, IgxLayoutDirective, NgFor, IgxCardComponent, IgxCardHeaderComponent, IgxCardHeaderTitleDirective, IgxCardContentDirective, IgxCardActionsComponent, IgxRippleDirective, IgxButtonDirective, IgxRadioComponent, ReactiveFormsModule, JsonPipe]
})
export class RadioSampleComponent implements AfterContentInit {
@ViewChild('radioGroupZZ', { read: IgxRadioGroupDirective, static: true })
diff --git a/src/app/rating/rating.sample.ts b/src/app/rating/rating.sample.ts
index 420aa79f9a8..2c98ebf8d6a 100644
--- a/src/app/rating/rating.sample.ts
+++ b/src/app/rating/rating.sample.ts
@@ -1,5 +1,12 @@
import { Component } from '@angular/core';
import { defineComponents, IgcRatingComponent } from 'igniteui-webcomponents';
+import { IgcFormControlDirective } from '../../../projects/igniteui-angular/src/lib/directives/form-control/form-control.directive';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { FormsModule } from '@angular/forms';
+import { IgxCardComponent, IgxCardHeaderComponent, IgxCardHeaderTitleDirective, IgxCardContentDirective } from '../../../projects/igniteui-angular/src/lib/card/card.component';
+import { NgFor } from '@angular/common';
defineComponents(IgcRatingComponent);
@@ -7,7 +14,9 @@ defineComponents(IgcRatingComponent);
@Component({
selector: 'app-rating-sample',
styleUrls: ['rating.sample.scss'],
- templateUrl: 'rating.sample.html'
+ templateUrl: 'rating.sample.html',
+ standalone: true,
+ imports: [NgFor, IgxCardComponent, IgxCardHeaderComponent, IgxCardHeaderTitleDirective, IgxCardContentDirective, FormsModule, IgxInputGroupComponent, IgxInputDirective, IgxLabelDirective, IgcFormControlDirective]
})
export class RatingSampleComponent {
public models = [{
diff --git a/src/app/reactive-from/reactive-form-sample.component.ts b/src/app/reactive-from/reactive-form-sample.component.ts
index e7cf4519e00..a8e20d1837e 100644
--- a/src/app/reactive-from/reactive-form-sample.component.ts
+++ b/src/app/reactive-from/reactive-form-sample.component.ts
@@ -1,10 +1,28 @@
import { Component } from '@angular/core';
-import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
+import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxTimePickerComponent } from '../../../projects/igniteui-angular/src/lib/time-picker/time-picker.component';
+import { IgxDatePickerComponent } from '../../../projects/igniteui-angular/src/lib/date-picker/date-picker.component';
+import { IgxComboComponent } from '../../../projects/igniteui-angular/src/lib/combo/combo.component';
+import { IgxHintDirective } from '../../../projects/igniteui-angular/src/lib/directives/hint/hint.directive';
+import { IgxPrefixDirective } from '../../../projects/igniteui-angular/src/lib/directives/prefix/prefix.directive';
+import { IgxSuffixDirective } from '../../../projects/igniteui-angular/src/lib/directives/suffix/suffix.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxSelectItemComponent } from '../../../projects/igniteui-angular/src/lib/select/select-item.component';
+import { IgxSelectGroupComponent } from '../../../projects/igniteui-angular/src/lib/select/select-group.component';
+import { NgFor } from '@angular/common';
+import { IgxSelectComponent, IgxSelectToggleIconDirective } from '../../../projects/igniteui-angular/src/lib/select/select.component';
@Component({
selector: 'app-reactive-form',
styleUrls: ['reactive-form-sample.component.scss'],
- templateUrl: 'reactive-form-sample.component.html'
+ templateUrl: 'reactive-form-sample.component.html',
+ standalone: true,
+ imports: [FormsModule, ReactiveFormsModule, IgxSelectComponent, NgFor, IgxSelectGroupComponent, IgxSelectItemComponent, IgxLabelDirective, IgxSelectToggleIconDirective, IgxIconComponent, IgxInputGroupComponent, IgxInputDirective, IgxSuffixDirective, IgxPrefixDirective, IgxHintDirective, IgxComboComponent, IgxDatePickerComponent, IgxTimePickerComponent, IgxButtonDirective, IgxRippleDirective]
})
export class ReactiveFormSampleComponent {
public genres = [];
diff --git a/src/app/ripple/ripple.sample.ts b/src/app/ripple/ripple.sample.ts
index 91b3261f989..8373f4ced29 100644
--- a/src/app/ripple/ripple.sample.ts
+++ b/src/app/ripple/ripple.sample.ts
@@ -1,8 +1,11 @@
import { Component } from '@angular/core';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
@Component({
selector: 'app-ripple-sample',
styleUrls: ['ripple.sample.scss'],
- templateUrl: 'ripple.sample.html'
+ templateUrl: 'ripple.sample.html',
+ standalone: true,
+ imports: [IgxRippleDirective]
})
export class RippleSampleComponent {}
diff --git a/src/app/routing.ts b/src/app/routing.ts
deleted file mode 100644
index 3d299eec004..00000000000
--- a/src/app/routing.ts
+++ /dev/null
@@ -1,660 +0,0 @@
-import { TreeGridAddRowSampleComponent } from './tree-grid-add-row/tree-grid-add-row.sample';
-import { RouterModule, Routes } from '@angular/router';
-import { AvatarSampleComponent } from './avatar/avatar.sample';
-import { BadgeSampleComponent } from './badge/badge.sample';
-import { ButtonSampleComponent } from './button/button.sample';
-import { CalendarSampleComponent } from './calendar/calendar.sample';
-import { CardSampleComponent } from './card/card.sample';
-import { CarouselSampleComponent } from './carousel/carousel.sample';
-import { ChipsSampleComponent } from './chips/chips.sample';
-import { ExpansionPanelSampleComponent } from './expansion-panel/expansion-panel-sample';
-import { DatePickerSampleComponent } from './date-picker/date-picker.sample';
-import { DialogSampleComponent } from './dialog/dialog.sample';
-import { DragDropSampleComponent } from './drag-drop/drag-drop.sample';
-import { MaskSampleComponent } from './mask/mask.sample';
-import { IconSampleComponent } from './icon/icon.sample';
-import { InputSampleComponent } from './input/input.sample';
-import { InputGroupSampleComponent } from './input-group/input-group.sample';
-import { LayoutSampleComponent } from './layout/layout.sample';
-import { ListSampleComponent } from './list/list.sample';
-import { ListPanningSampleComponent } from './list-panning/list-panning.sample';
-import { ListPerformanceSampleComponent } from './list-performance/list-performance.sample';
-import { NavbarSampleComponent } from './navbar/navbar.sample';
-import { NavdrawerSampleComponent } from './navdrawer/navdrawer.sample';
-import { ProgressbarSampleComponent } from './progressbar/progressbar.sample';
-import { RippleSampleComponent } from './ripple/ripple.sample';
-import { SliderSampleComponent } from './slider/slider.sample';
-import { SplitterSampleComponent } from './splitter/splitter.sample';
-import { SnackbarSampleComponent } from './snackbar/snackbar.sample';
-import { ColorsSampleComponent } from './styleguide/colors/color.sample';
-import { ShadowsSampleComponent } from './styleguide/shadows/shadows.sample';
-import { TypographySampleComponent } from './styleguide/typography/typography.sample';
-import { BottomNavSampleComponent, CustomContentComponent } from './bottomnav/bottomnav.sample';
-import { BottomNavRoutingSampleComponent } from './bottomnav-routing/bottomnav-routing.sample';
-import {
- BottomNavRoutingView1Component,
- BottomNavRoutingView2Component,
- BottomNavRoutingView3Component
-} from './bottomnav-routing/bottomnav-routing-views.sample';
-import { TabsSampleComponent } from './tabs/tabs.sample';
-import { TabsRoutingSampleComponent } from './tabs-routing/tabs-routing.sample';
-import {
- TabsRoutingView1Component,
- TabsRoutingView2Component,
- TabsRoutingView3Component
-} from './tabs-routing/tabs-routing-views.sample';
-import { TimePickerSampleComponent } from './time-picker/time-picker.sample';
-import { ToastSampleComponent } from './toast/toast.sample';
-import { VirtualForSampleComponent } from './virtual-for-directive/virtual-for.sample';
-import { GridCellEditingComponent } from './grid-cellEditing/grid-cellEditing.component';
-import { GridSampleComponent } from './grid/grid.sample';
-import { GridColumnMovingSampleComponent } from './grid-column-moving/grid-column-moving.sample';
-import { GridColumnSelectionSampleComponent } from './grid-column-selection/grid-column-selection.sample';
-import { GridColumnPinningSampleComponent } from './grid-column-pinning/grid-column-pinning.sample';
-import { GridColumnResizingSampleComponent } from './grid-column-resizing/grid-column-resizing.sample';
-import { GridGroupBySampleComponent } from './grid-groupby/grid-groupby.sample';
-import { GridSummaryComponent } from './grid-summaries/grid-summaries.sample';
-import { GridPerformanceSampleComponent } from './grid-performance/grid-performance.sample';
-import { GridRemotePagingSampleComponent } from './grid-remote-paging/grid-remote-paging.sample';
-import { GridSelectionComponent } from './grid-selection/grid-selection.sample';
-import { GridRowDraggableComponent } from './grid-row-draggable/grid-row-draggable.sample';
-import { GridToolbarSampleComponent } from './grid-toolbar/grid-toolbar.sample';
-import { GridToolbarCustomSampleComponent } from './grid-toolbar/grid-toolbar-custom.sample';
-import { GridVirtualizationSampleComponent } from './grid-remote-virtualization/grid-remote-virtualization.sample';
-import { ButtonGroupSampleComponent } from './buttonGroup/buttonGroup.sample';
-import { GridColumnGroupsSampleComponent } from './grid-column-groups/grid-column-groups.sample';
-import { DropDownSampleComponent } from './drop-down/drop-down.sample';
-import { DisplayDensityDropDownComponent } from './drop-down/display-density/display-density.sample';
-import { DropDownVirtualComponent } from './drop-down/drop-down-virtual/drop-down-virtual.component';
-import { ComboSampleComponent } from './combo/combo.sample';
-import { OverlaySampleComponent } from './overlay/overlay.sample';
-import { OverlayAnimationSampleComponent } from './overlay/overlay-animation.sample';
-import { OverlayPresetsSampleComponent } from './overlay/overlay-presets.sample';
-import { RadioSampleComponent } from './radio/radio.sample';
-import { TooltipSampleComponent } from './tooltip/tooltip.sample';
-import { GridCellStylingSampleComponent } from './gird-cell-styling/grid-cell-styling.sample';
-import { GridRowEditSampleComponent } from './grid-row-edit/grid-row-edit-sample.component';
-import { TreeGridSampleComponent } from './tree-grid/tree-grid.sample';
-import { TreeGridFlatDataSampleComponent } from './tree-grid-flat-data/tree-grid-flat-data.sample';
-import { HierarchicalGridSampleComponent } from './hierarchical-grid/hierarchical-grid.sample';
-import { HierarchicalGridRemoteSampleComponent } from './hierarchical-grid-remote/hierarchical-grid-remote.sample';
-import { HierarchicalGridUpdatingSampleComponent } from './hierarchical-grid-updating/hierarchical-grid-updating.sample';
-import { GridColumnPercentageWidthsSampleComponent } from './grid-percentage-columns/grid-percantge-widths.sample';
-import { BannerSampleComponent } from './banner/banner.sample';
-import { CalendarViewsSampleComponent } from './calendar-views/calendar-views.sample';
-import { SelectSampleComponent } from './select/select.sample';
-import { GridSearchComponent } from './grid-search/grid-search.sample';
-import { AutocompleteSampleComponent } from './autocomplete/autocomplete.sample';
-import { GridMRLSampleComponent } from './grid-multi-row-layout/grid-mrl.sample';
-import { TreeGridLoadOnDemandSampleComponent } from './tree-grid-load-on-demand/tree-grid-load-on-demand.sample';
-import { GridFilterTemplateSampleComponent } from './grid-filter-template/grid-filter-template.sample';
-import { GridMRLConfigSampleComponent } from './grid-multi-row-layout-config/grid-mrl-config.sample';
-import { GridMRLCustomNavigationSampleComponent } from './grid-mrl-custom-navigation/grid-mrl-custom-navigation';
-import { GridClipboardSampleComponent } from './grid-clipboard/grid-clipboard.sample';
-import { GridAutoSizeSampleComponent } from './grid-auto-size/grid-auto-size.sample';
-import { GridFlexSampleComponent } from './grid-flex-layout/grid-flex.sample';
-import { GridEsfLoadOnDemandComponent } from './grid-esf-load-on-demand/grid-esf-load-on-demand.component';
-import { GridFilteringComponent } from './grid-filtering/grid-filtering.sample';
-import { GridExternalFilteringComponent } from './grid-external-filtering/grid-external-filtering.sample';
-import { GridSaveStateComponent } from './grid-state/grid-state.component';
-import { AboutComponent } from './grid-state/about.component';
-import { GridMasterDetailSampleComponent } from './grid-master-detail/grid-master-detail.sample';
-import { DateTimeEditorSampleComponent } from './date-time-editor/date-time-editor.sample';
-import { GridRowPinningSampleComponent } from './grid-row-pinning/grid-row-pinning.sample';
-import { GridRowReorderComponent } from './grid-row-reorder/grid-row-reorder.sample';
-import { ReactiveFormSampleComponent } from './reactive-from/reactive-form-sample.component';
-import { DateRangeSampleComponent } from './date-range/date-range.sample';
-import { ActionStripSampleComponent } from './action-strip/action-strip.sample';
-import {
- HierarchicalGridRemoteVirtualizationComponent
-} from './hierarchical-grid-remote-virtualization/hierarchical-grid-remote-virtualization';
-import { GridVirtualizationScrollSampleComponent } from './grid-remote-virtualization-with-scroll/grid-remote-virtualization-scroll.sample';
-import { GridNestedPropsSampleComponent } from './grid-nested-props/grid-nested-props.sample';
-import { GridColumnActionsSampleComponent } from './grid-column-actions/grid-column-actions.sample';
-import { GridAddRowSampleComponent } from './grid-add-row/grid-add-row.sample';
-import { HierarchicalGridAddRowSampleComponent } from './hierarchical-grid-add-row/hierarchical-grid-add-row.sample';
-import { AnimationsSampleComponent } from './styleguide/animations/animations.sample';
-import { GridFormattingComponent } from './grid-formatting/grid-formatting.component';
-import { MainComponent } from './grid-finjs/main.component';
-import { GridEventsComponent } from './grid-events/grid-events.component';
-import { GridRowAPISampleComponent } from './grid-row-api/grid-row-api.sample';
-import { GridUpdatesComponent } from './grid-updates-test/grid-updates.component';
-import { TreeSampleComponent } from './tree/tree.sample';
-import { GridColumnTypesSampleComponent } from './grid-column-types/grid-column-types.sample';
-import { AccordionSampleComponent } from './accordion/accordion.sample';
-import { GridLocalizationSampleComponent } from './grid-localization/grid-localization.sample';
-import { TreeGridGroupBySampleComponent } from './tree-grid-groupby/tree-grid-groupby.sample';
-import { PaginationSampleComponent } from './pagination/pagination.component';
-import { GridCellAPISampleComponent } from './grid-cell-api/grid-cell-api.sample';
-import { PivotGridSampleComponent } from './pivot-grid/pivot-grid.sample';
-import { PivotGridHierarchySampleComponent } from './pivot-grid-hierarchy/pivot-grid-hierarchy.sample';
-import { PivotGridNoopSampleComponent } from './pivot-grid-noop/pivot-grid-noop.sample';
-import { IgxStepperSampleComponent as StepperSampleComponent } from './stepper/stepper.sample';
-import { RatingSampleComponent } from './rating/rating.sample';
-import { RangeSliderComponent } from './slider/range-slider/range-slider.component';
-import { QueryBuilderComponent } from './query-builder/query-builder.sample';
-import { PivotGridStateSampleComponent } from './pivot-grid-state/pivot-grid-state.sample';
-import { GridValidationSampleComponent } from './grid-validation/grid-validation.sample.component';
-import { GridExportComponent } from './grid-export/grid-export.sample';
-
-const appRoutes: Routes = [
- {
- path: '',
- pathMatch: 'full',
- redirectTo: '/avatar'
- },
- {
- path: 'accordion',
- component: AccordionSampleComponent
- },
- {
- path: 'action-strip',
- component: ActionStripSampleComponent
- },
- {
- path: 'autocomplete',
- component: AutocompleteSampleComponent
- },
- {
- path: 'avatar',
- component: AvatarSampleComponent
- },
- {
- path: 'badge',
- component: BadgeSampleComponent
- },
- {
- path: 'banner',
- component: BannerSampleComponent
- },
- {
- path: 'select',
- component: SelectSampleComponent
- },
- {
- path: 'buttons',
- component: ButtonSampleComponent
- },
- {
- path: 'calendar',
- component: CalendarSampleComponent
- },
- {
- path: 'calendar-views',
- component: CalendarViewsSampleComponent
- },
- {
- path: 'card',
- component: CardSampleComponent
- },
- {
- path: 'carousel',
- component: CarouselSampleComponent
- },
- {
- path: 'combo',
- component: ComboSampleComponent
- },
- {
- path: 'expansionPanel',
- component: ExpansionPanelSampleComponent
- },
- {
- path: 'chip',
- component: ChipsSampleComponent
- },
- {
- path: 'datePicker',
- component: DatePickerSampleComponent
- },
- {
- path: 'dialog',
- component: DialogSampleComponent
- },
- {
- path: 'dropDown',
- component: DropDownSampleComponent
- },
- {
- path: 'dropDown-density',
- component: DisplayDensityDropDownComponent
- },
- {
- path: 'virtual-dropdown',
- component: DropDownVirtualComponent
- },
- {
- path: 'drag-drop',
- component: DragDropSampleComponent
- },
- {
- path: 'icon',
- component: IconSampleComponent
- },
- {
- path: 'lazyIconModule',
- loadChildren: () => import('./icon/LazyModule/lazyIcon.module').then(m => m.LazyIconModule)
- },
- {
- path: 'inputs',
- component: InputSampleComponent
- },
- {
- path: 'input-group',
- component: InputGroupSampleComponent
- },
- {
- path: 'layout',
- component: LayoutSampleComponent
- },
- {
- path: 'list',
- component: ListSampleComponent
- },
- {
- path: 'listPanning',
- component: ListPanningSampleComponent
- },
- {
- path: 'listPerformance',
- component: ListPerformanceSampleComponent
- },
- {
- path: 'mask',
- component: MaskSampleComponent
- },
- {
- path: 'date-time-editor',
- component: DateTimeEditorSampleComponent
- },
- {
- path: 'navbar',
- component: NavbarSampleComponent
- },
- {
- path: 'navdrawer',
- component: NavdrawerSampleComponent
- },
- {
- path: 'overlay',
- component: OverlaySampleComponent
- },
- {
- path: 'overlay-presets',
- component: OverlayPresetsSampleComponent
- },
- {
- path: 'overlay-animation',
- component: OverlayAnimationSampleComponent
- },
- {
- path: 'progressbar',
- component: ProgressbarSampleComponent
- },
- {
- path: 'radio',
- component: RadioSampleComponent
- },
- {
- path: 'rating',
- component: RatingSampleComponent
- },
- {
- path: 'reactive',
- component: ReactiveFormSampleComponent
- },
- {
- path: 'ripple',
- component: RippleSampleComponent
- },
- {
- path: 'slider',
- component: SliderSampleComponent
- },
- {
- path: 'range-slider',
- component: RangeSliderComponent
- },
- {
- path: 'splitter',
- component: SplitterSampleComponent
- },
- {
- path: 'snackbar',
- component: SnackbarSampleComponent
- },
- {
- path: 'colors',
- component: ColorsSampleComponent
- },
- {
- path: 'animations',
- component: AnimationsSampleComponent
- },
- {
- path: 'shadows',
- component: ShadowsSampleComponent
- },
- {
- path: 'typography',
- component: TypographySampleComponent
- },
- {
- path: 'bottom-navigation',
- component: BottomNavSampleComponent,
- children: [
- { path: 'tabContentPath', component: CustomContentComponent, outlet: 'tabPanelOutlet' }
- ]
- },
- {
- path: 'bottom-navigation-routing',
- component: BottomNavRoutingSampleComponent,
- children: [
- { path: 'view1', component: BottomNavRoutingView1Component },
- { path: 'view2', component: BottomNavRoutingView2Component },
- { path: 'view3', component: BottomNavRoutingView3Component },
- ]
- },
- {
- path: 'tabs',
- component: TabsSampleComponent
- },
- {
- path: 'tabs-routing',
- component: TabsRoutingSampleComponent,
- children: [
- { path: 'view1', component: TabsRoutingView1Component },
- { path: 'view2', component: TabsRoutingView2Component },
- { path: 'view3', component: TabsRoutingView3Component },
- ]
- },
- {
- path: 'timePicker',
- component: TimePickerSampleComponent
- },
- {
- path: 'toast',
- component: ToastSampleComponent
- },
- {
- path: 'virtualForDirective',
- component: VirtualForSampleComponent
- },
- {
- path: 'gridCellEditing',
- component: GridCellEditingComponent
- },
- {
- path: 'gridConditionalCellStyling',
- component: GridCellStylingSampleComponent
- },
- {
- path: 'grid',
- component: GridSampleComponent
- },
- {
- path: 'gridAddRow',
- component: GridAddRowSampleComponent
- },
- {
- path: 'hierarchicalGridAddRow',
- component: HierarchicalGridAddRowSampleComponent
- },
- {
- path: 'treeGridAddRow',
- component: TreeGridAddRowSampleComponent
- },
- {
- path: 'gridFilterTemplate',
- component: GridFilterTemplateSampleComponent
- },
- {
- path: 'gridEsfLoadOnDemand',
- component: GridEsfLoadOnDemandComponent
- },
- {
- path: 'gridClipboard',
- component: GridClipboardSampleComponent
- },
- {
- path: 'gridColumnMoving',
- component: GridColumnMovingSampleComponent
- },
- {
- path: 'gridColumnTypes',
- component: GridColumnTypesSampleComponent
- },
- {
- path: 'gridColumnSelecting',
- component: GridColumnSelectionSampleComponent
- },
- {
- path: 'gridColumnPinning',
- component: GridColumnPinningSampleComponent
- },
- {
- path: 'gridColumnActions',
- component: GridColumnActionsSampleComponent
- },
- {
- path: 'gridRowPinning',
- component: GridRowPinningSampleComponent
- },
- {
- path: 'gridRowAPI',
- component: GridRowAPISampleComponent
- },
- {
- path: 'gridCellAPI',
- component: GridCellAPISampleComponent
- },
- {
- path: 'gridRemotePaging',
- component: GridRemotePagingSampleComponent
- },
- {
- path: 'gridColumnResizing',
- component: GridColumnResizingSampleComponent
- },
- {
- path: 'gridSummary',
- component: GridSummaryComponent
- },
- {
- path: 'gridPerformance',
- component: GridPerformanceSampleComponent
- },
- {
- path: 'gridSelection',
- component: GridSelectionComponent
- },
- {
- path: 'gridRowDrag',
- component: GridRowDraggableComponent
- },
- {
- path: 'gridToolbar',
- component: GridToolbarSampleComponent
- },
- {
- path: 'gridToolbarCustom',
- component: GridToolbarCustomSampleComponent
- },
- {
- path: 'gridRemoteVirtualization',
- component: GridVirtualizationSampleComponent
- },
- {
- path: 'gridExport',
- component: GridExportComponent
- },
- {
- path: 'buttonGroup',
- component: ButtonGroupSampleComponent
- },
- {
- path: 'gridColumnGroups',
- component: GridColumnGroupsSampleComponent
- },
- {
- path: 'gridMRL',
- component: GridMRLSampleComponent
- },
- {
- path: 'gridMRLConfig',
- component: GridMRLConfigSampleComponent
- },
- {
- path: 'gridMRLCustomNav',
- component: GridMRLCustomNavigationSampleComponent
- },
- {
- path: 'gridGroupBy',
- component: GridGroupBySampleComponent
- },
- {
- path: 'gridMasterDetail',
- component: GridMasterDetailSampleComponent
- },
- {
- path: 'gridLocalization',
- component: GridLocalizationSampleComponent
- },
- {
- path: 'gridRowEdit',
- component: GridRowEditSampleComponent
- },
- {
- path: 'gridRowReorder',
- component: GridRowReorderComponent
- },
- {
- path: 'gridValidation',
- component: GridValidationSampleComponent
- },
- {
- path: 'gridScrollVirtualization',
- component: GridVirtualizationScrollSampleComponent
- },
- {
- path: 'gridFormatting',
- component: GridFormattingComponent
- },
- {
- path: 'gridFinJS',
- component: MainComponent
- }, {
- path: 'tree',
- component: TreeSampleComponent
- },
- {
- path: 'gridUpdates',
- component: GridUpdatesComponent
- },
- {
- path: 'treeGrid',
- component: TreeGridSampleComponent
- },
- {
- path: 'treeGridFlatData',
- component: TreeGridFlatDataSampleComponent
- },
- {
- path: 'treeGridGroupBy',
- component: TreeGridGroupBySampleComponent
- },
- {
- path: 'treeGridLoadOnDemand',
- component: TreeGridLoadOnDemandSampleComponent
- },
- {
- path: 'tooltip',
- component: TooltipSampleComponent
- }, {
- path: 'hierarchicalGrid',
- component: HierarchicalGridSampleComponent
- }, {
- path: 'hierarchicalGridRemote',
- component: HierarchicalGridRemoteSampleComponent
- }, {
- path: 'hierarchicalGridRemoteVirtualization',
- component: HierarchicalGridRemoteVirtualizationComponent
- }, {
- path: 'hierarchicalGridUpdating',
- component: HierarchicalGridUpdatingSampleComponent
- },
- {
- path: 'gridPercentage',
- component: GridColumnPercentageWidthsSampleComponent
- },
- {
- path: 'gridAutoSize',
- component: GridAutoSizeSampleComponent
- },
- {
- path: 'gridFlex',
- component: GridFlexSampleComponent
- },
- {
- path: 'gridSearch',
- component: GridSearchComponent
- },
- {
- path: 'gridFiltering',
- component: GridFilteringComponent
- },
- {
- path: 'gridExternalFiltering',
- component: GridExternalFilteringComponent
- },
- {
- path: 'gridState',
- component: GridSaveStateComponent
- },
- {
- path: 'gridAbout',
- component: AboutComponent
- },
- {
- path: 'dateRange',
- component: DateRangeSampleComponent
- },
- {
- path: 'grid-nested-props',
- component: GridNestedPropsSampleComponent
- },
- {
- path: 'gridEvents',
- component: GridEventsComponent
- },
- {
- path: 'pagination',
- component: PaginationSampleComponent
- },
- {
- path: 'pivot',
- component: PivotGridSampleComponent
- },
- {
- path: 'pivot-hierarchy',
- component: PivotGridHierarchySampleComponent
- },
- {
- path: 'pivot-state',
- component: PivotGridStateSampleComponent
- },
- {
- path: 'pivot-noop',
- component: PivotGridNoopSampleComponent
- },
- {
- path: 'query-builder',
- component: QueryBuilderComponent
- },
- {
- path: 'stepper',
- component: StepperSampleComponent
- }
-];
-
-export const routing = RouterModule.forRoot(appRoutes, {});
diff --git a/src/app/select/select.sample.ts b/src/app/select/select.sample.ts
index da321f8acc1..f0aebb4fa69 100644
--- a/src/app/select/select.sample.ts
+++ b/src/app/select/select.sample.ts
@@ -1,18 +1,28 @@
import { Component, OnInit, ViewChildren, QueryList, ViewChild } from '@angular/core';
-import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
-import {
- ISelectionEventArgs, CancelableEventArgs,
- HorizontalAlignment, VerticalAlignment, scaleInTop, scaleOutBottom, ConnectedPositioningStrategy,
- AbsoluteScrollStrategy,
- IgxSelectComponent,
- IButtonGroupEventArgs
-} from 'igniteui-angular';
+import { UntypedFormBuilder, UntypedFormGroup, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { NgFor } from '@angular/common';
+
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxHintDirective } from '../../../projects/igniteui-angular/src/lib/directives/hint/hint.directive';
+import { IgxSuffixDirective } from '../../../projects/igniteui-angular/src/lib/directives/suffix/suffix.directive';
+import { IButtonGroupEventArgs, IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxPrefixDirective } from '../../../projects/igniteui-angular/src/lib/directives/prefix/prefix.directive';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxSelectComponent, IgxSelectFooterDirective, IgxSelectGroupComponent, IgxSelectHeaderDirective, IgxSelectItemComponent } from '../../../projects/igniteui-angular/src/lib/select/public_api';
+import { ISelectionEventArgs } from '../../../projects/igniteui-angular/src/lib/drop-down/public_api';
+import { CancelableEventArgs } from '../../../projects/igniteui-angular/src/lib/core/utils';
+import { AbsoluteScrollStrategy, ConnectedPositioningStrategy, HorizontalAlignment, VerticalAlignment } from '../../../projects/igniteui-angular/src/lib/services/public_api';
+import { scaleInTop, scaleOutBottom } from '../../../projects/igniteui-angular/src/lib/animations/scale';
@Component({
// eslint-disable-next-line @angular-eslint/component-selector
selector: 'app-select-sample',
styleUrls: ['./select.sample.scss'],
- templateUrl: './select.sample.html'
+ templateUrl: './select.sample.html',
+ standalone: true,
+ imports: [IgxButtonDirective, IgxSelectComponent, FormsModule, IgxLabelDirective, IgxPrefixDirective, IgxIconComponent, IgxSelectItemComponent, NgFor, IgxSelectHeaderDirective, IgxSelectFooterDirective, IgxButtonGroupComponent, IgxSuffixDirective, IgxHintDirective, IgxSelectGroupComponent, ReactiveFormsModule, IgxSwitchComponent]
})
export class SelectSampleComponent implements OnInit {
@ViewChild('selectReactive', { read: IgxSelectComponent, static: true })
diff --git a/src/app/shared/local.service.ts b/src/app/shared/local.service.ts
index 033e23cacbd..d9e27effd89 100644
--- a/src/app/shared/local.service.ts
+++ b/src/app/shared/local.service.ts
@@ -24,7 +24,7 @@ export class LocalService {
});
}
- public getFinancialData(count: number = 10) {
+ public getFinancialData(count = 10) {
this._records.next(FinancialData.generateData(count));
}
diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts
deleted file mode 100644
index 8ed2a6c8150..00000000000
--- a/src/app/shared/shared.module.ts
+++ /dev/null
@@ -1,105 +0,0 @@
-import { NgModule } from '@angular/core';
-import {
- IgxAccordionModule,
- IgxActionStripModule,
- IgxAutocompleteModule,
- IgxAvatarModule,
- IgxBadgeModule,
- IgxBottomNavModule,
- IgxButtonGroupModule,
- IgxButtonModule,
- IgxCalendarModule,
- IgxBannerModule,
- IgxCardModule,
- IgxCarouselModule,
- IgxCheckboxModule,
- IgxChipsModule,
- IgxComboModule,
- IgxDatePickerModule,
- IgxDialogModule,
- IgxDropDownModule,
- IgxExpansionPanelModule,
- IgxFilterModule,
- IgxFocusModule,
- IgxFocusTrapModule,
- IgxForOfModule,
- IgxInputGroupModule,
- IgxLayoutModule,
- IgxListModule,
- IgxMaskModule,
- IgxNavbarModule,
- IgxNavigationDrawerModule,
- IgxProgressBarModule,
- IgxRadioModule,
- IgxRippleModule,
- IgxSliderModule,
- IgxSnackbarModule,
- IgxStepperModule,
- IgxSwitchModule,
- IgxSplitterModule,
- IgxTabsModule,
- IgxTimePickerModule,
- IgxToastModule,
- IgxToggleModule,
- IgxTooltipModule,
- IgxSelectModule,
- IgxDateRangePickerModule,
- IgxTreeModule,
- IgxSimpleComboModule
-} from 'igniteui-angular';
-
-
-const igniteModules = [
- IgxAccordionModule,
- IgxActionStripModule,
- IgxAutocompleteModule,
- IgxAvatarModule,
- IgxBadgeModule,
- IgxBottomNavModule,
- IgxButtonGroupModule,
- IgxButtonModule,
- IgxCalendarModule,
- IgxBannerModule,
- IgxCardModule,
- IgxCarouselModule,
- IgxCheckboxModule,
- IgxChipsModule,
- IgxComboModule,
- IgxSimpleComboModule,
- IgxDatePickerModule,
- IgxDialogModule,
- IgxDropDownModule,
- IgxExpansionPanelModule,
- IgxFilterModule,
- IgxFocusModule,
- IgxFocusTrapModule,
- IgxForOfModule,
- IgxInputGroupModule,
- IgxLayoutModule,
- IgxListModule,
- IgxMaskModule,
- IgxNavbarModule,
- IgxNavigationDrawerModule,
- IgxProgressBarModule,
- IgxRadioModule,
- IgxRippleModule,
- IgxSliderModule,
- IgxSnackbarModule,
- IgxStepperModule,
- IgxSwitchModule,
- IgxSplitterModule,
- IgxTreeModule,
- IgxTabsModule,
- IgxTimePickerModule,
- IgxToastModule,
- IgxToggleModule,
- IgxTooltipModule,
- IgxSelectModule,
- IgxDateRangePickerModule
-];
-
-@NgModule({
- imports: igniteModules,
- exports: igniteModules
-})
-export class SharedModule {}
diff --git a/src/app/slider/range-slider/range-slider.component.ts b/src/app/slider/range-slider/range-slider.component.ts
index 7925c6f18fa..fee6982ad7f 100644
--- a/src/app/slider/range-slider/range-slider.component.ts
+++ b/src/app/slider/range-slider/range-slider.component.ts
@@ -1,10 +1,18 @@
import { Component } from '@angular/core';
import { IgxSliderType, IRangeSliderValue } from 'igniteui-angular';
+import { IgxInputDirective } from '../../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxLabelDirective } from '../../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputGroupComponent } from '../../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { FormsModule } from '@angular/forms';
+import { IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective } from '../../../../projects/igniteui-angular/src/lib/slider/slider.common';
+import { IgxSliderComponent } from '../../../../projects/igniteui-angular/src/lib/slider/slider.component';
@Component({
- selector: 'app-range-slider',
- templateUrl: './range-slider.component.html',
- styleUrls: ['./range-slider.component.scss']
+ selector: 'app-range-slider',
+ templateUrl: './range-slider.component.html',
+ styleUrls: ['./range-slider.component.scss'],
+ standalone: true,
+ imports: [IgxSliderComponent, IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, FormsModule, IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective]
})
export class RangeSliderComponent {
public sliderType: IgxSliderType = IgxSliderType.RANGE;
diff --git a/src/app/slider/slider.sample.ts b/src/app/slider/slider.sample.ts
index 777a75f57c0..be24f16569a 100644
--- a/src/app/slider/slider.sample.ts
+++ b/src/app/slider/slider.sample.ts
@@ -1,5 +1,9 @@
import { Component } from '@angular/core';
import { IgxSliderType, ISliderValueChangeEventArgs, IRangeSliderValue, TickLabelsOrientation, TicksOrientation } from 'igniteui-angular';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxTickLabelTemplateDirective } from '../../../projects/igniteui-angular/src/lib/slider/slider.common';
+import { FormsModule } from '@angular/forms';
+import { IgxSliderComponent } from '../../../projects/igniteui-angular/src/lib/slider/slider.component';
class Task {
public title: string;
@@ -14,7 +18,9 @@ class Task {
@Component({
selector: 'app-slider-sample',
styleUrls: ['slider.sample.scss'],
- templateUrl: 'slider.sample.html'
+ templateUrl: 'slider.sample.html',
+ standalone: true,
+ imports: [IgxSliderComponent, FormsModule, IgxTickLabelTemplateDirective, IgxButtonDirective]
})
export class SliderSampleComponent {
public labelOrientaion: TickLabelsOrientation = TickLabelsOrientation.Horizontal;
@@ -59,7 +65,7 @@ export class SliderSampleComponent {
}
public changeLabels() {
- this.labels = new Array('08:00', '12:00', '16:00', '20:00', '00:00');
+ this.labels = ['08:00', '12:00', '16:00', '20:00', '00:00'];
}
public changeLabelOrientation() {
diff --git a/src/app/snackbar/snackbar.sample.ts b/src/app/snackbar/snackbar.sample.ts
index 7c09796574b..f0de28cd33f 100644
--- a/src/app/snackbar/snackbar.sample.ts
+++ b/src/app/snackbar/snackbar.sample.ts
@@ -2,11 +2,16 @@ import { useAnimation } from '@angular/animations';
import { Component, OnInit, ViewChild } from '@angular/core';
// eslint-disable-next-line max-len
import { HorizontalAlignment, IgxSnackbarComponent, PositionSettings, slideInLeft, slideInRight, VerticalAlignment } from 'igniteui-angular';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxOverlayOutletDirective } from '../../../projects/igniteui-angular/src/lib/directives/toggle/toggle.directive';
+import { IgxSnackbarComponent as IgxSnackbarComponent_1 } from '../../../projects/igniteui-angular/src/lib/snackbar/snackbar.component';
@Component({
selector: 'app-snackbar-sample',
styleUrls: ['snackbar.sample.css'],
- templateUrl: 'snackbar.sample.html'
+ templateUrl: 'snackbar.sample.html',
+ standalone: true,
+ imports: [IgxSnackbarComponent_1, IgxOverlayOutletDirective, IgxButtonDirective]
})
export class SnackbarSampleComponent implements OnInit {
@ViewChild('snackbar')
diff --git a/src/app/splitter/splitter.sample.ts b/src/app/splitter/splitter.sample.ts
index 8f09e8e0253..fbc8a891fd5 100644
--- a/src/app/splitter/splitter.sample.ts
+++ b/src/app/splitter/splitter.sample.ts
@@ -1,12 +1,19 @@
import { Component, ViewChild, AfterViewInit } from '@angular/core';
import { RemoteService } from '../shared/remote.service';
import { IgxGridComponent, SplitterType } from 'igniteui-angular';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent as IgxGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxSplitterPaneComponent } from '../../../projects/igniteui-angular/src/lib/splitter/splitter-pane/splitter-pane.component';
+import { IgxSplitterComponent } from '../../../projects/igniteui-angular/src/lib/splitter/splitter.component';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
@Component({
selector: 'app-splitter-sample',
styleUrls: ['splitter.sample.scss'],
- templateUrl: 'splitter.sample.html'
+ templateUrl: 'splitter.sample.html',
+ standalone: true,
+ imports: [IgxSwitchComponent, IgxSplitterComponent, IgxSplitterPaneComponent, IgxGridComponent_1, IgxColumnComponent]
})
export class SplitterSampleComponent implements AfterViewInit {
@ViewChild('grid1', { static: true })
diff --git a/src/app/stepper/stepper.sample.ts b/src/app/stepper/stepper.sample.ts
index 64468f176e2..ab992ecbfa3 100644
--- a/src/app/stepper/stepper.sample.ts
+++ b/src/app/stepper/stepper.sample.ts
@@ -1,14 +1,35 @@
import { ChangeDetectorRef, Component, ViewChild } from '@angular/core';
-import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
+import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HorizontalAnimationType } from 'projects/igniteui-angular/src/lib/carousel/carousel-base';
import {
IgxStepperTitlePosition, IgxStepperOrientation, IgxStepType, VerticalAnimationType
} from 'projects/igniteui-angular/src/lib/stepper/stepper.common';
import { IgxStepperComponent } from 'projects/igniteui-angular/src/lib/stepper/stepper.component';
+import { IgxHintDirective } from '../../../projects/igniteui-angular/src/lib/directives/hint/hint.directive';
+import { IgxPrefixDirective } from '../../../projects/igniteui-angular/src/lib/directives/prefix/prefix.directive';
+import { IgxSelectItemComponent } from '../../../projects/igniteui-angular/src/lib/select/select-item.component';
+import { IgxSelectComponent } from '../../../projects/igniteui-angular/src/lib/select/select.component';
+import { IgxTimePickerComponent } from '../../../projects/igniteui-angular/src/lib/time-picker/time-picker.component';
+import { IgxBadgeComponent } from '../../../projects/igniteui-angular/src/lib/badge/badge.component';
+import { IgxAvatarComponent } from '../../../projects/igniteui-angular/src/lib/avatar/avatar.component';
+import { NgIf } from '@angular/common';
+import { IgxStepComponent } from '../../../projects/igniteui-angular/src/lib/stepper/step/step.component';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxStepActiveIndicatorDirective, IgxStepIndicatorDirective, IgxStepTitleDirective, IgxStepSubTitleDirective, IgxStepContentDirective } from '../../../projects/igniteui-angular/src/lib/stepper/stepper.directive';
+import { IgxStepperComponent as IgxStepperComponent_1 } from '../../../projects/igniteui-angular/src/lib/stepper/stepper.component';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxSuffixDirective } from '../../../projects/igniteui-angular/src/lib/directives/suffix/suffix.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
@Component({
templateUrl: 'stepper.sample.html',
- styleUrls: ['stepper.sample.scss']
+ styleUrls: ['stepper.sample.scss'],
+ standalone: true,
+ imports: [IgxButtonDirective, IgxButtonGroupComponent, IgxInputGroupComponent, IgxLabelDirective, FormsModule, IgxInputDirective, IgxSuffixDirective, IgxSwitchComponent, IgxStepperComponent_1, IgxStepActiveIndicatorDirective, IgxIconComponent, IgxStepComponent, IgxStepIndicatorDirective, IgxStepTitleDirective, IgxStepSubTitleDirective, IgxStepContentDirective, NgIf, IgxAvatarComponent, IgxBadgeComponent, IgxTimePickerComponent, ReactiveFormsModule, IgxSelectComponent, IgxSelectItemComponent, IgxPrefixDirective, IgxHintDirective]
})
export class IgxStepperSampleComponent {
@ViewChild('stepper', { static: true }) public stepper: IgxStepperComponent;
diff --git a/src/app/styleguide/animations/animations.sample.ts b/src/app/styleguide/animations/animations.sample.ts
index f7c63f3ccf1..6db0c7c5dcf 100644
--- a/src/app/styleguide/animations/animations.sample.ts
+++ b/src/app/styleguide/animations/animations.sample.ts
@@ -23,11 +23,18 @@ import {
swingOutLefttFwd, swingOutRightBck, swingOutRightFwd, swingOutTopBck, swingOutTopFwd
} from 'igniteui-angular';
import { AbsolutePosition } from 'projects/igniteui-angular/src/lib/services/overlay/utilities';
+import { IgxDialogComponent as IgxDialogComponent_1 } from '../../../../projects/igniteui-angular/src/lib/dialog/dialog.component';
+import { IgxRippleDirective } from '../../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxListItemComponent } from '../../../../projects/igniteui-angular/src/lib/list/list-item.component';
+import { NgFor } from '@angular/common';
+import { IgxListComponent } from '../../../../projects/igniteui-angular/src/lib/list/list.component';
@Component({
selector: 'app-animations-sample',
styleUrls: ['animations.sample.scss'],
- templateUrl: 'animations.sample.html'
+ templateUrl: 'animations.sample.html',
+ standalone: true,
+ imports: [IgxListComponent, NgFor, IgxListItemComponent, IgxRippleDirective, IgxDialogComponent_1]
})
export class AnimationsSampleComponent {
@ViewChild('dialog', { static: true, read: IgxDialogComponent })
diff --git a/src/app/styleguide/colors/color.sample.ts b/src/app/styleguide/colors/color.sample.ts
index b2614ba8ede..635d9a1eb64 100644
--- a/src/app/styleguide/colors/color.sample.ts
+++ b/src/app/styleguide/colors/color.sample.ts
@@ -1,9 +1,12 @@
import { Component } from '@angular/core';
+import { NgFor, NgIf } from '@angular/common';
@Component({
selector: 'app-colors-sample',
styleUrls: ['color.sample.scss'],
- templateUrl: 'color.sample.html'
+ templateUrl: 'color.sample.html',
+ standalone: true,
+ imports: [NgFor, NgIf]
})
export class ColorsSampleComponent {
public colors = [
diff --git a/src/app/styleguide/shadows/shadows.sample.ts b/src/app/styleguide/shadows/shadows.sample.ts
index 46fccd1bdb1..8d7dd83b7fe 100644
--- a/src/app/styleguide/shadows/shadows.sample.ts
+++ b/src/app/styleguide/shadows/shadows.sample.ts
@@ -3,6 +3,7 @@ import { Component } from '@angular/core';
@Component({
selector: 'app-shadows-sample',
styleUrls: ['shadows.sample.css'],
- templateUrl: 'shadows.sample.html'
+ templateUrl: 'shadows.sample.html',
+ standalone: true
})
export class ShadowsSampleComponent {}
diff --git a/src/app/styleguide/typography/typography.sample.ts b/src/app/styleguide/typography/typography.sample.ts
index 437ac0ee5fb..9ec64ed0d22 100644
--- a/src/app/styleguide/typography/typography.sample.ts
+++ b/src/app/styleguide/typography/typography.sample.ts
@@ -3,6 +3,7 @@ import { Component } from '@angular/core';
@Component({
selector: 'app-typography-sample',
styleUrls: ['typography.sample.css'],
- templateUrl: 'typography.sample.html'
+ templateUrl: 'typography.sample.html',
+ standalone: true
})
export class TypographySampleComponent {}
diff --git a/src/app/tabs-routing/tabs-routing-views.sample.ts b/src/app/tabs-routing/tabs-routing-views.sample.ts
index c652d970eb0..d4b29c3a869 100644
--- a/src/app/tabs-routing/tabs-routing-views.sample.ts
+++ b/src/app/tabs-routing/tabs-routing-views.sample.ts
@@ -1,4 +1,10 @@
import { Component } from '@angular/core';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxAvatarComponent } from '../../../projects/igniteui-angular/src/lib/avatar/avatar.component';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { NgFor } from '@angular/common';
+import { IgxListItemComponent } from '../../../projects/igniteui-angular/src/lib/list/list-item.component';
+import { IgxListComponent, IgxListThumbnailDirective, IgxListLineTitleDirective, IgxListLineSubTitleDirective, IgxListActionDirective } from '../../../projects/igniteui-angular/src/lib/list/list.component';
@Component({
template: `
@@ -11,7 +17,9 @@ import { Component } from '@angular/core';
phone
- `
+ `,
+ standalone: true,
+ imports: [IgxListComponent, IgxListItemComponent, NgFor, IgxRippleDirective, IgxAvatarComponent, IgxListThumbnailDirective, IgxListLineTitleDirective, IgxListLineSubTitleDirective, IgxIconComponent, IgxListActionDirective]
})
export class TabsRoutingView1Component {
public contacts = [{
@@ -55,7 +63,8 @@ export class TabsRoutingView1Component {
a magna euismod volutpat id in mi. Etiam a nunc ut tellus dictum porta. Donec in ligula a
arcu sollicitudin finibus. Vivamus id lorem pulvinar, accumsan justo vitae, vehicula diam.
Mauris vel quam at velit venenatis vulputate in quis nisl.
- `
+ `,
+ standalone: true
})
export class TabsRoutingView2Component {
}
@@ -67,7 +76,8 @@ export class TabsRoutingView2Component {
consectetur accumsan suscipit. Praesent rutrum tellus blandit bibendum cursus. Vestibulum
urna arcu, bibendum nec molestie ac, varius congue massa. Mauris porttitor viverra lacus.
Donec efficitur purus id urna dapibus, vitae pharetra orci pellentesque.
- `
+ `,
+ standalone: true
})
export class TabsRoutingView3Component {
}
diff --git a/src/app/tabs-routing/tabs-routing.sample.ts b/src/app/tabs-routing/tabs-routing.sample.ts
index 4457e4f228a..f0cf15f6936 100644
--- a/src/app/tabs-routing/tabs-routing.sample.ts
+++ b/src/app/tabs-routing/tabs-routing.sample.ts
@@ -1,11 +1,14 @@
import { Component } from '@angular/core';
-import { Router } from '@angular/router';
-import { ITabsSelectedItemChangeEventArgs } from 'igniteui-angular';
+import { Router, RouterLinkActive, RouterLink, RouterOutlet } from '@angular/router';
+import { IgxBottomNavHeaderIconDirective, IgxBottomNavHeaderLabelDirective, IgxButtonGroupComponent, IgxIconComponent, IgxTabHeaderComponent, IgxTabItemComponent, IgxTabsComponent, ITabsSelectedItemChangeEventArgs } from 'igniteui-angular';
+
@Component({
selector: 'app-tabs-routing-sample',
styleUrls: ['tabs-routing.sample.scss'],
- templateUrl: 'tabs-routing.sample.html'
+ templateUrl: 'tabs-routing.sample.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxTabsComponent, IgxTabItemComponent, RouterLinkActive, IgxTabHeaderComponent, RouterLink, IgxIconComponent, IgxBottomNavHeaderIconDirective, IgxBottomNavHeaderLabelDirective, RouterOutlet]
})
export class TabsRoutingSampleComponent {
public contacts: any[] = [{
diff --git a/src/app/tabs/tabs.sample.ts b/src/app/tabs/tabs.sample.ts
index e04dc378a8f..21e6babf948 100644
--- a/src/app/tabs/tabs.sample.ts
+++ b/src/app/tabs/tabs.sample.ts
@@ -1,11 +1,29 @@
import {Component, OnInit, ViewChild, ViewEncapsulation} from '@angular/core';
import { IgxTabsComponent, ITabsSelectedIndexChangingEventArgs, ITabsSelectedItemChangeEventArgs } from 'igniteui-angular';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxSuffixDirective } from '../../../projects/igniteui-angular/src/lib/directives/suffix/suffix.directive';
+import { IgxPrefixDirective } from '../../../projects/igniteui-angular/src/lib/directives/prefix/prefix.directive';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { IgxAvatarComponent } from '../../../projects/igniteui-angular/src/lib/avatar/avatar.component';
+import { IgxListItemComponent } from '../../../projects/igniteui-angular/src/lib/list/list-item.component';
+import { NgFor } from '@angular/common';
+import { IgxListComponent, IgxListThumbnailDirective, IgxListLineTitleDirective, IgxListLineSubTitleDirective, IgxListActionDirective } from '../../../projects/igniteui-angular/src/lib/list/list.component';
+import { IgxTabContentComponent } from '../../../projects/igniteui-angular/src/lib/tabs/tabs/tab-content.component';
+import { IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective } from '../../../projects/igniteui-angular/src/lib/tabs/tabs/tabs.directives';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxTabHeaderComponent } from '../../../projects/igniteui-angular/src/lib/tabs/tabs/tab-header.component';
+import { IgxTabItemComponent } from '../../../projects/igniteui-angular/src/lib/tabs/tabs/tab-item.component';
+import { IgxTabsComponent as IgxTabsComponent_1 } from '../../../projects/igniteui-angular/src/lib/tabs/tabs/tabs.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
@Component({
selector: 'app-tabs-sample',
styleUrls: ['tabs.sample.scss'],
templateUrl: 'tabs.sample.html',
- encapsulation: ViewEncapsulation.None
+ encapsulation: ViewEncapsulation.None,
+ standalone: true,
+ imports: [IgxButtonDirective, IgxTabsComponent_1, IgxTabItemComponent, IgxTabHeaderComponent, IgxRippleDirective, IgxIconComponent, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, IgxTabContentComponent, IgxListComponent, NgFor, IgxListItemComponent, IgxAvatarComponent, IgxListThumbnailDirective, IgxListLineTitleDirective, IgxListLineSubTitleDirective, IgxListActionDirective, IgxButtonGroupComponent, IgxPrefixDirective, IgxSuffixDirective, IgxGridComponent]
})
export class TabsSampleComponent implements OnInit {
diff --git a/src/app/time-picker/time-picker.sample.html b/src/app/time-picker/time-picker.sample.html
index 1938dbb8e64..4c19dccbfb3 100644
--- a/src/app/time-picker/time-picker.sample.html
+++ b/src/app/time-picker/time-picker.sample.html
@@ -50,7 +50,7 @@ Templated Action Buttons Time Picker
Time picker with custom action button
-
+
Current Time
diff --git a/src/app/time-picker/time-picker.sample.ts b/src/app/time-picker/time-picker.sample.ts
index 8f429c3fbf6..59ffd893246 100644
--- a/src/app/time-picker/time-picker.sample.ts
+++ b/src/app/time-picker/time-picker.sample.ts
@@ -1,14 +1,28 @@
import { Component, ViewChild } from '@angular/core';
-import { IgxTimePickerComponent,
+import { NgIf } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import {
+ IgxTimePickerComponent,
IgxInputDirective,
AutoPositionStrategy,
OverlaySettings,
- DatePart } from 'igniteui-angular';
+ DatePart,
+ IgxHintDirective,
+ IgxButtonDirective,
+ IgxPickerActionsDirective,
+ IgxPickerToggleComponent,
+ IgxPrefixDirective,
+ IgxIconComponent,
+ IgxPickerClearComponent,
+ IgxSuffixDirective
+} from 'igniteui-angular';
@Component({
selector: 'app-time-picker-sample',
styleUrls: ['time-picker.sample.scss'],
- templateUrl: 'time-picker.sample.html'
+ templateUrl: 'time-picker.sample.html',
+ standalone: true,
+ imports: [IgxTimePickerComponent, FormsModule, NgIf, IgxHintDirective, IgxButtonDirective, IgxPickerActionsDirective, IgxPickerToggleComponent, IgxPrefixDirective, IgxIconComponent, IgxPickerClearComponent, IgxSuffixDirective]
})
export class TimePickerSampleComponent {
@ViewChild('tp', { read: IgxTimePickerComponent, static: true })
diff --git a/src/app/toast/toast.sample.ts b/src/app/toast/toast.sample.ts
index 036198b24ee..3156c73e3be 100644
--- a/src/app/toast/toast.sample.ts
+++ b/src/app/toast/toast.sample.ts
@@ -1,10 +1,16 @@
import { Component, ViewChild } from '@angular/core';
import { IgxToastComponent, VerticalAlignment } from 'igniteui-angular';
+import { IgxToastComponent as IgxToastComponent_1 } from '../../../projects/igniteui-angular/src/lib/toast/toast.component';
+import { IgxOverlayOutletDirective } from '../../../projects/igniteui-angular/src/lib/directives/toggle/toggle.directive';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
@Component({
selector: 'app-toast-sample',
styleUrls: ['toast.sample.scss'],
templateUrl: 'toast.sample.html',
+ standalone: true,
+ imports: [IgxButtonDirective, IgxRippleDirective, IgxOverlayOutletDirective, IgxToastComponent_1]
})
export class ToastSampleComponent {
@ViewChild('toast')
diff --git a/src/app/tooltip/tooltip.sample.ts b/src/app/tooltip/tooltip.sample.ts
index 295b9084d16..9c5635bf697 100644
--- a/src/app/tooltip/tooltip.sample.ts
+++ b/src/app/tooltip/tooltip.sample.ts
@@ -2,11 +2,26 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import {
IgxTooltipTargetDirective, OverlaySettings
} from 'igniteui-angular';
+import { IgxCellTemplateDirective } from '../../../projects/igniteui-angular/src/lib/grids/columns/templates.directive';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/grid/grid.component';
+import { IgxRippleDirective } from '../../../projects/igniteui-angular/src/lib/directives/ripple/ripple.directive';
+import { IgxCardComponent, IgxCardContentDirective, IgxCardActionsComponent } from '../../../projects/igniteui-angular/src/lib/card/card.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxSliderComponent } from '../../../projects/igniteui-angular/src/lib/slider/slider.component';
+import { FormsModule } from '@angular/forms';
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxIconComponent } from '../../../projects/igniteui-angular/src/lib/icon/icon.component';
+import { IgxTooltipDirective } from '../../../projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive';
+import { IgxTooltipTargetDirective as IgxTooltipTargetDirective_1 } from '../../../projects/igniteui-angular/src/lib/directives/tooltip/tooltip-target.directive';
+import { IgxAvatarComponent } from '../../../projects/igniteui-angular/src/lib/avatar/avatar.component';
@Component({
selector: 'app-tooltip-sample',
styleUrls: ['tooltip.sample.css'],
- templateUrl: 'tooltip.sample.html'
+ templateUrl: 'tooltip.sample.html',
+ standalone: true,
+ imports: [IgxAvatarComponent, IgxTooltipTargetDirective_1, IgxTooltipDirective, IgxIconComponent, IgxSwitchComponent, FormsModule, IgxSliderComponent, IgxButtonDirective, IgxCardComponent, IgxCardContentDirective, IgxCardActionsComponent, IgxRippleDirective, IgxGridComponent, IgxColumnComponent, IgxCellTemplateDirective]
})
export class TooltipSampleComponent implements OnInit {
diff --git a/src/app/tree-grid-add-row/tree-grid-add-row.sample.ts b/src/app/tree-grid-add-row/tree-grid-add-row.sample.ts
index 79d693e8c94..6964a31b874 100644
--- a/src/app/tree-grid-add-row/tree-grid-add-row.sample.ts
+++ b/src/app/tree-grid-add-row/tree-grid-add-row.sample.ts
@@ -1,10 +1,22 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { ColumnPinningPosition, IgxTreeGridComponent, RowPinningPosition } from 'igniteui-angular';
+import { IgxLabelDirective } from '../../../projects/igniteui-angular/src/lib/directives/label/label.directive';
+import { IgxInputDirective } from '../../../projects/igniteui-angular/src/lib/directives/input/input.directive';
+import { IgxInputGroupComponent } from '../../../projects/igniteui-angular/src/lib/input-group/input-group.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxGridEditingActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-editing-actions.component';
+import { IgxGridPinningActionsComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/grid-actions/grid-pinning-actions.component';
+import { IgxActionStripComponent } from '../../../projects/igniteui-angular/src/lib/action-strip/action-strip.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { NgFor } from '@angular/common';
+import { IgxTreeGridComponent as IgxTreeGridComponent_1 } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
@Component({
selector: 'app-tree-grid-add-row',
styleUrls: ['tree-grid-add-row.sample.scss'],
- templateUrl: `tree-grid-add-row.sample.html`
+ templateUrl: `tree-grid-add-row.sample.html`,
+ standalone: true,
+ imports: [IgxTreeGridComponent_1, NgFor, IgxColumnComponent, IgxActionStripComponent, IgxGridPinningActionsComponent, IgxGridEditingActionsComponent, IgxButtonDirective, IgxInputGroupComponent, IgxInputDirective, IgxLabelDirective]
})
export class TreeGridAddRowSampleComponent implements OnInit {
@ViewChild(IgxTreeGridComponent)
diff --git a/src/app/tree-grid-flat-data/tree-grid-flat-data.sample.ts b/src/app/tree-grid-flat-data/tree-grid-flat-data.sample.ts
index e9737f6bb90..5554cfea061 100644
--- a/src/app/tree-grid-flat-data/tree-grid-flat-data.sample.ts
+++ b/src/app/tree-grid-flat-data/tree-grid-flat-data.sample.ts
@@ -1,9 +1,23 @@
import { Component, ViewChild, OnInit } from '@angular/core';
-import { IgxTreeGridComponent, IgxExcelExporterService, IgxCsvExporterService,
- IgxExcelExporterOptions, IgxCsvExporterOptions, CsvFileTypes, IgxSummaryOperand, IgxSummaryResult,
- GridSelectionMode,
- GridSummaryCalculationMode,
- DisplayDensity} from 'igniteui-angular';
+import { NgFor } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IgxSwitchComponent } from '../../../projects/igniteui-angular/src/lib/switch/switch.component';
+import { IgxGridToolbarExporterComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-exporter.component';
+import { IgxGridToolbarAdvancedFilteringComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component';
+import { IgxGridToolbarHidingComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-hiding.component';
+import { IgxGridToolbarPinningComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-pinning.component';
+import { IgxGridToolbarActionsComponent, IgxExcelTextDirective, IgxCSVTextDirective } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/common';
+import { GridSearchBoxComponent } from '../grid-search-box/grid-search-box.component';
+import { IgxGridToolbarComponent } from '../../../projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component';
+import { IgxColumnComponent } from '../../../projects/igniteui-angular/src/lib/grids/columns/column.component';
+import { IgxTreeGridComponent } from '../../../projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component';
+import { IgxButtonDirective } from '../../../projects/igniteui-angular/src/lib/directives/button/button.directive';
+import { IgxButtonGroupComponent } from '../../../projects/igniteui-angular/src/lib/buttonGroup/buttonGroup.component';
+import { IgxSummaryOperand, IgxSummaryResult } from '../../../projects/igniteui-angular/src/lib/grids/public_api';
+import { GridSelectionMode, GridSummaryCalculationMode } from '../../../projects/igniteui-angular/src/lib/grids/common/enums';
+import { CsvFileTypes, IgxCsvExporterOptions, IgxCsvExporterService, IgxExcelExporterOptions, IgxExcelExporterService } from '../../../projects/igniteui-angular/src/lib/services/public_api';
+import { DisplayDensity } from '../../../projects/igniteui-angular/src/lib/core/density';
export class MySummaryOperand extends IgxSummaryOperand {
public override operate(data: any[] = []): IgxSummaryResult[] {
@@ -22,7 +36,9 @@ export class MySummaryOperand extends IgxSummaryOperand {
@Component({
selector: 'app-tree-grid-flat-data-sample',
styleUrls: ['tree-grid-flat-data.sample.scss'],
- templateUrl: 'tree-grid-flat-data.sample.html'
+ templateUrl: 'tree-grid-flat-data.sample.html',
+ standalone: true,
+ imports: [IgxButtonGroupComponent, IgxButtonDirective, IgxTreeGridComponent, NgFor, IgxColumnComponent, IgxGridToolbarComponent, GridSearchBoxComponent, IgxGridToolbarActionsComponent, IgxGridToolbarPinningComponent, IgxGridToolbarHidingComponent, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarExporterComponent, IgxExcelTextDirective, IgxCSVTextDirective, IgxSwitchComponent, FormsModule]
})
export class TreeGridFlatDataSampleComponent implements OnInit {
@ViewChild('grid1', { static: true }) public grid1: IgxTreeGridComponent;
diff --git a/src/app/tree-grid-groupby/tree-grid-groupby.sample.html b/src/app/tree-grid-groupby/tree-grid-groupby.sample.html
index 1774c2011f4..74fbd64e061 100644
--- a/src/app/tree-grid-groupby/tree-grid-groupby.sample.html
+++ b/src/app/tree-grid-groupby/tree-grid-groupby.sample.html
@@ -8,7 +8,7 @@