diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c28afcc5..9856f4bff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# [11.1.3](https://github.com/oblique-bit/oblique/compare/11.1.2...11.1.3) (2024-05-24) + +## Bug Fixes + +- **autocomplete:** ensure no error is thrown in `onModelTouched()` ([02e853b1](https://github.com/oblique-bit/oblique/commit/02e853b173a4192fcbb6722d1b1ef1fa6c34e022)) +- **master-layout:** show white logo when `HighContrastMode` is activated ([b9ee4514](https://github.com/oblique-bit/oblique/commit/b9ee451430ec1305181cca1d6f6f934e40c238fd)) +- **material:** adapt stepper error styling ([71c7f43f](https://github.com/oblique-bit/oblique/commit/71c7f43fd891076c1277aef8ee4dc8a6821e6953)) + # [11.1.2](https://github.com/oblique-bit/oblique/compare/11.1.1...11.1.2) (2024-05-17) ## Bug Fixes diff --git a/package-lock.json b/package-lock.json index b2b506ff0..b875cbd95 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "oblique", - "version": "11.1.2", + "version": "11.1.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "oblique", - "version": "11.1.2", + "version": "11.1.3", "hasInstallScript": true, "license": "MIT", "workspaces": [ @@ -21,12 +21,12 @@ "@angular/common": "^17.2.1", "@angular/compiler": "^17.2.1", "@angular/core": "^17.2.1", - "@angular/forms": "^17.3.9", + "@angular/forms": "^17.3.10", "@angular/material": "^17.2.0", - "@angular/material-moment-adapter": "^17.3.9", + "@angular/material-moment-adapter": "^17.3.10", "@angular/platform-browser": "^17.2.1", - "@angular/platform-browser-dynamic": "^17.3.9", - "@angular/router": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.10", + "@angular/router": "^17.3.10", "@ngx-translate/core": "^15.0.0", "@popperjs/core": "^2.11.8", "ajv": "^8.13.0", @@ -40,13 +40,13 @@ }, "devDependencies": { "@angular-builders/jest": "^17.0.3", - "@angular-devkit/build-angular": "^17.3.7", + "@angular-devkit/build-angular": "^17.3.8", "@angular-devkit/core": "^17.2.0", "@angular-eslint/eslint-plugin": "^17.1.1", "@angular-eslint/eslint-plugin-template": "^17.1.1", - "@angular-eslint/template-parser": "^17.4.1", - "@angular/cli": "^17.3.7", - "@angular/compiler-cli": "^17.3.9", + "@angular-eslint/template-parser": "^17.5.1", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.10", "@types/jest": "^29.5.12", "@types/js-cookie": "^3.0.6", "@types/node": "^20.12.12", @@ -57,7 +57,7 @@ "husky": "^9.0.11", "jest": "^29.7.0", "jest-sonar-reporter": "^2.0.0", - "lint-staged": "^15.2.2", + "lint-staged": "^15.2.4", "prettier": "^3.2.5", "stylelint": "^16.5.0", "stylelint-config-prettier-scss": "^1.0.0", @@ -121,11 +121,11 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1703.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.7.tgz", - "integrity": "sha512-SwXbdsZqEE3JtvujCLChAii+FA20d1931VDjDYffrGWdQEViTBAr4NKtDr/kOv8KkgiL3fhGibPnRNUHTeAMtg==", + "version": "0.1703.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.8.tgz", + "integrity": "sha512-lKxwG4/QABXZvJpqeSIn/kAwnY6MM9HdHZUV+o5o3UiTi+vO8rZApG4CCaITH3Bxebm7Nam7Xbk8RuukC5rq6g==", "dependencies": { - "@angular-devkit/core": "17.3.7", + "@angular-devkit/core": "17.3.8", "rxjs": "7.8.1" }, "engines": { @@ -135,15 +135,15 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "17.3.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.7.tgz", - "integrity": "sha512-AsV80kiFMIPIhm3uzJgOHDj4u6JteUkZedPTKAFFFJC7CTat1luW5qx306vfF7wj62aMvUl5g9HFWaeLghTQGA==", + "version": "17.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.8.tgz", + "integrity": "sha512-ixsdXggWaFRP7Jvxd0AMukImnePuGflT9Yy7NJ9/y0cL/k//S/3RnkQv5i411KzN+7D4RIbNkRGGTYeqH24zlg==", "dev": true, "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1703.7", - "@angular-devkit/build-webpack": "0.1703.7", - "@angular-devkit/core": "17.3.7", + "@angular-devkit/architect": "0.1703.8", + "@angular-devkit/build-webpack": "0.1703.8", + "@angular-devkit/core": "17.3.8", "@babel/core": "7.24.0", "@babel/generator": "7.23.6", "@babel/helper-annotate-as-pure": "7.22.5", @@ -154,7 +154,7 @@ "@babel/preset-env": "7.24.0", "@babel/runtime": "7.24.0", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "17.3.7", + "@ngtools/webpack": "17.3.8", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.18", @@ -264,12 +264,12 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1703.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.7.tgz", - "integrity": "sha512-gpt2Ia5I1gmdp3hdbtB7tkZTba5qWmKeVhlCYswa/LvbceKmkjedoeNRAoyr1UKM9GeGqt6Xl1B2eHzCH+ykrg==", + "version": "0.1703.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.8.tgz", + "integrity": "sha512-9u6fl8VVOxcLOEMzrUeaybSvi9hSLSRucHnybneYrabsgreDo32tuy/4G8p6YAHQjpWEj9jvF9Um13ertdni5Q==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1703.7", + "@angular-devkit/architect": "0.1703.8", "rxjs": "7.8.1" }, "engines": { @@ -283,9 +283,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "17.3.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.7.tgz", - "integrity": "sha512-qpZ7BShyqS/Jqld36E7kL02cyb2pjn1Az1p9439SbP8nsvJgYlsyjwYK2Kmcn/Wi+TZGIKxkqxgBBw9vqGgeJw==", + "version": "17.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.8.tgz", + "integrity": "sha512-Q8q0voCGudbdCgJ7lXdnyaxKHbNQBARH68zPQV72WT8NWy+Gw/tys870i6L58NWbBaCJEUcIj/kb6KoakSRu+Q==", "dependencies": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -324,11 +324,11 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "17.3.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.7.tgz", - "integrity": "sha512-d7NKSwstdxYLYmPsbcYO3GOFNfXxXwOyHxSqDa1JNKoSzMdbLj4tvlCpfXw0ThNM7gioMx8aLBaaH1ac+yk06Q==", + "version": "17.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.8.tgz", + "integrity": "sha512-QRVEYpIfgkprNHc916JlPuNbLzOgrm9DZalHasnLUz4P6g7pR21olb8YCyM2OTJjombNhya9ZpckcADU5Qyvlg==", "dependencies": { - "@angular-devkit/core": "17.3.7", + "@angular-devkit/core": "17.3.8", "jsonc-parser": "3.2.1", "magic-string": "0.30.8", "ora": "5.4.1", @@ -341,18 +341,18 @@ } }, "node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-17.4.1.tgz", - "integrity": "sha512-QKQGspxsyMHRwvzqo+Fj42TS/vmnwOHuWC6EN+5KBx3cuImahqFHQW842zVy9f65jfH2xDnNWJ+NW+Tzcgg+pQ==" + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-17.5.1.tgz", + "integrity": "sha512-2gYFcWsGcw3BytCzt6DzKNayOHhW1dhMAgttor94lXLYOYN82eLGomC+aZF/U6fqVGBjm5JIEJpWbNF+NawZ7w==" }, "node_modules/@angular-eslint/eslint-plugin": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-17.4.1.tgz", - "integrity": "sha512-05bN1UB4H2CuX7Sw6fz+rMobsa+Bl3g15IYldH08hbJSnVemO8mf86bIjRN2Th79sO9WOiXXimnfIt7KRf8l0Q==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-17.5.1.tgz", + "integrity": "sha512-6/BLBJatp4DK9XtiVIh3UGIkZkikmtnV3tSvxtxG0LR1/zY+iWZIyQlmoJ42jRh3F0L46lmb14Z0iaIsPXuRGQ==", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "17.4.1", - "@angular-eslint/utils": "17.4.1", - "@typescript-eslint/utils": "7.8.0" + "@angular-eslint/bundled-angular-compiler": "17.5.1", + "@angular-eslint/utils": "17.5.1", + "@typescript-eslint/utils": "7.10.0" }, "peerDependencies": { "eslint": "^7.20.0 || ^8.0.0", @@ -360,14 +360,14 @@ } }, "node_modules/@angular-eslint/eslint-plugin-template": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-17.4.1.tgz", - "integrity": "sha512-oYP7yzOpn63g1Mpwc8F8ERiywaGRhAs27ttI9t+5NXaLrwHSfc/AJleC7jjkB5xu1p88JY1mb4oIYOjeZAhHIg==", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "17.4.1", - "@angular-eslint/utils": "17.4.1", - "@typescript-eslint/type-utils": "7.8.0", - "@typescript-eslint/utils": "7.8.0", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-17.5.1.tgz", + "integrity": "sha512-OgTN6ogZSA7Fi/9Zfk3EZumr06MZPXyI7Y9A09WzkjgUikCXDNoYwvkT4Bh0jOtwDDhtAAFC9/TehJQj7f4o5A==", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "17.5.1", + "@angular-eslint/utils": "17.5.1", + "@typescript-eslint/type-utils": "7.10.0", + "@typescript-eslint/utils": "7.10.0", "aria-query": "5.3.0", "axobject-query": "4.0.0" }, @@ -377,12 +377,12 @@ } }, "node_modules/@angular-eslint/schematics": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-17.4.1.tgz", - "integrity": "sha512-CYpsGc0B/ZGO/RKYlyfeAi1pOvFmVs4pvoHU13uOdhdFJ6nAUTujHiBaULloIrUmuIhGW9S0g6w4ecD6ZP680w==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-17.5.1.tgz", + "integrity": "sha512-TvmsY08ViPqjUGAGl4ED477XzQ9qj7NXhZKN2aphIT+gZ8wVnOoBSWy+n2OSicrM6Eb0MSyACLZHnoD06+Z2sQ==", "dependencies": { - "@angular-eslint/eslint-plugin": "17.4.1", - "@angular-eslint/eslint-plugin-template": "17.4.1", + "@angular-eslint/eslint-plugin": "17.5.1", + "@angular-eslint/eslint-plugin-template": "17.5.1", "@nx/devkit": "^17.2.8 || ^18.0.0 || ^19.0.0", "ignore": "5.3.1", "nx": "^17.2.8 || ^18.0.0 || ^19.0.0", @@ -402,12 +402,12 @@ } }, "node_modules/@angular-eslint/template-parser": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-17.4.1.tgz", - "integrity": "sha512-fJQpwQXexgs7Z3yYpQAfuAkFB2Y5H8SSlo+eAPPafOOPpPSIm/yP4dQ2e06tE8zWB5yjYnVBMJnUKSmG5GJSDw==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-17.5.1.tgz", + "integrity": "sha512-DJcYacYEb17uUlQFYIKSjmlzWJEfev5pOMddDewV3h6oVm4T77X1SH/u8n5Oz1Zy13TrLWponwFORCKhg7nOfg==", "dev": true, "dependencies": { - "@angular-eslint/bundled-angular-compiler": "17.4.1", + "@angular-eslint/bundled-angular-compiler": "17.5.1", "eslint-scope": "^8.0.0" }, "peerDependencies": { @@ -416,12 +416,12 @@ } }, "node_modules/@angular-eslint/utils": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-17.4.1.tgz", - "integrity": "sha512-ptpWSrN7hfLtbStOB5vlwjh088WRu+sT1XIXCROrX5uXR5sQMu5ZitnoObSe+Of+1lugguPvMvFm/pzTMp3LIg==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-17.5.1.tgz", + "integrity": "sha512-Rji1fC9OLDzRaeM2Aven0HdEnqaIgLn5cD6JQphTi1o4TzIXAcSrB9g52dVkH3RnqtOGYSIfFpA6+lQfn7wLOA==", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "17.4.1", - "@typescript-eslint/utils": "7.8.0" + "@angular-eslint/bundled-angular-compiler": "17.5.1", + "@typescript-eslint/utils": "7.10.0" }, "peerDependencies": { "eslint": "^7.20.0 || ^8.0.0", @@ -429,9 +429,9 @@ } }, "node_modules/@angular/animations": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.9.tgz", - "integrity": "sha512-9fSFF9Y+pKZGgGEK3IlVy9msS7LRFpD1h2rJ80N6n1k51jiKcTgOcFPPYwLNJZ2fkp+qrOAMo3ez4WYQgVPoow==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.10.tgz", + "integrity": "sha512-9fR5snTuG4aM2K54TG/6DXcKXMDKZMovZhjQOxO8l68/oqn6fKrHs8DLzckFs0XGRZ+2OyURH8WggFm1Z828rA==", "dependencies": { "tslib": "^2.3.0" }, @@ -439,13 +439,13 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.3.9" + "@angular/core": "17.3.10" } }, "node_modules/@angular/cdk": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.9.tgz", - "integrity": "sha512-N/7Is+FkIIql5UEL/I+PV6THw+yXNCCGGpwimf/yaNgT9y1fHAmBWhDY0oQqFjCuD+kXl9gQL0ONfsl5Nlnk+w==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.10.tgz", + "integrity": "sha512-b1qktT2c1TTTe5nTji/kFAVW92fULK0YhYAvJ+BjZTPKu2FniZNe8o4qqQ0pUuvtMu+ZQxp/QqFYoidIVCjScg==", "dependencies": { "tslib": "^2.3.0" }, @@ -459,14 +459,14 @@ } }, "node_modules/@angular/cli": { - "version": "17.3.7", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.7.tgz", - "integrity": "sha512-JgCav3sdRCoJHwLXxmF/EMzArYjwbqB+AGUW/xIR98oZET8QxCB985bOFUAm02SkAEUVcMJvjxec+WCaa60m/A==", - "dependencies": { - "@angular-devkit/architect": "0.1703.7", - "@angular-devkit/core": "17.3.7", - "@angular-devkit/schematics": "17.3.7", - "@schematics/angular": "17.3.7", + "version": "17.3.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.8.tgz", + "integrity": "sha512-X5ZOQ6ZTKVHjhIsfl32ZRqbs+FUoeHLbT7x4fh2Os/8ObDDwrUcCJPqxe2b2RB5E2d0vepYigknHeLE7gwzlNQ==", + "dependencies": { + "@angular-devkit/architect": "0.1703.8", + "@angular-devkit/core": "17.3.8", + "@angular-devkit/schematics": "17.3.8", + "@schematics/angular": "17.3.8", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "4.1.2", @@ -492,9 +492,9 @@ } }, "node_modules/@angular/common": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.9.tgz", - "integrity": "sha512-tH1VfbAvNVaz6ZYa+q0DiKtbmUql1jK/3q/af74B8nVjKLHcXVWwxvBayqvrmlUt7FGANGkETIcCWrB44k47Ug==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.10.tgz", + "integrity": "sha512-6SfD21M3LujymmZsZQIxAsV8Bj5u6He6ImZ+p2rr7FAhFxpVJyKldK8LCmJcFsBD4srpQcxEZ0iDxXvg+0ihAw==", "dependencies": { "tslib": "^2.3.0" }, @@ -502,14 +502,14 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.3.9", + "@angular/core": "17.3.10", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.9.tgz", - "integrity": "sha512-2d4bPbNm7O2GanqCj5GFgPDnmjbAcsQM502Jnvcv7Aje82yecT69JoqAVRqGOfbbxwlJiPhi31D8DPdLaOz47Q==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.10.tgz", + "integrity": "sha512-6Ce4siHyF0fCZBDm/cz+blJByGDu1/hbPkQVGmk5HGZTmCUeKkgyjoM6bZr7ssAsyGDRwxBh2SGHO4Ce31vuPA==", "dependencies": { "tslib": "^2.3.0" }, @@ -517,7 +517,7 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.3.9" + "@angular/core": "17.3.10" }, "peerDependenciesMeta": { "@angular/core": { @@ -526,9 +526,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.9.tgz", - "integrity": "sha512-J6aqoz5wqPWaurbZFUZ7iMUlzAJYXzntziJJbalm6ceXfUWEe2Vm67nGUROWCIFvO3kWXvkgYX4ubnqtod2AxA==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.10.tgz", + "integrity": "sha512-85SBphqRj3szac3FbeYgEZ+I6WaAlo5h7JX06BdjOLLiaoIwlFhLeAuG+jVekseV+95grFUxIsCMphWHi2e6hQ==", "dev": true, "dependencies": { "@babel/core": "7.23.9", @@ -549,7 +549,7 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/compiler": "17.3.9", + "@angular/compiler": "17.3.10", "typescript": ">=5.2 <5.5" } }, @@ -599,9 +599,9 @@ } }, "node_modules/@angular/core": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.9.tgz", - "integrity": "sha512-x+h5BQ6islvYWGVLTz1CEgNq1/5IYngQ+Inq/tWayM6jN7RPOCydCCbCw+uOZS7MgFebkP0gYTVm14y1MRFKSQ==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.10.tgz", + "integrity": "sha512-ocEKu7X0yFCOvgJn1uZy76qjhsjKvULrO1k/BuIX0nwhp61DTGYTvCqKmwCBLM8/gvcKYH5vMKMHoQKtiSGE0A==", "dependencies": { "tslib": "^2.3.0" }, @@ -614,9 +614,9 @@ } }, "node_modules/@angular/elements": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-17.3.9.tgz", - "integrity": "sha512-DGGy6WD9Jhb+ppK1jgGshcz6CgEFzexvtpyuCYk2c3gNGKCnEFv6n13wB1S8dHt3ID9QdGcM3LIvdynmcSudzg==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-17.3.10.tgz", + "integrity": "sha512-rARoZx0wBlouAQot2ItD0h0gCKbKfa43S2545wiqcIVxrkxYMhyX54GDbUv8zQzd7YBUguITeGjaIC9hKFLeqQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -624,14 +624,14 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.3.9", + "@angular/core": "17.3.10", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/forms": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.9.tgz", - "integrity": "sha512-5b8OjK0kLghrdxkVWglgerHVp9D5WvXInXwo1KIyc2v/fGdTlyu/RFi0GLGvzq2y+7Z8TvtXWC82SB47vfx3TQ==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.10.tgz", + "integrity": "sha512-0VZWSXDi2M3DAGJlpdV3lo73Yo/73GPRqmfTOrvIoUIenFg5Dz6oNGzvt/1aRkRn6HKccjix6iMpH91EN65pWA==", "dependencies": { "tslib": "^2.3.0" }, @@ -639,16 +639,16 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.3.9", - "@angular/core": "17.3.9", - "@angular/platform-browser": "17.3.9", + "@angular/common": "17.3.10", + "@angular/core": "17.3.10", + "@angular/platform-browser": "17.3.10", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/material": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-17.3.9.tgz", - "integrity": "sha512-iNLXGfTsXYQ7lX9UkU4ifb6+lVKjDFQJkWE8HmNWC3C2KXC9k15UefPKy4/sZUVzLE/yOBHPfNDwdhaJGlcu+g==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-17.3.10.tgz", + "integrity": "sha512-hHMQES0tQPH5JW33W+mpBPuM8ybsloDTqFPuRV8cboDjosAWfJhzAKF3ozICpNlUrs62La/2Wu/756GcQrxebg==", "dependencies": { "@material/animation": "15.0.0-canary.7f224ddd4.0", "@material/auto-init": "15.0.0-canary.7f224ddd4.0", @@ -701,7 +701,7 @@ }, "peerDependencies": { "@angular/animations": "^17.0.0 || ^18.0.0", - "@angular/cdk": "17.3.9", + "@angular/cdk": "17.3.10", "@angular/common": "^17.0.0 || ^18.0.0", "@angular/core": "^17.0.0 || ^18.0.0", "@angular/forms": "^17.0.0 || ^18.0.0", @@ -710,22 +710,22 @@ } }, "node_modules/@angular/material-moment-adapter": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-17.3.9.tgz", - "integrity": "sha512-w2pKHWHH8uh5EFltEsWko80SXssXZBgpoHJATOO8RtbLnNUIvrofCxZojIhLOW+nSh+89loZhw+gR/VxGqyNvg==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-17.3.10.tgz", + "integrity": "sha512-R68ssdGMSmVIfpOGaB9vjW5lBh6zH9GboBuaIAqizC/ZAzdEgpmT7qdr3PBCmRPTLTx8Yx9K3rhgRekO79ympw==", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/core": "^17.0.0 || ^18.0.0", - "@angular/material": "17.3.9", + "@angular/material": "17.3.10", "moment": "^2.18.1" } }, "node_modules/@angular/platform-browser": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.9.tgz", - "integrity": "sha512-vMwHO76rnkz7aV3KHKy23KUFAo/+b0+yHPa6AND5Lee8z5C1J/tA2PdetFAsghlQQsX61JeK4MFJV/f3dFm2dw==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.10.tgz", + "integrity": "sha512-LEhBDOKm2A7nRmZqsafVp6OinRDG1OYZBSqjnT1jZ+f0CRRFIXz6aJ0TMPoU6vq9SLRJ7vrGD9P/eBf2hW00NQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -733,9 +733,9 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/animations": "17.3.9", - "@angular/common": "17.3.9", - "@angular/core": "17.3.9" + "@angular/animations": "17.3.10", + "@angular/common": "17.3.10", + "@angular/core": "17.3.10" }, "peerDependenciesMeta": { "@angular/animations": { @@ -744,9 +744,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.9.tgz", - "integrity": "sha512-Jmth4hFC4dZsWQRkxB++42sR1pfJUoQbErANrKQMgEPb8H4cLRdB1mAQ6f+OASPBM+FsxDxjXq2kepyLGtF2Vg==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.10.tgz", + "integrity": "sha512-TW6G4+isdHM2ssQTRTobeAKtR2516pJ25BSwRb+9+Jw/ZAEYOOi+KQyofIFYQccaUjb3+LpjRcaZbtZ9m/Ispg==", "dependencies": { "tslib": "^2.3.0" }, @@ -754,16 +754,16 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.3.9", - "@angular/compiler": "17.3.9", - "@angular/core": "17.3.9", - "@angular/platform-browser": "17.3.9" + "@angular/common": "17.3.10", + "@angular/compiler": "17.3.10", + "@angular/core": "17.3.10", + "@angular/platform-browser": "17.3.10" } }, "node_modules/@angular/router": { - "version": "17.3.9", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.9.tgz", - "integrity": "sha512-0cRF5YBJoDbXGQsRs3wEG+DPvN4PlhEqTa0DkTr9QIDJRg5P1uiDlOclV+w3OxEMsLrmXGmhjauHaWQk07M4LA==", + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.10.tgz", + "integrity": "sha512-HlZlR9BOLoEKGOSMjmL5EfYL7F7PeDifbFi0dYWNcrG8zFrVKFklB1cuBdJhfPZgYhDEoGms/EToD71tg5wliA==", "dependencies": { "tslib": "^2.3.0" }, @@ -771,9 +771,9 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.3.9", - "@angular/core": "17.3.9", - "@angular/platform-browser": "17.3.9", + "@angular/common": "17.3.10", + "@angular/core": "17.3.10", + "@angular/platform-browser": "17.3.10", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -4885,9 +4885,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "17.3.7", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.7.tgz", - "integrity": "sha512-kQNS68jsPQlaWAnKcVeFKNHp6K90uQANvq+9oXb/i+JnYWzuBsHzn2r8bVdMmvjd1HdBRiGtg767XRk3u+jgRw==", + "version": "17.3.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.8.tgz", + "integrity": "sha512-CjSVVa/9fzMpEDQP01SC4colKCbZwj7vUq0H2bivp8jVsmd21x9Fu0gDBH0Y9NdfAIm4eGZvmiZKMII3vIOaYQ==", "dev": true, "engines": { "node": "^18.13.0 || >=20.9.0", @@ -5088,15 +5088,15 @@ } }, "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "10.3.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", - "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.11.0" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -5108,6 +5108,20 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@npmcli/package-json/node_modules/proc-log": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", @@ -5195,19 +5209,19 @@ } }, "node_modules/@nrwl/devkit": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.0.4.tgz", - "integrity": "sha512-wOb7qiluWjVgmfhIGxWXAgJ61ZoL7rDYfx0mibPhbBlqm+86NHJ9CbKTfbfamS20fkzCYdhYeE6xd7sdpcZIZA==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.0.7.tgz", + "integrity": "sha512-HS6H2YgC1igC0iGewSpsO63/U8oX5zaEa0OOfKqWC59IqCeDqP0LCkYatAbBEl7fh/eIgCoyQWWouTkAaLUFiw==", "dependencies": { - "@nx/devkit": "19.0.4" + "@nx/devkit": "19.0.7" } }, "node_modules/@nrwl/tao": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.0.4.tgz", - "integrity": "sha512-ZoHM5hbj0fOaWiiQoN/Wjozc6lbBCCcH7jCIX7amN6aztmcwNYk+Q3NKJE5Jh0/Js5M78VTnLRG2h4KHPzKSKg==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.0.7.tgz", + "integrity": "sha512-tWUUsFZiu6KxMO3Q1mYm7HQh0XXQOIsJaxuuNO2UFBdfsE/P5GKUe6SuKyBmfoOY+LcZcBL/nlaJ02hJkCe7Sg==", "dependencies": { - "nx": "19.0.4", + "nx": "19.0.7", "tslib": "^2.3.0" }, "bin": { @@ -5215,11 +5229,11 @@ } }, "node_modules/@nx/devkit": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.0.4.tgz", - "integrity": "sha512-nsD0RaL61nZLHSJbog2XwxcI8bML5GlI69Z1k2rvd2zvylqdjNS4SXakMPl/Ar9xX2mAW3Qbup850V0jG87y/Q==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.0.7.tgz", + "integrity": "sha512-yIIQHS1gl+dKLJXqzT7SN+Uo7wQeWT/fG9vbti4Lmc6b6gOV0vFOZiARHq3rDxNqHRCWjJbZlM9ME3GiN7UNkA==", "dependencies": { - "@nrwl/devkit": "19.0.4", + "@nrwl/devkit": "19.0.7", "ejs": "^3.1.7", "enquirer": "~2.3.6", "ignore": "^5.0.4", @@ -5242,9 +5256,9 @@ } }, "node_modules/@nx/nx-darwin-arm64": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.0.4.tgz", - "integrity": "sha512-EwTMKVFdMF42b+DG3ACtrGVE3iiAgOw+VJ4Vekm59+ZkTg6GrZly2VNbthoNSJd6/uPQssoljx36NZH953ieBw==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.0.7.tgz", + "integrity": "sha512-tMcYKJzldLAAF3RuHE8+SA+M4nJzQBiv4CuDChdkQ6nqoDndg3uqJ2U7rwmrNu+VJXLxJzbnWdFzaupkfu9FpQ==", "cpu": [ "arm64" ], @@ -5257,9 +5271,9 @@ } }, "node_modules/@nx/nx-darwin-x64": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.0.4.tgz", - "integrity": "sha512-W+SVaYOHWRHcws7wZVcWyxoT57r1qXLMUBvpTVBf5PsVfsI+t9sINwzZjcXWaGNVcPGrVYUZF6Cp3/exkPNUBw==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.0.7.tgz", + "integrity": "sha512-c3WFxHEEY/1GuSGVHREIbK19gEXnl09Rx93Sx10gPCqk2OWu6nogCg3UfY3yYzpm3c7qWOXzj/dvSRCTmzcEGQ==", "cpu": [ "x64" ], @@ -5272,9 +5286,9 @@ } }, "node_modules/@nx/nx-freebsd-x64": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.0.4.tgz", - "integrity": "sha512-8Wl2+TOXiRDLbI8mwsbx1sHQLKAaNvfTm2e5Kf+4ay4W/UsrHONRDRA4d/LhMOLQMo+2+q2q+u8DziqT0w0Vaw==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.0.7.tgz", + "integrity": "sha512-WrteQTg/4zYqHciEmwnPje87XooqUeu8kemHDLt83BQ538AxqAp9R2DoW+JSbwHOq4ZYK7nVzQRwNbuZ7/7bkQ==", "cpu": [ "x64" ], @@ -5287,9 +5301,9 @@ } }, "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.0.4.tgz", - "integrity": "sha512-C3PBsyNM5Npq8G8h/WHjUwwlKZpfWK4tK1ZeNseb6LtoNIgNF0PVrJQERqXABt29lanoQ4SeJ8RPgppB3xgCwg==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.0.7.tgz", + "integrity": "sha512-jrJQYf63LCOClYDfl2Rgg/rQvA/qOoCvmEIB8XI/9TCfeRU7Zoa+dxVC6nKG02DzFaarY3zdQ2GFzYd0wpTFvg==", "cpu": [ "arm" ], @@ -5302,9 +5316,9 @@ } }, "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.0.4.tgz", - "integrity": "sha512-d7gJv/QlaaBKTHpN+DmnQvo1FBNOGfh9b819WMaNXgDLSNpw9CpaOBZPbPgduee3OaGwbfWmll8VDYzUZgKWuw==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.0.7.tgz", + "integrity": "sha512-0ekdp8+8NzFsiK3EQu9eg8W/z5ehjlPF38Vy+Pb7T3xM7pR8Kpx0k5B2D2/StPBQU8ENdyDxspBch9FnZsSbYg==", "cpu": [ "arm64" ], @@ -5317,9 +5331,9 @@ } }, "node_modules/@nx/nx-linux-arm64-musl": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.0.4.tgz", - "integrity": "sha512-lQ76O4AtXAQJ6r1MdVDVp4GG+o2vylWFjcyZvZpclhjag+fWKSdO0igL/14HsqNwCPmcPtaHmgqQNlw3MMtL3w==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.0.7.tgz", + "integrity": "sha512-d0a3iIobeYJY4b8HdwsohGt1d7TMKQJM0nWI3xcbqotLSovFoL6CqNn3g7uZhZPhNwQXNtSEwaXfQRZcH9Nr1g==", "cpu": [ "arm64" ], @@ -5332,9 +5346,9 @@ } }, "node_modules/@nx/nx-linux-x64-gnu": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.0.4.tgz", - "integrity": "sha512-1K95WMdKHM4pMACzsO9m9TWqSXwL5cg9/1UuS9LUKhjY/bX2y3iTtzT0tFBptCVzRVLZG8wAZphxwQfBIQvnCQ==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.0.7.tgz", + "integrity": "sha512-C75zX747Fwc/oH8Xk6+U4xBG97BYka5hGU57034cQVMHKaDfivVHKfwBuROVkj3Mg96QbAS3rAAfMtaCthMLTA==", "cpu": [ "x64" ], @@ -5347,9 +5361,9 @@ } }, "node_modules/@nx/nx-linux-x64-musl": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.0.4.tgz", - "integrity": "sha512-iZ+TH/qT2R6nb+bqL8oJDDeUUEJmzYxtacFlf5yLjaiG5nvOxq7cu/lUw/LEqT+BUgK33T7acr3BDC0/q2bFZQ==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.0.7.tgz", + "integrity": "sha512-OzPtwGp4ENsRI5J35kbjXE0hDbTNF1QwnK3O7R7H1Ew9WJjZi3tEm1cTsq0/SssI6YbZqRhzrNBd/N7Mkjd2dA==", "cpu": [ "x64" ], @@ -5362,9 +5376,9 @@ } }, "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.0.4.tgz", - "integrity": "sha512-YiRyGZecH4hIy5shZz8SNX5NwY+dZC3Xs09QlMeLKNhf6klfmjJYNtd+9250V4cjJS3opKYf08uG4x+EtuEB5A==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.0.7.tgz", + "integrity": "sha512-G17tdQEjE6eAWRO4XFGpoFHZ55M1AVmj+CJwaTowzXDSk26y3waoDUGOy75ft1LLoz5i8Q9CWFG4Fnyno4Bv/g==", "cpu": [ "arm64" ], @@ -5377,9 +5391,9 @@ } }, "node_modules/@nx/nx-win32-x64-msvc": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.0.4.tgz", - "integrity": "sha512-eHEdPjV0GlblyBM501xfe47tPRzugw2U+YOkZh++Ago9MDOrs/ULS9+RM3NhvZl2WnkpNYDbQMjzbQ0r7rxlTA==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.0.7.tgz", + "integrity": "sha512-ZK4w5w9khgphyqEf/cKSyZsmHD4np7/sNp25D9Fdr5z6RTu2U73K07/e3nj2jS2ZCIrjPxobAGljZdXom9LH7g==", "cpu": [ "x64" ], @@ -5497,9 +5511,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz", - "integrity": "sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", "cpu": [ "arm" ], @@ -5510,9 +5524,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz", - "integrity": "sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", "cpu": [ "arm64" ], @@ -5523,9 +5537,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz", - "integrity": "sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", "cpu": [ "arm64" ], @@ -5536,9 +5550,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz", - "integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", "cpu": [ "x64" ], @@ -5549,9 +5563,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz", - "integrity": "sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", "cpu": [ "arm" ], @@ -5562,9 +5576,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz", - "integrity": "sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", "cpu": [ "arm" ], @@ -5575,9 +5589,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz", - "integrity": "sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", "cpu": [ "arm64" ], @@ -5588,9 +5602,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz", - "integrity": "sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", "cpu": [ "arm64" ], @@ -5601,9 +5615,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz", - "integrity": "sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", "cpu": [ "ppc64" ], @@ -5614,9 +5628,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz", - "integrity": "sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", "cpu": [ "riscv64" ], @@ -5627,9 +5641,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz", - "integrity": "sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", "cpu": [ "s390x" ], @@ -5640,9 +5654,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz", - "integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", "cpu": [ "x64" ], @@ -5653,9 +5667,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz", - "integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", "cpu": [ "x64" ], @@ -5666,9 +5680,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz", - "integrity": "sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", "cpu": [ "arm64" ], @@ -5679,9 +5693,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz", - "integrity": "sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", "cpu": [ "ia32" ], @@ -5692,9 +5706,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz", - "integrity": "sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", "cpu": [ "x64" ], @@ -5705,9 +5719,9 @@ ] }, "node_modules/@rollup/wasm-node": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.17.2.tgz", - "integrity": "sha512-4F6C3XaUn02XY/GJMQTXncWrLyCkRHdRZe4OyWuQUprWKmU2u+esISOtCYdr3Bp9AqCIo/X3So2Ik7N9dNDwow==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.18.0.tgz", + "integrity": "sha512-DkLoyblRMhJw9ZogW9zCpyH0CNJ+7GaM7Ty+Vl+G21z/Gr7uKBaXqcJqwWUiNYVxTOgxZrxhDG6pmOFxOuswvw==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -5724,12 +5738,12 @@ } }, "node_modules/@schematics/angular": { - "version": "17.3.7", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.7.tgz", - "integrity": "sha512-HaJroKaberriP4wFefTTSVFrtU9GMvnG3I6ELbOteOyKMH7o2V91FXGJDJ5KnIiLRlBmC30G3r+9Ybc/rtAYkw==", + "version": "17.3.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.8.tgz", + "integrity": "sha512-2g4OmSyE9YGq50Uj7fNI26P/TSAFJ7ZuirwTF2O7Xc4XRQ29/tYIIqhezpNlTb6rlYblcQuMcUZBrMfWJHcqJw==", "dependencies": { - "@angular-devkit/core": "17.3.7", - "@angular-devkit/schematics": "17.3.7", + "@angular-devkit/core": "17.3.8", + "@angular-devkit/schematics": "17.3.8", "jsonc-parser": "3.2.1" }, "engines": { @@ -5937,9 +5951,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dev": true, "dependencies": { "@babel/types": "^7.20.7" @@ -6019,9 +6033,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz", - "integrity": "sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.1.tgz", + "integrity": "sha512-ej0phymbFLoCB26dbbq5PGScsf2JAJ4IJHjG10LalgUV36XKTmA4GdA+PVllKvRk0sEKt64X8975qFnkSi0hqA==", "dev": true, "dependencies": { "@types/node": "*", @@ -6160,7 +6174,8 @@ "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true }, "node_modules/@types/send": { "version": "0.17.4", @@ -6370,12 +6385,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.8.0.tgz", - "integrity": "sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.10.0.tgz", + "integrity": "sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==", "dependencies": { - "@typescript-eslint/typescript-estree": "7.8.0", - "@typescript-eslint/utils": "7.8.0", + "@typescript-eslint/typescript-estree": "7.10.0", + "@typescript-eslint/utils": "7.10.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -6396,9 +6411,9 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.8.0.tgz", - "integrity": "sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz", + "integrity": "sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==", "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -6408,12 +6423,12 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz", - "integrity": "sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz", + "integrity": "sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==", "dependencies": { - "@typescript-eslint/types": "7.8.0", - "@typescript-eslint/visitor-keys": "7.8.0", + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/visitor-keys": "7.10.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6435,11 +6450,11 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz", - "integrity": "sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz", + "integrity": "sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==", "dependencies": { - "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/types": "7.10.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -6506,17 +6521,14 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.8.0.tgz", - "integrity": "sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.10.0.tgz", + "integrity": "sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.15", - "@types/semver": "^7.5.8", - "@typescript-eslint/scope-manager": "7.8.0", - "@typescript-eslint/types": "7.8.0", - "@typescript-eslint/typescript-estree": "7.8.0", - "semver": "^7.6.0" + "@typescript-eslint/scope-manager": "7.10.0", + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/typescript-estree": "7.10.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -6530,12 +6542,12 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.8.0.tgz", - "integrity": "sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz", + "integrity": "sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==", "dependencies": { - "@typescript-eslint/types": "7.8.0", - "@typescript-eslint/visitor-keys": "7.8.0" + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/visitor-keys": "7.10.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -6546,9 +6558,9 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.8.0.tgz", - "integrity": "sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz", + "integrity": "sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==", "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -6558,12 +6570,12 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz", - "integrity": "sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz", + "integrity": "sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==", "dependencies": { - "@typescript-eslint/types": "7.8.0", - "@typescript-eslint/visitor-keys": "7.8.0", + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/visitor-keys": "7.10.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6585,11 +6597,11 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz", - "integrity": "sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz", + "integrity": "sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==", "dependencies": { - "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/types": "7.10.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -6806,22 +6818,6 @@ "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==", - "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==" - }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -7174,9 +7170,9 @@ } }, "node_modules/axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -7582,11 +7578,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -7716,15 +7712,15 @@ } }, "node_modules/cacache/node_modules/glob": { - "version": "10.3.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", - "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.11.0" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -7744,6 +7740,20 @@ "node": "14 || >=16.14" } }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/call-bind": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", @@ -7780,9 +7790,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001620", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz", - "integrity": "sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==", + "version": "1.0.30001621", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001621.tgz", + "integrity": "sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA==", "funding": [ { "type": "opencollective", @@ -8139,12 +8149,12 @@ } }, "node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/common-path-prefix": { @@ -9063,9 +9073,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.773", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.773.tgz", - "integrity": "sha512-87eHF+h3PlCRwbxVEAw9KtK3v7lWfc/sUDr0W76955AdYTG4bV/k0zrl585Qnj/skRMH2qOSiE+kqMeOQ+LOpw==" + "version": "1.4.782", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.782.tgz", + "integrity": "sha512-JUfU61e8tr+i5Y1FKXcKs+Xe+rJ+CEqm4cgv1kMihPE2EvYHmYyVr3Im/+1+Z5B29Be2EEGCZCwAc6Tazdl1Yg==" }, "node_modules/emittery": { "version": "0.13.1", @@ -9220,9 +9230,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.2.tgz", - "integrity": "sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz", + "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==" }, "node_modules/esbuild": { "version": "0.20.1", @@ -9977,9 +9987,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -10927,6 +10937,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -11342,9 +11353,9 @@ } }, "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", + "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -13479,12 +13490,15 @@ } }, "node_modules/lilconfig": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", - "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", "dev": true, "engines": { "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lines-and-columns": { @@ -13494,21 +13508,21 @@ "dev": true }, "node_modules/lint-staged": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz", - "integrity": "sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.4.tgz", + "integrity": "sha512-3F9KRQIS2fVDGtCkBp4Bx0jswjX7zUcKx6OF0ZeY1prksUyKPRIIUqZhIUYAstJfvj6i48VFs4dwVIbCYwvTYQ==", "dev": true, "dependencies": { "chalk": "5.3.0", - "commander": "11.1.0", + "commander": "12.1.0", "debug": "4.3.4", "execa": "8.0.1", - "lilconfig": "3.0.0", - "listr2": "8.0.1", - "micromatch": "4.0.5", + "lilconfig": "3.1.1", + "listr2": "8.2.1", + "micromatch": "4.0.6", "pidtree": "0.6.0", "string-argv": "0.3.2", - "yaml": "2.3.4" + "yaml": "2.4.2" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -13667,16 +13681,16 @@ } }, "node_modules/listr2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz", - "integrity": "sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.1.tgz", + "integrity": "sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==", "dev": true, "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", "eventemitter3": "^5.0.1", "log-update": "^6.0.0", - "rfdc": "^1.3.0", + "rfdc": "^1.3.1", "wrap-ansi": "^9.0.0" }, "engines": { @@ -14234,23 +14248,23 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.6.tgz", + "integrity": "sha512-Y4Ypn3oujJYxJcMacVgcs92wofTHxp9FzfDpQON4msDefoC0lb3ETvQLOdLcbhSwU1bz8HrL/1sygfBIHudrkQ==", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "braces": "^3.0.3", + "picomatch": "^4.0.2" }, "engines": { "node": ">=8.6" } }, "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" @@ -14344,9 +14358,9 @@ } }, "node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "engines": { "node": ">=16 || 14 >=14.17" } @@ -14683,15 +14697,6 @@ } } }, - "node_modules/ng-packagr/node_modules/commander": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz", - "integrity": "sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==", - "dev": true, - "engines": { - "node": ">=18" - } - }, "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", @@ -14818,15 +14823,15 @@ } }, "node_modules/node-gyp/node_modules/glob": { - "version": "10.3.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", - "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.11.0" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -14846,6 +14851,20 @@ "node": ">=16" } }, + "node_modules/node-gyp/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/node-gyp/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -15047,15 +15066,14 @@ "dev": true }, "node_modules/nx": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/nx/-/nx-19.0.4.tgz", - "integrity": "sha512-E+wkP3H+23Vu9jso6Xw7cbXPzy2PMyrPukrEUDWkQrr/eCqf0Npkj5zky1/lKFSBaLtNYgsFD21co+b4rwxtdw==", + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/nx/-/nx-19.0.7.tgz", + "integrity": "sha512-9ZgxIvesVwM2941wnq5hvFD28kcABN+Nhf9RvA0P2DeFhOWYNMn1FhdYBrAl7tQB3gZsXrpitM5+f9kqIBzF8g==", "hasInstallScript": true, "dependencies": { - "@nrwl/tao": "19.0.4", + "@nrwl/tao": "19.0.7", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "3.0.0-rc.46", - "@zkochan/js-yaml": "0.0.6", "axios": "^1.6.0", "chalk": "^4.1.0", "cli-cursor": "3.1.0", @@ -15069,7 +15087,7 @@ "fs-extra": "^11.1.0", "ignore": "^5.0.4", "jest-diff": "^29.4.1", - "js-yaml": "4.1.0", + "js-yaml": "npm:@zkochan/js-yaml@0.0.7", "jsonc-parser": "3.2.0", "lines-and-columns": "~2.0.3", "minimatch": "9.0.3", @@ -15092,16 +15110,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "19.0.4", - "@nx/nx-darwin-x64": "19.0.4", - "@nx/nx-freebsd-x64": "19.0.4", - "@nx/nx-linux-arm-gnueabihf": "19.0.4", - "@nx/nx-linux-arm64-gnu": "19.0.4", - "@nx/nx-linux-arm64-musl": "19.0.4", - "@nx/nx-linux-x64-gnu": "19.0.4", - "@nx/nx-linux-x64-musl": "19.0.4", - "@nx/nx-win32-arm64-msvc": "19.0.4", - "@nx/nx-win32-x64-msvc": "19.0.4" + "@nx/nx-darwin-arm64": "19.0.7", + "@nx/nx-darwin-x64": "19.0.7", + "@nx/nx-freebsd-x64": "19.0.7", + "@nx/nx-linux-arm-gnueabihf": "19.0.7", + "@nx/nx-linux-arm64-gnu": "19.0.7", + "@nx/nx-linux-arm64-musl": "19.0.7", + "@nx/nx-linux-x64-gnu": "19.0.7", + "@nx/nx-linux-x64-musl": "19.0.7", + "@nx/nx-win32-arm64-msvc": "19.0.7", + "@nx/nx-win32-x64-msvc": "19.0.7" }, "peerDependencies": { "@swc-node/register": "^1.8.0", @@ -15175,9 +15193,10 @@ } }, "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==", + "name": "@zkochan/js-yaml", + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz", + "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==", "dependencies": { "argparse": "^2.0.1" }, @@ -16032,9 +16051,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -16372,6 +16391,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-7.0.1.tgz", "integrity": "sha512-8PcDiZ8DXUjLf687Ol4BR8Bpm2umR7vhoZOzNRt+uxD9GpBh/K+CAAALVIiYFknmvlmyg7hM7BSNUXPaCCqd0Q==", + "deprecated": "This package is no longer supported. Please use @npmcli/package-json instead.", "dependencies": { "glob": "^10.2.2", "json-parse-even-better-errors": "^3.0.0", @@ -16395,15 +16415,15 @@ } }, "node_modules/read-package-json/node_modules/glob": { - "version": "10.3.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", - "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.11.0" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -16415,6 +16435,20 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/read-package-json/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -16692,9 +16726,9 @@ } }, "node_modules/rollup": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz", - "integrity": "sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -16707,22 +16741,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.17.2", - "@rollup/rollup-android-arm64": "4.17.2", - "@rollup/rollup-darwin-arm64": "4.17.2", - "@rollup/rollup-darwin-x64": "4.17.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.17.2", - "@rollup/rollup-linux-arm-musleabihf": "4.17.2", - "@rollup/rollup-linux-arm64-gnu": "4.17.2", - "@rollup/rollup-linux-arm64-musl": "4.17.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.17.2", - "@rollup/rollup-linux-riscv64-gnu": "4.17.2", - "@rollup/rollup-linux-s390x-gnu": "4.17.2", - "@rollup/rollup-linux-x64-gnu": "4.17.2", - "@rollup/rollup-linux-x64-musl": "4.17.2", - "@rollup/rollup-win32-arm64-msvc": "4.17.2", - "@rollup/rollup-win32-ia32-msvc": "4.17.2", - "@rollup/rollup-win32-x64-msvc": "4.17.2", + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", "fsevents": "~2.3.2" } }, @@ -17366,9 +17400,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==" + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==" }, "node_modules/spdy": { "version": "4.0.2", @@ -18378,9 +18412,9 @@ } }, "node_modules/ts-jest": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", - "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", + "version": "29.1.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.3.tgz", + "integrity": "sha512-6L9qz3ginTd1NKhOxmkP0qU3FyKjj5CPoY+anszfVn6Pmv/RIKzhiMCsH7Yb7UvJR9I2A64rm4zQl531s2F1iw==", "dev": true, "dependencies": { "bs-logger": "0.x", @@ -18396,10 +18430,11 @@ "ts-jest": "cli.js" }, "engines": { - "node": "^16.10.0 || ^18.0.0 || >=20.0.0" + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" }, "peerDependencies": { "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0", "@jest/types": "^29.0.0", "babel-jest": "^29.0.0", "jest": "^29.0.0", @@ -18409,6 +18444,9 @@ "@babel/core": { "optional": true }, + "@jest/transform": { + "optional": true + }, "@jest/types": { "optional": true }, @@ -19843,10 +19881,13 @@ "dev": true }, "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz", + "integrity": "sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==", "dev": true, + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" } @@ -19904,7 +19945,7 @@ "projects/oblique": { "name": "@oblique/oblique", "dependencies": { - "@angular-eslint/schematics": "^17.4.1", + "@angular-eslint/schematics": "^17.5.1", "@angular/cdk": "^17.0.0 || ^18.0.0", "@schematics/angular": "^17.0.5", "ansi-colors": "^4.1.3", @@ -19920,11 +19961,11 @@ "@angular/common": "^17.0.0 || ^18.0.0", "@angular/compiler": "^17.0.0 || ^18.0.0", "@angular/core": "^17.0.0 || ^18.0.0", - "@angular/forms": "^17.3.9", + "@angular/forms": "^17.3.10", "@angular/material": "^17.0.0 || ^18.0.0", "@angular/platform-browser": "^17.0.0 || ^18.0.0", - "@angular/platform-browser-dynamic": "^17.3.9", - "@angular/router": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.10", + "@angular/router": "^17.3.10", "@ngx-translate/core": "^15.0.0", "@popperjs/core": "^2.11.8", "ajv": "^8.13.0", @@ -19956,7 +19997,7 @@ "name": "@oblique/service-navigation-web-component", "version": "0.0.0", "dependencies": { - "@angular/elements": "^17.3.9" + "@angular/elements": "^17.3.10" } } } diff --git a/package.json b/package.json index db7a5ee39..09ceb83e8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "title": "Oblique", "name": "oblique", - "version": "11.1.2", + "version": "11.1.3", "license": "MIT", "organization": { "name": "Federal Office of Information Technology, Systems and Telecommunication FOITT", @@ -48,12 +48,12 @@ "@angular/common": "^17.2.1", "@angular/compiler": "^17.2.1", "@angular/core": "^17.2.1", - "@angular/forms": "^17.3.9", + "@angular/forms": "^17.3.10", "@angular/material": "^17.2.0", - "@angular/material-moment-adapter": "^17.3.9", + "@angular/material-moment-adapter": "^17.3.10", "@angular/platform-browser": "^17.2.1", - "@angular/platform-browser-dynamic": "^17.3.9", - "@angular/router": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.10", + "@angular/router": "^17.3.10", "@ngx-translate/core": "^15.0.0", "@popperjs/core": "^2.11.8", "ajv": "^8.13.0", @@ -67,13 +67,13 @@ }, "devDependencies": { "@angular-builders/jest": "^17.0.3", - "@angular-devkit/build-angular": "^17.3.7", + "@angular-devkit/build-angular": "^17.3.8", "@angular-devkit/core": "^17.2.0", "@angular-eslint/eslint-plugin": "^17.1.1", "@angular-eslint/eslint-plugin-template": "^17.1.1", - "@angular-eslint/template-parser": "^17.4.1", - "@angular/cli": "^17.3.7", - "@angular/compiler-cli": "^17.3.9", + "@angular-eslint/template-parser": "^17.5.1", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.10", "@types/jest": "^29.5.12", "@types/js-cookie": "^3.0.6", "@types/node": "^20.12.12", @@ -84,7 +84,7 @@ "husky": "^9.0.11", "jest": "^29.7.0", "jest-sonar-reporter": "^2.0.0", - "lint-staged": "^15.2.2", + "lint-staged": "^15.2.4", "prettier": "^3.2.5", "stylelint": "^16.5.0", "stylelint-config-prettier-scss": "^1.0.0", diff --git a/projects/oblique/package.json b/projects/oblique/package.json index c5d44d2f2..1cc980af5 100644 --- a/projects/oblique/package.json +++ b/projects/oblique/package.json @@ -38,7 +38,7 @@ "rxjs": "^7.0.0" }, "dependencies": { - "@angular-eslint/schematics": "^17.4.1", + "@angular-eslint/schematics": "^17.5.1", "@angular/cdk": "^17.0.0 || ^18.0.0", "@schematics/angular": "^17.0.5", "ansi-colors": "^4.1.3", diff --git a/projects/oblique/src/lib/authentication/authentication.service.ts b/projects/oblique/src/lib/authentication/authentication.service.ts index fdb5b7fdc..803f67aed 100644 --- a/projects/oblique/src/lib/authentication/authentication.service.ts +++ b/projects/oblique/src/lib/authentication/authentication.service.ts @@ -7,7 +7,7 @@ import {ObIResourceAccessRoles, ObIResourceAccessToken} from './authentication.m export class ObAuthenticationService { constructor(readonly oAuthService: OAuthService) {} - performLogin(additionalState?: string, params?: any): void { + performLogin(additionalState?: string, params?: object): void { this.oAuthService.initLoginFlow(additionalState, params); } diff --git a/projects/oblique/src/lib/autocomplete/autocomplete.component.spec.ts b/projects/oblique/src/lib/autocomplete/autocomplete.component.spec.ts index 56b3d5f42..f659275b4 100644 --- a/projects/oblique/src/lib/autocomplete/autocomplete.component.spec.ts +++ b/projects/oblique/src/lib/autocomplete/autocomplete.component.spec.ts @@ -133,10 +133,6 @@ describe(ObAutocompleteComponent.name, () => { it('should have hasGroupOptions with value false', () => { expect(component.hasGroupOptions).toBe(false); }); - - it('should throw error if onModelTouched has not been overwritten ', () => { - expect(component.onModelTouched).toThrowError('Method onModelTouched has not been overwritten by the ControlValueAccessor.'); - }); }); }); diff --git a/projects/oblique/src/lib/autocomplete/autocomplete.component.ts b/projects/oblique/src/lib/autocomplete/autocomplete.component.ts index c7d148a7c..8a4f3b42f 100644 --- a/projects/oblique/src/lib/autocomplete/autocomplete.component.ts +++ b/projects/oblique/src/lib/autocomplete/autocomplete.component.ts @@ -60,6 +60,7 @@ export class ObAutocompleteComponent implements OnChanges, ControlValueAccessor, autocompleteInputControl = new FormControl('', {updateOn: 'change'}); filteredOptions$: Observable<(ObIAutocompleteInputOption | ObIAutocompleteInputOptionGroup)[]>; hasGroupOptions = false; + onModelTouched: () => void; private readonly unsubscribe = new Subject(); private readonly unsubscribeOptions = new Subject(); private readonly obAutocompleteTextToFindService = inject(ObAutocompleteTextToFindService); @@ -83,14 +84,6 @@ export class ObAutocompleteComponent implements OnChanges, ControlValueAccessor, } } - /** - * @remarks - * This method must be overwritten by ControlValueAccessor, this is why an error is thrown by default. - */ - onModelTouched: () => void = () => { - throw Error('Method onModelTouched has not been overwritten by the ControlValueAccessor.'); - }; - /** * Write a new value to the element. */ @@ -107,7 +100,7 @@ export class ObAutocompleteComponent implements OnChanges, ControlValueAccessor, * Set the function to be called * when the control receives a change event. */ - registerOnChange(fn: (v: any) => void): void { + registerOnChange(fn: (v: unknown) => void): void { this.autocompleteInputControl.valueChanges.pipe(takeUntil(this.unsubscribe)).subscribe(value => fn(value)); } diff --git a/projects/oblique/src/lib/breadcrumb/breadcrumb.component.ts b/projects/oblique/src/lib/breadcrumb/breadcrumb.component.ts index 2b6fcf7d4..386710f55 100644 --- a/projects/oblique/src/lib/breadcrumb/breadcrumb.component.ts +++ b/projects/oblique/src/lib/breadcrumb/breadcrumb.component.ts @@ -74,7 +74,7 @@ export class ObBreadcrumbComponent implements OnInit { private createNextBreadcrumb( route: ActivatedRoute, - next: ({label, url}: ObIBreadcrumb) => Observable, + next: (parameters: ObIBreadcrumb) => Observable, url: string, label: string, pathSplitter: string[] diff --git a/projects/oblique/src/lib/checkbox/checkbox.directive.ts b/projects/oblique/src/lib/checkbox/checkbox.directive.ts index 5f2b51d88..fd0789535 100644 --- a/projects/oblique/src/lib/checkbox/checkbox.directive.ts +++ b/projects/oblique/src/lib/checkbox/checkbox.directive.ts @@ -8,7 +8,7 @@ import {BehaviorSubject, Subject, takeUntil} from 'rxjs'; standalone: true }) export class ObCheckboxDirective implements OnInit, OnDestroy { - private readonly $checked = new BehaviorSubject(false); + private readonly checked$ = new BehaviorSubject(false); private readonly host: HTMLAnchorElement; private readonly rowCheckedClass = 'ob-table-row-checked'; private readonly unsubscribe = new Subject(); @@ -63,10 +63,10 @@ export class ObCheckboxDirective implements OnInit, OnDestroy { private monitorForCheckedChanges(): void { this.checkbox.change.pipe(takeUntil(this.unsubscribe)).subscribe(change => this.updateChecked(change.checked)); - this.$checked.pipe(takeUntil(this.unsubscribe)).subscribe(checked => this.conditionallyAdjustCheckedClassOnTableRows(checked)); + this.checked$.pipe(takeUntil(this.unsubscribe)).subscribe(checked => this.conditionallyAdjustCheckedClassOnTableRows(checked)); } private updateChecked(checked: boolean): void { - this.$checked.next(checked); + this.checked$.next(checked); } } diff --git a/projects/oblique/src/lib/collapse/collapse.component.ts b/projects/oblique/src/lib/collapse/collapse.component.ts index 8a569772d..006bdf8b5 100644 --- a/projects/oblique/src/lib/collapse/collapse.component.ts +++ b/projects/oblique/src/lib/collapse/collapse.component.ts @@ -57,8 +57,8 @@ export class ObCollapseComponent implements AfterViewInit, OnDestroy { constructor( @Optional() @Inject(OBLIQUE_COLLAPSE_ACTIVE) private isActive: boolean, - @Optional() @Inject(OBLIQUE_COLLAPSE_ICON_POSITION) iconPos: any, // NOTE, the real type will throw an error during build, should be fixed with Ivy - @Optional() @Inject(OBLIQUE_COLLAPSE_DURATION) animationSpeed: any // NOTE, the real type will throw an error during build, should be fixed with Ivy + @Optional() @Inject(OBLIQUE_COLLAPSE_ICON_POSITION) iconPos: 'left' | 'right' | 'justified' | 'none', + @Optional() @Inject(OBLIQUE_COLLAPSE_DURATION) animationSpeed: 'slow' | 'fast' | number ) { this.isActive = !!this.isActive; this.iconPosition = iconPos ?? this.iconPosition; diff --git a/projects/oblique/src/lib/error-messages/error-messages.service.ts b/projects/oblique/src/lib/error-messages/error-messages.service.ts index 7c410fb26..dbe1eb498 100644 --- a/projects/oblique/src/lib/error-messages/error-messages.service.ts +++ b/projects/oblique/src/lib/error-messages/error-messages.service.ts @@ -3,7 +3,7 @@ import {NgControl} from '@angular/forms'; @Injectable({providedIn: 'root'}) export class ObErrorMessagesService { - createMessages(control: NgControl): {key: string; params: Record}[] { + createMessages(control: NgControl): {key: string; params: Record}[] { return Object.keys(control.errors).map(key => { const subkeys = Object.keys(control.errors[key]); // If the subproperty is an object, it has to be the error diff --git a/projects/oblique/src/lib/file-upload/drop-zone/accept-all.pipe.ts b/projects/oblique/src/lib/file-upload/drop-zone/accept-all.pipe.ts index b69985248..e862a1c12 100644 --- a/projects/oblique/src/lib/file-upload/drop-zone/accept-all.pipe.ts +++ b/projects/oblique/src/lib/file-upload/drop-zone/accept-all.pipe.ts @@ -5,8 +5,7 @@ import {Pipe, PipeTransform} from '@angular/core'; standalone: true }) export class ObAcceptAllPipe implements PipeTransform { - // "this: void" is not a parameter but rather a typescript feature that indicates that the function don't use "this" - transform(this: void, allowedTypes: string[]): boolean { + transform(allowedTypes: string[]): boolean { return !allowedTypes?.length || allowedTypes.includes('*'); } } diff --git a/projects/oblique/src/lib/file-upload/drop-zone/drag-and-drop.directive.spec.ts b/projects/oblique/src/lib/file-upload/drop-zone/drag-and-drop.directive.spec.ts index 4cd99a453..268f5c05f 100644 --- a/projects/oblique/src/lib/file-upload/drop-zone/drag-and-drop.directive.spec.ts +++ b/projects/oblique/src/lib/file-upload/drop-zone/drag-and-drop.directive.spec.ts @@ -4,7 +4,7 @@ import {By} from '@angular/platform-browser'; import {ObDragDropDirective} from './drag-and-drop.directive'; @Component({ - template: `` + template: `` }) class TestDropDirectiveComponent { files; diff --git a/projects/oblique/src/lib/file-upload/drop-zone/drag-and-drop.directive.ts b/projects/oblique/src/lib/file-upload/drop-zone/drag-and-drop.directive.ts index 443e879a6..6127eef46 100644 --- a/projects/oblique/src/lib/file-upload/drop-zone/drag-and-drop.directive.ts +++ b/projects/oblique/src/lib/file-upload/drop-zone/drag-and-drop.directive.ts @@ -5,8 +5,7 @@ import {Directive, EventEmitter, HostBinding, HostListener, Output} from '@angul standalone: true }) export class ObDragDropDirective { - // eslint-disable-next-line @angular-eslint/no-output-on-prefix - @Output() readonly onFileDropped = new EventEmitter(); + @Output() readonly fileDropped = new EventEmitter(); @HostBinding('class.ob-dragging') private isDragging = false; @HostListener('dragover', ['$event']) @@ -29,7 +28,7 @@ export class ObDragDropDirective { event.stopPropagation(); const {files} = event.dataTransfer; if (files.length) { - this.onFileDropped.emit(files); + this.fileDropped.emit(files); this.isDragging = false; } } diff --git a/projects/oblique/src/lib/file-upload/drop-zone/ob-drop-zone.component.html b/projects/oblique/src/lib/file-upload/drop-zone/ob-drop-zone.component.html index 9ad9b17ec..117386e8f 100644 --- a/projects/oblique/src/lib/file-upload/drop-zone/ob-drop-zone.component.html +++ b/projects/oblique/src/lib/file-upload/drop-zone/ob-drop-zone.component.html @@ -1,4 +1,4 @@ -
+
, next: HttpHandler): Observable> { + intercept(request: HttpRequest, next: HttpHandler): Observable> { const obliqueRequest = this.broadcast(); const timer = this.setTimer(); this.activateSpinner(obliqueRequest.spinner, request.url); @@ -64,7 +64,7 @@ export class ObHttpApiInterceptor implements HttpInterceptor { return throwError(() => error); } - private setupHeader(request: HttpRequest): HttpRequest { + private setupHeader(request: HttpRequest): HttpRequest { return request.clone(this.isApiCall(request.url) ? {headers: request.headers.set('X-Requested-With', 'XMLHttpRequest')} : undefined); } diff --git a/projects/oblique/src/lib/input-clear/input-clear.directive.ts b/projects/oblique/src/lib/input-clear/input-clear.directive.ts index a133d1ec3..14686109b 100644 --- a/projects/oblique/src/lib/input-clear/input-clear.directive.ts +++ b/projects/oblique/src/lib/input-clear/input-clear.directive.ts @@ -12,7 +12,7 @@ import {WINDOW} from '../utilities'; export class ObInputClearDirective implements OnInit { @Input('obInputClear') control: AbstractControl | HTMLInputElement | NgModel; @Input() focusOnClear = true; - @Input() datePickerRef: MatDatepicker; + @Input() datePickerRef: MatDatepicker; // eslint-disable-next-line @angular-eslint/no-output-on-prefix @Output() readonly onClear = new EventEmitter(); @HostBinding('class.ob-text-control-clear') cssClass = true; diff --git a/projects/oblique/src/lib/language/language.service.ts b/projects/oblique/src/lib/language/language.service.ts index 5c57d1dc8..d93d74aca 100644 --- a/projects/oblique/src/lib/language/language.service.ts +++ b/projects/oblique/src/lib/language/language.service.ts @@ -32,7 +32,7 @@ export class ObLanguageService { } } - setLocaleOnAdapter(adapter: DateAdapter): void { + setLocaleOnAdapter(adapter: DateAdapter): void { if (this.locale$) { this.locale$.subscribe(locale => adapter.setLocale(locale)); } diff --git a/projects/oblique/src/lib/master-layout/master-layout-footer/master-layout-footer.component.ts b/projects/oblique/src/lib/master-layout/master-layout-footer/master-layout-footer.component.ts index 3d20255d6..9f1dbfadc 100644 --- a/projects/oblique/src/lib/master-layout/master-layout-footer/master-layout-footer.component.ts +++ b/projects/oblique/src/lib/master-layout/master-layout-footer/master-layout-footer.component.ts @@ -15,7 +15,7 @@ import {ObEMasterLayoutEventValues, ObIMasterLayoutEvent} from '../master-layout export class ObMasterLayoutFooterComponent implements OnDestroy { home = this.config.homePageRoute; isCustom = this.config.footer.isCustom; - @ContentChildren('obFooterLink') readonly templates: QueryList>; + @ContentChildren('obFooterLink') readonly templates: QueryList>; @HostBinding('class.ob-logo-on-scroll') hasLogoOnScroll = this.config.footer.hasLogoOnScroll; private readonly unsubscribe = new Subject(); diff --git a/projects/oblique/src/lib/master-layout/master-layout-header/master-layout-header.component.ts b/projects/oblique/src/lib/master-layout/master-layout-header/master-layout-header.component.ts index 2c38f8ce0..a445d965e 100644 --- a/projects/oblique/src/lib/master-layout/master-layout-header/master-layout-header.component.ts +++ b/projects/oblique/src/lib/master-layout/master-layout-header/master-layout-header.component.ts @@ -46,9 +46,9 @@ export class ObMasterLayoutHeaderComponent implements OnDestroy { serviceNavigationConfig: ObIServiceNavigationConfig; @Input() navigation: ObINavigationLink[]; @HostBinding('class.ob-master-layout-header-small') isSmall = this.masterLayout.header.isSmall; - @ContentChild('obHeaderLogo') readonly obLogo: TemplateRef; - @ContentChildren('obHeaderControl') readonly templates: QueryList>; - @ContentChildren('obHeaderMobileControl') readonly mobileTemplates: QueryList>; + @ContentChild('obHeaderLogo') readonly obLogo: TemplateRef; + @ContentChildren('obHeaderControl') readonly templates: QueryList>; + @ContentChildren('obHeaderMobileControl') readonly mobileTemplates: QueryList>; @ViewChildren('headerControl') readonly headerControl: QueryList; @ViewChildren('headerMobileControl') readonly headerMobileControl: QueryList; private readonly unsubscribe = new Subject(); diff --git a/projects/oblique/src/lib/master-layout/master-layout-navigation/navigation-link.model.ts b/projects/oblique/src/lib/master-layout/master-layout-navigation/navigation-link.model.ts index 02cd7f580..d7c07da5a 100644 --- a/projects/oblique/src/lib/master-layout/master-layout-navigation/navigation-link.model.ts +++ b/projects/oblique/src/lib/master-layout/master-layout-navigation/navigation-link.model.ts @@ -41,6 +41,7 @@ export class ObNavigationLink implements ObINavigationLink { .toLowerCase() .replace(/[^a-z0-9-]/g, '-') .replace(/-{2,}/g, '-') - .replace(/^-|-$/g, ''); + .replace(/^-/g, '') + .replace(/-$/g, ''); } } diff --git a/projects/oblique/src/lib/master-layout/master-layout/master-layout.component.html b/projects/oblique/src/lib/master-layout/master-layout/master-layout.component.html index edfaadf50..7fef7b620 100644 --- a/projects/oblique/src/lib/master-layout/master-layout/master-layout.component.html +++ b/projects/oblique/src/lib/master-layout/master-layout/master-layout.component.html @@ -96,5 +96,9 @@

- + @if (hasHighContrast) { + + } @else { + + } diff --git a/projects/oblique/src/lib/master-layout/master-layout/master-layout.component.ts b/projects/oblique/src/lib/master-layout/master-layout/master-layout.component.ts index 2fb16df78..de7b0e54e 100644 --- a/projects/oblique/src/lib/master-layout/master-layout/master-layout.component.ts +++ b/projects/oblique/src/lib/master-layout/master-layout/master-layout.component.ts @@ -1,4 +1,5 @@ import { + AfterContentChecked, AfterViewInit, Component, ContentChild, @@ -28,6 +29,7 @@ import {ObEMasterLayoutEventValues, ObIDynamicSkipLink, ObIMasterLayoutEvent, Ob import {ObOffCanvasService} from '../../off-canvas/off-canvas.service'; import {Subject} from 'rxjs'; import {ObGlobalEventsService} from '../../global-events/global-events.service'; +import {HighContrastMode, HighContrastModeDetector} from '@angular/cdk/a11y'; @Component({ selector: 'ob-master-layout', @@ -42,9 +44,10 @@ import {ObGlobalEventsService} from '../../global-events/global-events.service'; encapsulation: ViewEncapsulation.None, host: {class: 'ob-master-layout', 'ob-version': appVersion} }) -export class ObMasterLayoutComponent implements OnInit, DoCheck, AfterViewInit, OnDestroy { +export class ObMasterLayoutComponent implements OnInit, DoCheck, AfterViewInit, AfterContentChecked, OnDestroy { home = this.config.homePageRoute; route = {path: '', params: undefined}; + hasHighContrast = false; @Input() navigation: ObINavigationLink[] = []; @Input() skipLinks: ObISkipLink[] | ObIDynamicSkipLink[] = []; @HostBinding('class.ob-has-cover') hasCover = this.masterLayout.layout.hasCover; @@ -57,10 +60,10 @@ export class ObMasterLayoutComponent implements OnInit, DoCheck, AfterViewInit, isHeaderSticky = this.masterLayout.header.isSticky; isFooterSticky = this.masterLayout.footer.isSticky; scrollTarget: HTMLElement | Window; - @ContentChild('obHeaderLogo') readonly obLogo: TemplateRef; - @ContentChildren('obHeaderControl') readonly headerControlTemplates: QueryList>; - @ContentChildren('obHeaderMobileControl') readonly headerMobileControlTemplates: QueryList>; - @ContentChildren('obFooterLink') readonly footerLinkTemplates: QueryList>; + @ContentChild('obHeaderLogo') readonly obLogo: TemplateRef; + @ContentChildren('obHeaderControl') readonly headerControlTemplates: QueryList>; + @ContentChildren('obHeaderMobileControl') readonly headerMobileControlTemplates: QueryList>; + @ContentChildren('obFooterLink') readonly footerLinkTemplates: QueryList>; @ViewChild('offCanvasClose', {read: ElementRef}) readonly offCanvasClose: ElementRef; @ViewChild('main') readonly main: ElementRef; @ViewChild('wrapper') readonly wrapper: ElementRef; @@ -72,6 +75,7 @@ export class ObMasterLayoutComponent implements OnInit, DoCheck, AfterViewInit, private readonly globalEventsService = inject(ObGlobalEventsService); private readonly document = inject(DOCUMENT); private readonly window = inject(WINDOW); + private readonly highContrastModeDetector = inject(HighContrastModeDetector); constructor( private readonly masterLayout: ObMasterLayoutService, @@ -115,6 +119,10 @@ export class ObMasterLayoutComponent implements OnInit, DoCheck, AfterViewInit, } } + ngAfterContentChecked(): void { + this.hasHighContrast = this.isInHighContrastMode(); + } + ngAfterViewInit(): void { // to avoid a ExpressionHasBeenChangedAfterItHasBeenCheckedError setTimeout(() => (this.scrollTarget = this.getScrollTarget())); @@ -125,6 +133,11 @@ export class ObMasterLayoutComponent implements OnInit, DoCheck, AfterViewInit, this.unsubscribe.complete(); } + private isInHighContrastMode(): boolean { + const currentHighContrastMode: HighContrastMode = this.highContrastModeDetector.getHighContrastMode(); + return currentHighContrastMode === HighContrastMode.WHITE_ON_BLACK; + } + private getScrollTarget(): HTMLElement | Window { if (this.isHeaderSticky && this.isFooterSticky) { return this.main.nativeElement; diff --git a/projects/oblique/src/lib/nested-form/nested-form.component.ts b/projects/oblique/src/lib/nested-form/nested-form.component.ts index 756a64d0d..3f8840422 100644 --- a/projects/oblique/src/lib/nested-form/nested-form.component.ts +++ b/projects/oblique/src/lib/nested-form/nested-form.component.ts @@ -37,7 +37,7 @@ export class ObNestedFormComponent implements ControlValueAccessor, Validator, A this.parent.reset$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.nestedForm.reset()); } - registerOnChange(fn: any): void { + registerOnChange(fn: (value: unknown) => void): void { this.nestedForm.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(val => fn(val)); } diff --git a/projects/oblique/src/lib/service-navigation/service-navigation.service.ts b/projects/oblique/src/lib/service-navigation/service-navigation.service.ts index fd7040acf..e14f1c082 100644 --- a/projects/oblique/src/lib/service-navigation/service-navigation.service.ts +++ b/projects/oblique/src/lib/service-navigation/service-navigation.service.ts @@ -57,6 +57,9 @@ export class ObServiceNavigationService { } setPamsAppId(appId: string): void { + if (!appId) { + console.warn("Service-navigation requires an appId. Otherwise some stepup logins won't work"); + } this.pamsAppId$.next(appId); } @@ -77,9 +80,6 @@ export class ObServiceNavigationService { this.combineWithLanguage(), map(([url, lang]) => url.replace('', lang)), combineLatestWith(this.pamsAppId$), - tap(([, pamsAppId]) => { - if (!pamsAppId) console.warn("Service-navigation requires an appId. Otherwise some stepup logins won't work"); - }), map(([url, pamsAppId]) => (pamsAppId ? `${url}&appid=${pamsAppId}` : url)) ); } diff --git a/projects/oblique/src/lib/sticky/sticky.component.ts b/projects/oblique/src/lib/sticky/sticky.component.ts index 7b5275df0..4113f152b 100644 --- a/projects/oblique/src/lib/sticky/sticky.component.ts +++ b/projects/oblique/src/lib/sticky/sticky.component.ts @@ -28,9 +28,9 @@ import {WINDOW} from './../utilities'; imports: [NgIf, NgTemplateOutlet, NgClass, CdkScrollable] }) export class ObStickyComponent implements OnChanges, AfterViewInit { - @ContentChild('obStickyHeader') readonly stickyHeaderTemplate: TemplateRef; - @ContentChild('obStickyMain') readonly stickyMainTemplate: TemplateRef; - @ContentChild('obStickyFooter') readonly stickyFooterTemplate: TemplateRef; + @ContentChild('obStickyHeader') readonly stickyHeaderTemplate: TemplateRef; + @ContentChild('obStickyMain') readonly stickyMainTemplate: TemplateRef; + @ContentChild('obStickyFooter') readonly stickyFooterTemplate: TemplateRef; @Input() headerSize: string; @Input() footerSize: string; @Input() @HostBinding('class.ob-no-layout') noLayout = false; diff --git a/projects/oblique/src/lib/version.ts b/projects/oblique/src/lib/version.ts index 635e09a86..dbaf2981a 100644 --- a/projects/oblique/src/lib/version.ts +++ b/projects/oblique/src/lib/version.ts @@ -1 +1 @@ -export const appVersion = '11.1.2'; +export const appVersion = '11.1.3'; diff --git a/projects/oblique/src/styles/scss/material/_mat-stepper.scss b/projects/oblique/src/styles/scss/material/_mat-stepper.scss index 5cf56ed26..56ae946e8 100644 --- a/projects/oblique/src/styles/scss/material/_mat-stepper.scss +++ b/projects/oblique/src/styles/scss/material/_mat-stepper.scss @@ -2,43 +2,35 @@ @use "../core/variables"; mat-step-header.mat-step-header { - &:not([aria-disabled]) { - &:hover, - &:focus { - background-color: variables.$ob-secondary-50; + &[aria-disabled] { + &:hover { + cursor: not-allowed; } - &:active { - background-color: variables.$ob-secondary-100; + .mat-step-icon { + border-color: variables.$ob-secondary-300; + color: variables.$ob-secondary-300; } - } - - .mat-step-label { - color: variables.$ob-secondary-800; - font-size: variables.$ob-font-size-normal; - } - &[ng-reflect-state="error"] { .mat-step-label { color: variables.$ob-secondary-300; - font-size: variables.$ob-font-size-smaller; } } - &[ng-reflect-active="false"] { + &:not([aria-disabled]) { &:hover, &:focus { - cursor: not-allowed; + background-color: variables.$ob-secondary-50; } - .mat-step-icon { - border-color: variables.$ob-secondary-300; - color: variables.$ob-secondary-300; + &:active { + background-color: variables.$ob-secondary-100; } + } - .mat-step-label { - color: variables.$ob-secondary-300; - } + .mat-step-label { + color: variables.$ob-secondary-800; + font-size: variables.$ob-font-size-normal; } .mat-step-icon { diff --git a/projects/sds/src/app/cms/models/tabbed-page.model.ts b/projects/sds/src/app/cms/models/tabbed-page.model.ts index 0fefd9247..504cf5197 100644 --- a/projects/sds/src/app/cms/models/tabbed-page.model.ts +++ b/projects/sds/src/app/cms/models/tabbed-page.model.ts @@ -23,4 +23,5 @@ export interface CmsData { api: string; uiUx: string; source: Type | undefined; + tab: string; } diff --git a/projects/sds/src/app/code-examples/code-examples/error-messages/previews/reactive-form/error-messages-example-reactive-form-preview.component.html b/projects/sds/src/app/code-examples/code-examples/error-messages/previews/reactive-form/error-messages-example-reactive-form-preview.component.html index 7b2b1e4db..2de11b60d 100644 --- a/projects/sds/src/app/code-examples/code-examples/error-messages/previews/reactive-form/error-messages-example-reactive-form-preview.component.html +++ b/projects/sds/src/app/code-examples/code-examples/error-messages/previews/reactive-form/error-messages-example-reactive-form-preview.component.html @@ -1,7 +1,7 @@
Required field - +
diff --git a/projects/sds/src/app/code-examples/code-examples/error-messages/previews/reactive-form/error-messages-example-reactive-form-preview.component.ts b/projects/sds/src/app/code-examples/code-examples/error-messages/previews/reactive-form/error-messages-example-reactive-form-preview.component.ts index 378ebae16..9c6457172 100644 --- a/projects/sds/src/app/code-examples/code-examples/error-messages/previews/reactive-form/error-messages-example-reactive-form-preview.component.ts +++ b/projects/sds/src/app/code-examples/code-examples/error-messages/previews/reactive-form/error-messages-example-reactive-form-preview.component.ts @@ -16,7 +16,7 @@ export class ErrorMessagesExampleReactiveFormPreviewComponent { constructor() { this.form = this.formBuilder.group({ - control: [null, [Validators.required]] + control: [null, Validators.required] }); } } diff --git a/projects/sds/src/app/code-examples/code-examples/error-messages/previews/template-driven-form/error-messages-example-template-driven-form-preview.component.html b/projects/sds/src/app/code-examples/code-examples/error-messages/previews/template-driven-form/error-messages-example-template-driven-form-preview.component.html index 4b246f113..bf8723596 100644 --- a/projects/sds/src/app/code-examples/code-examples/error-messages/previews/template-driven-form/error-messages-example-template-driven-form-preview.component.html +++ b/projects/sds/src/app/code-examples/code-examples/error-messages/previews/template-driven-form/error-messages-example-template-driven-form-preview.component.html @@ -1,7 +1,7 @@
Required field - +
diff --git a/projects/sds/src/app/tabbed-page/tabbed-page.component.html b/projects/sds/src/app/tabbed-page/tabbed-page.component.html index 13ceafd20..6562e21bc 100644 --- a/projects/sds/src/app/tabbed-page/tabbed-page.component.html +++ b/projects/sds/src/app/tabbed-page/tabbed-page.component.html @@ -1,6 +1,6 @@ @if (cmsData$ | async; as cmsData) {

{{ cmsData.title }}

- + diff --git a/projects/sds/src/app/tabbed-page/tabbed-page.component.ts b/projects/sds/src/app/tabbed-page/tabbed-page.component.ts index 1ef99e106..2c6287c27 100644 --- a/projects/sds/src/app/tabbed-page/tabbed-page.component.ts +++ b/projects/sds/src/app/tabbed-page/tabbed-page.component.ts @@ -24,16 +24,15 @@ import {TabNameMapper} from './utils/tab-name-mapper'; export class TabbedPageComponent { readonly componentId = 'tabbed-page'; readonly cmsData$: Observable; - readonly selectedTab: string; private readonly activatedRoute = inject(ActivatedRoute); private readonly cmsDataService = inject(CmsDataService); private readonly router = inject(Router); private readonly slugToIdService = inject(SlugToIdService); private readonly location = inject(Location); + private isNull = true; constructor() { this.cmsData$ = this.buildCmsDataObservable(); - this.selectedTab = TabNameMapper.getTabNameFromUrlParam(this.activatedRoute.snapshot.paramMap.get(URL_CONST.urlParams.selectedTab)); } handleTabChanged(tabName: string): void { @@ -73,7 +72,24 @@ export class TabbedPageComponent { title: cmsData.name, api: cmsData.api, uiUx: cmsData.ui_ux, - source: CodeExamplesMapper.getCodeExampleComponent(cmsData.slug) + source: CodeExamplesMapper.getCodeExampleComponent(cmsData.slug), + tab: this.getSelectedTab() }; } + + private getSelectedTab(): string { + // the selected tab is reevaluated each time the URL changes and is passed to the child component as input. Unfortunately, when the URL + // changes but the selected tab remains "undefined", there is no change to the input value and the child component isn't reevaluated. + // to circumvent this problem, "undefined" is converted to "null" every other times so that the input has a new value each time the URL + // changes + return ( + TabNameMapper.getTabNameFromUrlParam(this.activatedRoute.snapshot.paramMap.get(URL_CONST.urlParams.selectedTab)) || + this.toggleBetweenNullAndUndefined() + ); + } + + private toggleBetweenNullAndUndefined(): null | undefined { + this.isNull = !this.isNull; + return this.isNull ? null : undefined; + } } diff --git a/projects/sds/src/obliqueVersion.ts b/projects/sds/src/obliqueVersion.ts index c62f3ac37..91c8f7f70 100644 --- a/projects/sds/src/obliqueVersion.ts +++ b/projects/sds/src/obliqueVersion.ts @@ -1 +1 @@ -export const latest = '11.1.2'; +export const latest = '11.1.3'; diff --git a/projects/service-navigation-web-component/package.json b/projects/service-navigation-web-component/package.json index aa7c270f0..1b0c21bc9 100644 --- a/projects/service-navigation-web-component/package.json +++ b/projects/service-navigation-web-component/package.json @@ -16,6 +16,6 @@ "service-navigation-web-component" ], "dependencies": { - "@angular/elements": "^17.3.9" + "@angular/elements": "^17.3.10" } }