diff --git a/package-lock.json b/package-lock.json index ba9aeec130..b6634cdc3c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -110,9 +110,9 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", - "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.1.tgz", + "integrity": "sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==", "dev": true, "license": "MIT" }, @@ -137,13 +137,14 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1802.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.9.tgz", - "integrity": "sha512-fubJf4WC/t3ITy+tyjI4/CKKwUP4XJTmV+Y0nyPcrkcthVyUcIpZB74NlUOvg6WECiPQuIc+CtoAaA9X5+RQ5Q==", + "version": "0.1900.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.1.tgz", + "integrity": "sha512-4SONLz5lzuNINz5DAaZlQLhBasLqEiDKMH+YHYgYE2N3ImfuYj9urgfdRnfarPInQslCE9OzahOQslVzoQxJhg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@angular-devkit/core": "18.2.9", + "@angular-devkit/core": "19.0.1", "rxjs": "7.8.1" }, "engines": { @@ -152,18 +153,47 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.1.tgz", + "integrity": "sha512-oXIAV3hXqUW3Pmm95pvEmb+24n1cKQG62FzhQSjOIrMeHiCbGLNuc8zHosIi2oMrcCJJxR6KzWjThvbuzDwWlw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, "node_modules/@angular-devkit/build-angular": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.9.tgz", - "integrity": "sha512-d4W6t9vBozFUmOP2VvihMcSg/zgr3AvJY6/b7OPuATlK+W3P6tmsqxGIQ6eKc1TxXeu3lWhi14mV2pPykfrwfA==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.12.tgz", + "integrity": "sha512-quVUi7eqTq9OHumQFNl9Y8t2opm8miu4rlYnuF6rbujmmBDvdUvR6trFChueRczl2p5HWqTOr6NPoDGQm8AyNw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.9", - "@angular-devkit/build-webpack": "0.1802.9", - "@angular-devkit/core": "18.2.9", - "@angular/build": "18.2.9", + "@angular-devkit/architect": "0.1802.12", + "@angular-devkit/build-webpack": "0.1802.12", + "@angular-devkit/core": "18.2.12", + "@angular/build": "18.2.12", "@babel/core": "7.25.2", "@babel/generator": "7.25.0", "@babel/helper-annotate-as-pure": "7.24.7", @@ -174,7 +204,7 @@ "@babel/preset-env": "7.25.3", "@babel/runtime": "7.25.0", "@discoveryjs/json-ext": "0.6.1", - "@ngtools/webpack": "18.2.9", + "@ngtools/webpack": "18.2.12", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", @@ -185,7 +215,7 @@ "css-loader": "7.1.2", "esbuild-wasm": "0.23.0", "fast-glob": "3.3.2", - "http-proxy-middleware": "3.0.0", + "http-proxy-middleware": "3.0.3", "https-proxy-agent": "7.0.5", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", @@ -281,6 +311,22 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { + "version": "0.1802.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.12.tgz", + "integrity": "sha512-bepVb2/GtJppYKaeW8yTGE6egmoWZ7zagFDsmBdbF+BYp+HmeoPsclARcdryBPVq68zedyTRdvhWSUTbw1AYuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "18.2.12", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { "version": "7.25.2", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", @@ -486,13 +532,13 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1802.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.9.tgz", - "integrity": "sha512-p7xNGo5ZTV/Z0Rk+q2/E68QQLw9VT33kauDh6s010jIeBLrOwMo74JpzXMSFttQo5O4bLKP8IORzIM+0q7Uzjg==", + "version": "0.1802.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.12.tgz", + "integrity": "sha512-0Z3fdbZVRnjYWE2/VYyfy+uieY+6YZyEp4ylzklVkc+fmLNsnz4Zw6cK1LzzcBqAwKIyh1IdW20Cg7o8b0sONA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1802.9", + "@angular-devkit/architect": "0.1802.12", "rxjs": "7.8.1" }, "engines": { @@ -505,10 +551,26 @@ "webpack-dev-server": "^5.0.2" } }, + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { + "version": "0.1802.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.12.tgz", + "integrity": "sha512-bepVb2/GtJppYKaeW8yTGE6egmoWZ7zagFDsmBdbF+BYp+HmeoPsclARcdryBPVq68zedyTRdvhWSUTbw1AYuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "18.2.12", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, "node_modules/@angular-devkit/core": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.9.tgz", - "integrity": "sha512-bsVt//5E0ua7FZfO0dCF/qGGY6KQD34/bNGyRu5B6HedimpdU2/0PGDptksU5v3yKEc9gNw0xC6mT0UsY/R9pA==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.12.tgz", + "integrity": "sha512-NtB6ypsaDyPE6/fqWOdfTmACs+yK5RqfH5tStEzWFeeDsIEDYKsJ06ypuRep7qTjYus5Rmttk0Ds+cFgz8JdUQ==", "dev": true, "license": "MIT", "dependencies": { @@ -534,13 +596,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.9.tgz", - "integrity": "sha512-aIY5/IomDOINGCtFYi77uo0acDpdQNNCighfBBUGEBNMQ1eE3oGNGpLAH/qWeuxJndgmxrdKsvws9DdT46kLig==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.12.tgz", + "integrity": "sha512-mMea9txHbnCX5lXLHlo0RAgfhFHDio45/jMsREM2PA8UtVf2S8ltXz7ZwUrUyMQRv8vaSfn4ijDstF4hDMnRgQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.9", + "@angular-devkit/core": "18.2.12", "jsonc-parser": "3.3.1", "magic-string": "0.30.11", "ora": "5.4.1", @@ -553,9 +615,9 @@ } }, "node_modules/@angular-eslint/builder": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.4.0.tgz", - "integrity": "sha512-FOzGHX/nHSV1wSduSsabsx3aqC1nfde0opEpEDSOJhxExDxKCwoS1XPy1aERGyKip4ZVA6phC3dLtoBH3QMkVQ==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.4.2.tgz", + "integrity": "sha512-eyI9sreaM9ukA24PCJoSqsjCYOiBf3TZ/Q1WY8PG0SwQWc03qJNqPl5K+/Ptmsc1RtoDCLCU6uaOBFPhb9lDxw==", "dev": true, "license": "MIT", "peerDependencies": { @@ -564,21 +626,21 @@ } }, "node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.4.0.tgz", - "integrity": "sha512-HlFHt2qgdd+jqyVIkCXmrjHauXo/XY3Rp0UNabk83ejGi/raM/6lEFI7iFWzHxLyiAKk4OgGI5W26giSQw991A==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.4.2.tgz", + "integrity": "sha512-K7pqmZI3Dl75zlLexyaM7bw4xdgk/3bhP1B6uqDKML9+vIIvccCR2bGvqFurqeFbJlMykzb3H4jytT+HpqV4tg==", "dev": true, "license": "MIT" }, "node_modules/@angular-eslint/eslint-plugin": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.4.0.tgz", - "integrity": "sha512-Saz9lkWPN3da7ZKW17UsOSN7DeY+TPh+wz/6GCNZCh67Uw2wvMC9agb+4hgpZNXYCP5+u7erqzxQmBoWnS/A+A==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.4.2.tgz", + "integrity": "sha512-Oem4W2P54cPADN9rJenLj90rqDPUQWx5kZiz84FCnsSn5DBdsI5LGQoogNT9y3Jx/9VL/VGIMMA5B6qG+0hVlg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", - "@angular-eslint/utils": "18.4.0" + "@angular-eslint/bundled-angular-compiler": "18.4.2", + "@angular-eslint/utils": "18.4.2" }, "peerDependencies": { "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", @@ -587,14 +649,14 @@ } }, "node_modules/@angular-eslint/eslint-plugin-template": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.4.0.tgz", - "integrity": "sha512-n3uZFCy76DnggPqjSVFV3gYD1ik7jCG28o2/HO4kobcMNKnwW8XAlFUagQ4TipNQh7fQiAefsEqvv2quMsYDVw==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.4.2.tgz", + "integrity": "sha512-v9msmIdZK6lOEC4ScDeYKFLpszpJ5Ei+8ifkT7fXXKmPaWtPJtMbW+VGOUNm5Ezi+xByAGCn1qU+OF2aJ/4CLw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", - "@angular-eslint/utils": "18.4.0", + "@angular-eslint/bundled-angular-compiler": "18.4.2", + "@angular-eslint/utils": "18.4.2", "aria-query": "5.3.2", "axobject-query": "4.1.0" }, @@ -606,15 +668,15 @@ } }, "node_modules/@angular-eslint/schematics": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.4.0.tgz", - "integrity": "sha512-ssqe+0YCfekbWIXNdCrHfoPK/bPZAWybs0Bn/b99dfd8h8uyXkERo9AzIOx4Uyj/08SkP9aPL/0uOOEHDsRGwQ==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.4.2.tgz", + "integrity": "sha512-pZCc3NhfwRT5S0DGXTzKbl3dD4I8K4LRYot+Aq4rzY5LtiGHDSi4PKu2M0OBSRrQFQXq7/2gDXGO0AvH6LX97w==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/eslint-plugin": "18.4.0", - "@angular-eslint/eslint-plugin-template": "18.4.0", - "ignore": "5.3.2", + "@angular-eslint/eslint-plugin": "18.4.2", + "@angular-eslint/eslint-plugin-template": "18.4.2", + "ignore": "6.0.2", "semver": "7.6.3", "strip-json-comments": "3.1.1" }, @@ -624,13 +686,13 @@ } }, "node_modules/@angular-eslint/template-parser": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.4.0.tgz", - "integrity": "sha512-VTep3Xd3IOaRIPL+JN/TV4/2DqUPbjtF3TNY15diD/llnrEhqFnmsvMihexbQyTqzOG+zU554oK44YfvAtHOrw==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.4.2.tgz", + "integrity": "sha512-KGjDLUxMsdjaxC+8VTxCG07Q6qshOTWMYTvp2LZ4QBySDQnQuFwsIJIJfU8jJwzJCkPKfVpnyuHggAn7fdYnxA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", + "@angular-eslint/bundled-angular-compiler": "18.4.2", "eslint-scope": "^8.0.2" }, "peerDependencies": { @@ -639,13 +701,13 @@ } }, "node_modules/@angular-eslint/utils": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.4.0.tgz", - "integrity": "sha512-At1yS8GRviGBoaupiQwEOL4/IcZJCE/+2vpXdItMWPGB1HWetxlKAUZTMmIBX/r5Z7CoXxl+LbqpGhrhyzIQAg==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.4.2.tgz", + "integrity": "sha512-+c0r33QSkAnGmu/DYAPfzJJk5QDX4TP2d6EFtsenrufqRkZqrOcK4Q5t61J92Ukkr03XoqTzTDSBjlwAfM56Rw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0" + "@angular-eslint/bundled-angular-compiler": "18.4.2" }, "peerDependencies": { "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", @@ -654,9 +716,9 @@ } }, "node_modules/@angular/animations": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.8.tgz", - "integrity": "sha512-dMSn2hg70siv3lhP+vqhMbgc923xw6XBUvnpCPEzhZqFHvPXfh/LubmsD5RtqHmjWebXtgVcgS+zg3Gq3jB2lg==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.12.tgz", + "integrity": "sha512-XcWH/VFQ1Rddhdqi/iU8lW3Qg96yVx1NPfrO5lhcSSvVUzYWTZ5r+jh3GqYqUgPWyEp1Kpw3FLsOgVcGcBWQkQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -665,18 +727,18 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.8" + "@angular/core": "18.2.12" } }, "node_modules/@angular/build": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.9.tgz", - "integrity": "sha512-o1hOEM2e6ARy+ck2Pohl0d/RFgbbXTw6/hTLAj3CBKjtqAGStRaVF2UlJjhi+xOxlfsOPuJJc9IpzLBteku+Ag==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.12.tgz", + "integrity": "sha512-4Ohz+OSILoL+cCAQ4UTiCT5v6pctu3fXNoNpTEUK46OmxELk9jDITO5rNyNS7TxBn9wY69kjX5VcDf7MenquFQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.9", + "@angular-devkit/architect": "0.1802.12", "@babel/core": "7.25.2", "@babel/helper-annotate-as-pure": "7.24.7", "@babel/helper-split-export-declaration": "7.24.7", @@ -737,6 +799,22 @@ } } }, + "node_modules/@angular/build/node_modules/@angular-devkit/architect": { + "version": "0.1802.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.12.tgz", + "integrity": "sha512-bepVb2/GtJppYKaeW8yTGE6egmoWZ7zagFDsmBdbF+BYp+HmeoPsclARcdryBPVq68zedyTRdvhWSUTbw1AYuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "18.2.12", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, "node_modules/@angular/build/node_modules/@babel/core": { "version": "7.25.2", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", @@ -786,9 +864,9 @@ "license": "MIT" }, "node_modules/@angular/cdk": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.9.tgz", - "integrity": "sha512-hV2dXpvy2TLwCsRtI/ZXkb2EoaJiellRr+kbcnKwO15LFoz3mTAOhKtsvu7yOyURkaPiI605qiIZrPP4zLL1qw==", + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.14.tgz", + "integrity": "sha512-vDyOh1lwjfVk9OqoroZAP8pf3xxKUvyl+TVR8nJxL4c5fOfUFkD7l94HaanqKSRwJcI2xiztuu92IVoHn8T33Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -803,18 +881,18 @@ } }, "node_modules/@angular/cli": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.9.tgz", - "integrity": "sha512-ejTIqwvPABwK7MtVmI2qWbEaMhhbHNsq0NPzl1hwLtkrLbjdDrEVv0Wy+gN0xqrT9NyCPl4AmNLz/xuYTzgU5g==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.12.tgz", + "integrity": "sha512-xhuZ/b7IhqNw1MgXf+arWf4x+GfUSt/IwbdWU4+CO8A7h0Y46zQywouP/KUK3cMQZfVdHdciTBvlpF3vFacA6Q==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1802.9", - "@angular-devkit/core": "18.2.9", - "@angular-devkit/schematics": "18.2.9", + "@angular-devkit/architect": "0.1802.12", + "@angular-devkit/core": "18.2.12", + "@angular-devkit/schematics": "18.2.12", "@inquirer/prompts": "5.3.8", "@listr2/prompt-adapter-inquirer": "2.0.15", - "@schematics/angular": "18.2.9", + "@schematics/angular": "18.2.12", "@yarnpkg/lockfile": "1.1.0", "ini": "4.1.3", "jsonc-parser": "3.3.1", @@ -836,10 +914,26 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { + "version": "0.1802.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.12.tgz", + "integrity": "sha512-bepVb2/GtJppYKaeW8yTGE6egmoWZ7zagFDsmBdbF+BYp+HmeoPsclARcdryBPVq68zedyTRdvhWSUTbw1AYuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "18.2.12", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, "node_modules/@angular/common": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.8.tgz", - "integrity": "sha512-TYsKtE5nVaIScWSLGSO34Skc+s3hB/BujSddnfQHoNFvPT/WR0dfmdlpVCTeLj+f50htFoMhW11tW99PbK+whQ==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.12.tgz", + "integrity": "sha512-gI5o8Bccsi8ow8Wk2vG4Tw/Rw9LoHEA9j8+qHKNR/55SCBsz68Syg310dSyxy+sApJO2WiqIadr5VP36dlSUFw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -848,14 +942,14 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.8", + "@angular/core": "18.2.12", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.8.tgz", - "integrity": "sha512-JRedHNfK1CCPVyeGQB5w3WBYqMA6X8Q240CkvjlGfn0pVXihf9DWk3nkSQJVgYxpvpHfxdgjaYZ5IpMzlkmkhw==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.12.tgz", + "integrity": "sha512-D5d5dLrjQal5DbAXJJNSsCC3UxzjOI2wbc+Iv+LOpRM1gpNwuYfZMX5W7cj62Ce4G2++78CJSppdKBp8D4HErQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -864,7 +958,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.8" + "@angular/core": "18.2.12" }, "peerDependenciesMeta": { "@angular/core": { @@ -873,9 +967,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.8.tgz", - "integrity": "sha512-OksDE4LWQUCcIvMjtZF7eiDCdIMrcMMpC1+Q0PIYi7KmnqXFGs4/Y0NdJvtn/LrQznzz5WaKM3ZDVNZTRX4wmw==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.12.tgz", + "integrity": "sha512-IWimTNq5Q+i2Wxev6HLqnN4iYbPvLz04W1BBycT1LfGUsHcjFYLuUqbeUzHbk2snmBAzXkixgVpo8SF6P4Y5Pg==", "license": "MIT", "dependencies": { "@babel/core": "7.25.2", @@ -896,7 +990,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "18.2.8", + "@angular/compiler": "18.2.12", "typescript": ">=5.4 <5.6" } }, @@ -946,9 +1040,9 @@ } }, "node_modules/@angular/core": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.8.tgz", - "integrity": "sha512-NwIuX/Iby1jT6Iv1/s6S3wOFf8xfuQR3MPGvKhGgNtjXLbHG+TXceK9+QPZC0s9/Z8JR/hz+li34B79GrIKgUg==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.12.tgz", + "integrity": "sha512-wCf/OObwS6bpM60rk6bpMpCRGp0DlMLB1WNAMtfcaPNyqimVV5Bm98mWRhkOuRyvU3fU7iHhM/10ePVaoyu9+A==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -962,9 +1056,9 @@ } }, "node_modules/@angular/forms": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.8.tgz", - "integrity": "sha512-JCLki7KC6D5vF6dE6yGlBmW33khIgpHs8N9SzuiJtkQqNDTIQA8cPsGV6qpLpxflxASynQOX5lDkWYdQyfm77Q==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.12.tgz", + "integrity": "sha512-FsukBJEU6jfAmht7TrODTkct/o4iwCZvGozuThOp0tYUPD/E1rZZzuKjEyTnT5Azpfkf0Wqx1nmpz80cczELOQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -973,16 +1067,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.8", - "@angular/core": "18.2.8", - "@angular/platform-browser": "18.2.8", + "@angular/common": "18.2.12", + "@angular/core": "18.2.12", + "@angular/platform-browser": "18.2.12", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/localize": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-18.2.8.tgz", - "integrity": "sha512-1T7aXEdgVyeYnHOfQUuIDO8Lsamg1ZLrJrA5zUv61asPJp6HCcMjXy9vDQ1XvHm5+CdDjKk/rczlN4lSMZ0QRw==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-18.2.12.tgz", + "integrity": "sha512-qC3cYFh3miR9revmHGlfbGvugcsK6nQud4QKBNyTUp1XZRrEE0yzPvvsnmbv2lHUOazrvTxQpfVZZKpiifgoLw==", "license": "MIT", "dependencies": { "@babel/core": "7.25.2", @@ -999,8 +1093,8 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "18.2.8", - "@angular/compiler-cli": "18.2.8" + "@angular/compiler": "18.2.12", + "@angular/compiler-cli": "18.2.12" } }, "node_modules/@angular/localize/node_modules/@babel/core": { @@ -1049,16 +1143,16 @@ } }, "node_modules/@angular/material": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.9.tgz", - "integrity": "sha512-M2oCgPPIMMd6BLgEJCD+FvdC7gRDeCjj9yktNn3ctHmkKUWRvpJ3xRBH/WjVXb+9fPCCW1iNwZI7+bN1fHE7cA==", + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.14.tgz", + "integrity": "sha512-28pxzJP49Mymt664WnCtPkKeg7kXUsQKTKGf/Kl95rNTEdTJLbnlcc8wV0rT0yQNR7kXgpfBnG7h0ETLv/iu5Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "^18.0.0 || ^19.0.0", - "@angular/cdk": "18.2.9", + "@angular/cdk": "18.2.14", "@angular/common": "^18.0.0 || ^19.0.0", "@angular/core": "^18.0.0 || ^19.0.0", "@angular/forms": "^18.0.0 || ^19.0.0", @@ -1067,23 +1161,23 @@ } }, "node_modules/@angular/material-moment-adapter": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-18.2.9.tgz", - "integrity": "sha512-GjvqMoVcPPP1xpqMPSKEL1eSSfG2omULTdYnN3xFUroKmo8ZPS9+rgcbIi3At3ErnWctayEB0BUycoZwYtwg2A==", + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-18.2.14.tgz", + "integrity": "sha512-igICm+qQl/KeglU4LcCHgSaaoJR6RUlDzpCs2+kfLSnsvAy5Z0ZauW3pbIsCEIDb0zknBqos9d8x+pXg/bncCQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/core": "^18.0.0 || ^19.0.0", - "@angular/material": "18.2.9", + "@angular/material": "18.2.14", "moment": "^2.18.1" } }, "node_modules/@angular/platform-browser": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.8.tgz", - "integrity": "sha512-EPai4ZPqSq3ilLJUC85kPi9wo5j5suQovwtgRyjM/75D9Qy4TV19g8hkVM5Co/zrltO8a2G6vDscCNI5BeGw2A==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.12.tgz", + "integrity": "sha512-DRSMznuxuecrs+v5BRyd60/R4vjkQtuYUEPfzdo+rqxM83Dmr3PGtnqPRgd5oAFUbATxf02hQXijRD27K7rZRg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1092,9 +1186,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "18.2.8", - "@angular/common": "18.2.8", - "@angular/core": "18.2.8" + "@angular/animations": "18.2.12", + "@angular/common": "18.2.12", + "@angular/core": "18.2.12" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1103,9 +1197,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.8.tgz", - "integrity": "sha512-poZoapDqyN/rxGKQ3C6esdPiPLMkSpP2v12hoEa12KHgfPk7T1e+a+NMyJjV8HeOY3WyvL7tGRhW0NPTajTkhw==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.12.tgz", + "integrity": "sha512-dv1QEjYpcFno6+oUeGEDRWpB5g2Ufb0XkUbLJQIgrOk1Qbyzb8tmpDpTjok8jcKdquigMRWolr6Y1EOicfRlLw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1114,16 +1208,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.8", - "@angular/compiler": "18.2.8", - "@angular/core": "18.2.8", - "@angular/platform-browser": "18.2.8" + "@angular/common": "18.2.12", + "@angular/compiler": "18.2.12", + "@angular/core": "18.2.12", + "@angular/platform-browser": "18.2.12" } }, "node_modules/@angular/router": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.8.tgz", - "integrity": "sha512-L+olYgxIiBq+tbfayVI0cv1yOuymsw33msnGC2l/vpc9sSVfqGzESFnB4yMVU3vHtE9v6v2Y6O+iV44/b79W/g==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.12.tgz", + "integrity": "sha512-cz/1YWOZadAT35PPPYmpK3HSzKOE56nlUHue5bFkw73VSZr2iBn03ALLpd9YKzWgRmx3y7DqnlQtCkDu9JPGKQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1132,16 +1226,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.8", - "@angular/core": "18.2.8", - "@angular/platform-browser": "18.2.8", + "@angular/common": "18.2.12", + "@angular/core": "18.2.12", + "@angular/platform-browser": "18.2.12", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/service-worker": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-18.2.8.tgz", - "integrity": "sha512-LQktgS2Hn845ASWNyjde18V+CHkkPeCzORfh0ChYKiOmXYFtj/myEik5o/QI/G13Kaymy+vcuwQKiUuZjZiD1w==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-18.2.12.tgz", + "integrity": "sha512-rgztA+Eduo69y6cvSDtAXC5lMTWjgowSSreiyM4ssyjwd8vD6h2TZp/3slr8Tt6+Lh9J4bK+UdcqMIjIdDxwSw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1153,8 +1247,8 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.8", - "@angular/core": "18.2.8" + "@angular/common": "18.2.12", + "@angular/core": "18.2.12" } }, "node_modules/@antfu/install-pkg": { @@ -1188,12 +1282,13 @@ "license": "MIT" }, "node_modules/@babel/code-frame": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "license": "MIT", "dependencies": { - "@babel/highlight": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -1201,30 +1296,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz", - "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", - "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helpers": "^7.25.7", - "@babel/parser": "^7.25.8", - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.8", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -1240,12 +1335,13 @@ } }, "node_modules/@babel/core/node_modules/@babel/generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7", + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -1310,27 +1406,27 @@ } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz", - "integrity": "sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", + "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", - "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -1349,18 +1445,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz", - "integrity": "sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/traverse": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", "semver": "^6.3.1" }, "engines": { @@ -1371,13 +1467,13 @@ } }, "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", - "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1394,13 +1490,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz", - "integrity": "sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", + "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.25.9", "regexpu-core": "^6.1.1", "semver": "^6.3.1" }, @@ -1412,13 +1508,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", - "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1435,9 +1531,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", "dev": true, "license": "MIT", "dependencies": { @@ -1452,42 +1548,41 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz", - "integrity": "sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", - "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", - "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1497,22 +1592,22 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz", - "integrity": "sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", "dev": true, "license": "MIT", "engines": { @@ -1520,15 +1615,15 @@ } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz", - "integrity": "sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-wrap-function": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1538,28 +1633,28 @@ } }, "node_modules/@babel/helper-remap-async-to-generator/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", - "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz", - "integrity": "sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1569,27 +1664,28 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", - "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", + "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", + "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz", - "integrity": "sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1609,82 +1705,67 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", - "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz", - "integrity": "sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", - "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", - "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", "license": "MIT", "dependencies": { - "@babel/types": "^7.25.8" + "@babel/types": "^7.26.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -1694,14 +1775,14 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz", - "integrity": "sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1711,13 +1792,13 @@ } }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz", - "integrity": "sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1727,13 +1808,13 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz", - "integrity": "sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1743,15 +1824,15 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz", - "integrity": "sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-transform-optional-chaining": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1761,14 +1842,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz", - "integrity": "sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1859,13 +1940,13 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz", - "integrity": "sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2044,13 +2125,13 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz", - "integrity": "sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2097,13 +2178,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz", - "integrity": "sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", + "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2113,13 +2194,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz", - "integrity": "sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2129,14 +2210,14 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz", - "integrity": "sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2146,14 +2227,14 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.8.tgz", - "integrity": "sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2163,17 +2244,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz", - "integrity": "sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/traverse": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", "globals": "^11.1.0" }, "engines": { @@ -2184,27 +2265,27 @@ } }, "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", - "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz", - "integrity": "sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/template": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2214,13 +2295,13 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz", - "integrity": "sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2230,14 +2311,14 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz", - "integrity": "sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2247,13 +2328,13 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz", - "integrity": "sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2263,14 +2344,14 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2280,13 +2361,13 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.8.tgz", - "integrity": "sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2296,14 +2377,14 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz", - "integrity": "sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", + "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2313,13 +2394,13 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.8.tgz", - "integrity": "sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2329,14 +2410,14 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz", - "integrity": "sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2346,15 +2427,15 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz", - "integrity": "sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2364,13 +2445,13 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.8.tgz", - "integrity": "sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2380,13 +2461,13 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz", - "integrity": "sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2396,13 +2477,13 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.8.tgz", - "integrity": "sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2412,13 +2493,13 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz", - "integrity": "sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2428,14 +2509,14 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz", - "integrity": "sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2445,15 +2526,15 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz", - "integrity": "sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", + "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2463,16 +2544,16 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz", - "integrity": "sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2482,14 +2563,14 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz", - "integrity": "sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2499,14 +2580,14 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2516,13 +2597,13 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz", - "integrity": "sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2532,13 +2613,13 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.8.tgz", - "integrity": "sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", + "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2548,13 +2629,13 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.8.tgz", - "integrity": "sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2564,15 +2645,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.8.tgz", - "integrity": "sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-transform-parameters": "^7.25.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2582,14 +2663,14 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz", - "integrity": "sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2599,13 +2680,13 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.8.tgz", - "integrity": "sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2615,14 +2696,14 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.8.tgz", - "integrity": "sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2632,13 +2713,13 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz", - "integrity": "sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2648,14 +2729,14 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz", - "integrity": "sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2665,15 +2746,15 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.8.tgz", - "integrity": "sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2683,26 +2764,26 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", - "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz", - "integrity": "sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2712,13 +2793,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz", - "integrity": "sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.9", "regenerator-transform": "^0.15.2" }, "engines": { @@ -2729,13 +2810,13 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz", - "integrity": "sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2776,13 +2857,13 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz", - "integrity": "sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2792,14 +2873,14 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz", - "integrity": "sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2809,13 +2890,13 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz", - "integrity": "sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2825,13 +2906,13 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz", - "integrity": "sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2841,13 +2922,13 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz", - "integrity": "sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2857,13 +2938,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz", - "integrity": "sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2873,14 +2954,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz", - "integrity": "sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2890,14 +2971,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz", - "integrity": "sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2907,14 +2988,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz", - "integrity": "sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -3060,30 +3141,30 @@ } }, "node_modules/@babel/template": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", - "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", - "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -3092,12 +3173,13 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7", + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -3119,14 +3201,13 @@ } }, "node_modules/@babel/types": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", - "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -3140,9 +3221,9 @@ "optional": true }, "node_modules/@casl/ability": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/@casl/ability/-/ability-6.7.1.tgz", - "integrity": "sha512-e+Vgrehd1/lzOSwSqKHtmJ6kmIuZbGBlM2LBS5IuYGGKmVHuhUuyh3XgTn1VIw9+TO4gqU+uptvxfIRBUEdJuw==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@casl/ability/-/ability-6.7.2.tgz", + "integrity": "sha512-KjKXlcjKbUz8dKw7PY56F7qlfOFgxTU6tnlJ8YrbDyWkJMIlHa6VRWzCD8RU20zbJUC1hExhOFggZjm6tf1mUw==", "license": "MIT", "dependencies": { "@ucast/mongo2js": "^1.3.0" @@ -3319,14 +3400,72 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@compodoc/compodoc/node_modules/@babel/core": { + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", + "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helpers": "^7.25.7", + "@babel/parser": "^7.25.8", + "@babel/template": "^7.25.7", + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.8", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@compodoc/compodoc/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@compodoc/compodoc/node_modules/@babel/generator": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@compodoc/compodoc/node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", - "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -3336,15 +3475,15 @@ } }, "node_modules/@compodoc/compodoc/node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.8.tgz", - "integrity": "sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -3354,15 +3493,32 @@ } }, "node_modules/@compodoc/compodoc/node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@compodoc/compodoc/node_modules/@babel/plugin-transform-private-methods": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz", - "integrity": "sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz", + "integrity": "sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -3464,6 +3620,26 @@ "semver": "bin/semver.js" } }, + "node_modules/@compodoc/compodoc/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@compodoc/compodoc/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/@compodoc/compodoc/node_modules/marked": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/marked/-/marked-7.0.3.tgz", @@ -3619,9 +3795,9 @@ } }, "node_modules/@cypress/request": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.5.tgz", - "integrity": "sha512-v+XHd9XmWbufxF1/bTaVm2yhbxY+TB4YtWRqF2zaXBlDNMkls34KiATz0AVDLavL3iB6bQk9/7n3oY1EoLSWGA==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.6.tgz", + "integrity": "sha512-fi0eVdCOtKu5Ed6+E8mYxUF6ZTFJDZvHogCBelM0xVXmrDEkyM22gRArQzq1YcHPm1V47Vf/iAD+WgVdUlJCGg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -3640,7 +3816,7 @@ "performance-now": "^2.1.0", "qs": "6.13.0", "safe-buffer": "^5.1.2", - "tough-cookie": "^4.1.3", + "tough-cookie": "^5.0.0", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" }, @@ -4133,25 +4309,28 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", - "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "license": "MIT", "engines": { @@ -4226,6 +4405,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -4299,45 +4488,45 @@ } }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", - "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.1.tgz", + "integrity": "sha512-gbDz3TwRrIPT3i0cDfujhshnXO9z03IT1UKRIVi/VEjpNHtSBIP2o5XSm+e816FzzCFEzAxPw09Z13n20PaQJQ==", "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", - "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.1.tgz", + "integrity": "sha512-8dBIHbfsKlCk2jHQ9PoRBg2Z+4TwyE3vZICSnoDlnsHA6SiMlTwfmW6yX0lHsRmWJugkeb92sA0hZdkXJhuz+g==", "license": "MIT", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.6.0" + "@fortawesome/fontawesome-common-types": "6.7.1" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-regular-svg-icons": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.6.0.tgz", - "integrity": "sha512-Yv9hDzL4aI73BEwSEh20clrY8q/uLxawaQ98lekBx6t9dQKDHcDzzV1p2YtBGTtolYtNqcWdniOnhzB+JPnQEQ==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.7.1.tgz", + "integrity": "sha512-e13cp+bAx716RZOTQ59DhqikAgETA9u1qTBHO3e3jMQQ+4H/N1NC1ZVeFYt1V0m+Th68BrEL1/X6XplISutbXg==", "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.6.0" + "@fortawesome/fontawesome-common-types": "6.7.1" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", - "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.7.1.tgz", + "integrity": "sha512-BTKc0b0mgjWZ2UDKVgmwaE0qt0cZs6ITcDgjrti5f/ki7aF5zs+N91V6hitGo3TItCFtnKg6cUVGdTmBFICFRg==", "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.6.0" + "@fortawesome/fontawesome-common-types": "6.7.1" }, "engines": { "node": ">=6" @@ -4527,9 +4716,9 @@ } }, "node_modules/@inquirer/figures": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.7.tgz", - "integrity": "sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.8.tgz", + "integrity": "sha512-tKd+jsmhq21AP1LhexC0pPwsCxEhGgAkg28byjJAd+xhmIs8LUX8JbUc3vBf3PhLxWiB5EvyBE5X7JSPAqMAqg==", "dev": true, "license": "MIT", "engines": { @@ -5123,9 +5312,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.9.tgz", - "integrity": "sha512-/apDvs4qevjSWoYw3h3/c/mILFrf2EgCJfBy9f3E7PEgi2tjifOIszBRrLQkVpeHAaFgEH8zKS2ol0hAmOl8sw==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.12.tgz", + "integrity": "sha512-FFJAwtWbtpncMOVNuULPBwFJB7GSjiUwO93eGTzRp8O4EPQ8lCQeFbezQm/NP34+T0+GBLGzPSuQT+muob8YKw==", "dev": true, "license": "MIT", "engines": { @@ -5466,21 +5655,21 @@ } }, "node_modules/@percy/cli": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.30.1.tgz", - "integrity": "sha512-9mLD6q5nT106+Qxkkw28GVxcL2vgqG9mO6Tp55MeEjySSh+EBpadsCUh93oDN64ZcRUObAE56B+sy4H8PkBLGQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.30.2.tgz", + "integrity": "sha512-Yfk+wOOHu1d3Wh9x26UCcQWjdRoW3iIk6yja7TxQ8vipQkNU0SVDxDREDuLXAGsgKoNsjCWPATwXo16OfYLl6A==", "dev": true, "license": "MIT", "dependencies": { - "@percy/cli-app": "1.30.1", - "@percy/cli-build": "1.30.1", - "@percy/cli-command": "1.30.1", - "@percy/cli-config": "1.30.1", - "@percy/cli-exec": "1.30.1", - "@percy/cli-snapshot": "1.30.1", - "@percy/cli-upload": "1.30.1", - "@percy/client": "1.30.1", - "@percy/logger": "1.30.1" + "@percy/cli-app": "1.30.2", + "@percy/cli-build": "1.30.2", + "@percy/cli-command": "1.30.2", + "@percy/cli-config": "1.30.2", + "@percy/cli-exec": "1.30.2", + "@percy/cli-snapshot": "1.30.2", + "@percy/cli-upload": "1.30.2", + "@percy/client": "1.30.2", + "@percy/logger": "1.30.2" }, "bin": { "percy": "bin/run.cjs" @@ -5490,42 +5679,42 @@ } }, "node_modules/@percy/cli-app": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.30.1.tgz", - "integrity": "sha512-/ZLGjAFeQKHeaQI5xQ9w6lLljEKWXB/+QuIHl3kGK+NL1+cZtRBk6oDbWj+QRKxg/tr+3zvwjioNIdkDaXgXUQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.30.2.tgz", + "integrity": "sha512-d9wYECnzwUfZbZaujTIKxgnMmt2HumW8aw442ddgcRyXfNT31MFyskUvHRPU8WQ7fW1xy8BQniwlWrbEO8zNOw==", "dev": true, "license": "MIT", "dependencies": { - "@percy/cli-command": "1.30.1", - "@percy/cli-exec": "1.30.1" + "@percy/cli-command": "1.30.2", + "@percy/cli-exec": "1.30.2" }, "engines": { "node": ">=14" } }, "node_modules/@percy/cli-build": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.30.1.tgz", - "integrity": "sha512-jr9URjHjYKBchUy7I0eh2agGzpN5Ct+A/Q+jlUbkR5N7AyXW3FbkbA6ZiPYXuG+i2Sjm1wuxMGPKMSIKTVZ3GQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.30.2.tgz", + "integrity": "sha512-oiCF9eQRTQMofkF05gnBZ3FpP0rIihjy6l66KPZtM2xhzy4mybAGdvfLHKNdm5VF02TomgNEhTB0XiBq0cHoLw==", "dev": true, "license": "MIT", "dependencies": { - "@percy/cli-command": "1.30.1" + "@percy/cli-command": "1.30.2" }, "engines": { "node": ">=14" } }, "node_modules/@percy/cli-command": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.30.1.tgz", - "integrity": "sha512-a8qoZu4IaPp6cKse5ovruI6oeuXJQR2D2aJGwDpnaBbryX4ArSX+x0LoI59SfdEisUxf5JPjiSPmixTmWUxqxA==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.30.2.tgz", + "integrity": "sha512-RRXFkis/PGf+/51Zp/9WyOwBPbkt+nNDh0P7W9b6JuJPu5uKj7oveP2KU1q+vsBVmLwUaZnkBSUjrC4lRltnLw==", "dev": true, "license": "MIT", "dependencies": { - "@percy/config": "1.30.1", - "@percy/core": "1.30.1", - "@percy/logger": "1.30.1" + "@percy/config": "1.30.2", + "@percy/core": "1.30.2", + "@percy/logger": "1.30.2" }, "bin": { "percy-cli-readme": "bin/readme.js" @@ -5535,27 +5724,27 @@ } }, "node_modules/@percy/cli-config": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.30.1.tgz", - "integrity": "sha512-Rgefm7jyYNdh86eEWj+TKeXhKC1+thlSzFQEraTaanhacBaVHDwEtd5x1hmRMQZPiI759cwVh+dFus3n8DwsaQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.30.2.tgz", + "integrity": "sha512-9k0NL2hC6V+Byz8ZeyjbpJIrdK1nYuvbO1+Bkalq8lCz4aGGf5HzxEwa16BOdiq+JfpThBYZeo7Gdr+VLuC5Iw==", "dev": true, "license": "MIT", "dependencies": { - "@percy/cli-command": "1.30.1" + "@percy/cli-command": "1.30.2" }, "engines": { "node": ">=14" } }, "node_modules/@percy/cli-exec": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.30.1.tgz", - "integrity": "sha512-XsXzfXUIrpKo/3CmgffgVurLlVFlThCO+Kc5IV83ggJhdFAVoJc9cSLOgZyrTBsKEprHmWi5Wn4RLMXhxlaGVg==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.30.2.tgz", + "integrity": "sha512-Y+e2i3UDRz2pbmCmbXQ6LmfOnCnyvZotOzE/tKkFrgeMIkNVx9gg/UwSWYDzGOYBXc2FuiBPiXV3cYlDKo7f2Q==", "dev": true, "license": "MIT", "dependencies": { - "@percy/cli-command": "1.30.1", - "@percy/logger": "1.30.1", + "@percy/cli-command": "1.30.2", + "@percy/logger": "1.30.2", "cross-spawn": "^7.0.3", "which": "^2.0.2" }, @@ -5564,13 +5753,13 @@ } }, "node_modules/@percy/cli-snapshot": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.30.1.tgz", - "integrity": "sha512-86ahSoh3PgbM8ZAL38PVz4X6NMTKsyHTfnGf8T0KH9/MLLp2uokJPJTIpXkPq4OeqzNEq2eOHzaRuXf5wOeHtw==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.30.2.tgz", + "integrity": "sha512-S5JU7CkYmFcE2kKw2CFhgcX75aC04Hq57Z28SGNYnvgpmxG7wTDdPjiLQa/9jmmAQRK6J23EJS4/Fmk+JJT3sg==", "dev": true, "license": "MIT", "dependencies": { - "@percy/cli-command": "1.30.1", + "@percy/cli-command": "1.30.2", "yaml": "^2.0.0" }, "engines": { @@ -5578,13 +5767,13 @@ } }, "node_modules/@percy/cli-upload": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.30.1.tgz", - "integrity": "sha512-wRR4yLI5tKGXz5Y6ZaufLRo2yKVGZVA4zZsYLTbQgmgPxnAYCc5/eu1C2cxfvgeCxNZqwmS6giqxMzfa5z9nKg==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.30.2.tgz", + "integrity": "sha512-4G7KYnpYAOUwCp5zPpHb2Z/IP6QfC0XMAKcx8wgzStKRrQA5sYAJxs00zNbcrKKfLgbRT4Z5fPultkSY9s8T0Q==", "dev": true, "license": "MIT", "dependencies": { - "@percy/cli-command": "1.30.1", + "@percy/cli-command": "1.30.2", "fast-glob": "^3.2.11", "image-size": "^1.0.0" }, @@ -5593,14 +5782,14 @@ } }, "node_modules/@percy/client": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.30.1.tgz", - "integrity": "sha512-vaue3/dOykOWZ9ER/vecb9mkcuTe72wgCrYbzIcKNtSUc5AQEGiV5c8rGZav868i5YCtGejexWZ7PKDO05asag==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.30.2.tgz", + "integrity": "sha512-C/J/oK0j8GytYezhr10n0BQZ5UmCWrmMQ5M2nNi5/aZgezUwJ4mInna2Yr5LYWoEIchXZSixOB+c9/DL4P6JdA==", "dev": true, "license": "MIT", "dependencies": { - "@percy/env": "1.30.1", - "@percy/logger": "1.30.1", + "@percy/env": "1.30.2", + "@percy/logger": "1.30.2", "pako": "^2.1.0" }, "engines": { @@ -5608,13 +5797,13 @@ } }, "node_modules/@percy/config": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.30.1.tgz", - "integrity": "sha512-wvI2QIf7/oLPsnrXGHFCLRdDY5BRFE3Smil8IY2ijtGUFWXRPsmRx2tjSdbZ/kpctkeyZappNHPzSiwi1MjJlA==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.30.2.tgz", + "integrity": "sha512-QILMvIDpKHhtqCT1w3WI2YVl9vWH9BaZR0GwwHOWsE6C3lti8Jq2AzrrvRiD8a6OepUjKL7gaZRD0fFgE/CAAQ==", "dev": true, "license": "MIT", "dependencies": { - "@percy/logger": "1.30.1", + "@percy/logger": "1.30.2", "ajv": "^8.6.2", "cosmiconfig": "^8.0.0", "yaml": "^2.0.0" @@ -5661,18 +5850,18 @@ } }, "node_modules/@percy/core": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.30.1.tgz", - "integrity": "sha512-XQNPFO8ZmKWMMkWaa+IWN6Kzh7CXCwosLWK7OsEldK7N/CVNGmU8mkCwpqYlDXEeiahGfUxqCr4yHZS26OveyQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.30.2.tgz", + "integrity": "sha512-RkWvh2BujnAvU/qU0y8Tu0fxnMbDxTE1DOa06gTwhtggbelew7fHrLfwKXKCeM3v358mBs82XZoDmNhByMQY6w==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { - "@percy/client": "1.30.1", - "@percy/config": "1.30.1", - "@percy/dom": "1.30.1", - "@percy/logger": "1.30.1", - "@percy/webdriver-utils": "1.30.1", + "@percy/client": "1.30.2", + "@percy/config": "1.30.2", + "@percy/dom": "1.30.2", + "@percy/logger": "1.30.2", + "@percy/webdriver-utils": "1.30.2", "content-disposition": "^0.5.4", "cross-spawn": "^7.0.3", "extract-zip": "^2.0.1", @@ -5690,29 +5879,29 @@ } }, "node_modules/@percy/dom": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.30.1.tgz", - "integrity": "sha512-dYHVGETIXzwqchShfzOkCrGCqjw/KLsubUZR3PYWd6UtTWZ9kFWr9I6MzizPE4XfhJs5rQ0e0Keb29FrGTey5Q==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.30.2.tgz", + "integrity": "sha512-M6fid4Uw2f2cD9WB7SL3qqRm/s1EJScukPHRVhQnn83vsGzhqCyhbUkphktMMADI/sB+JOaxSJgkBel7C0JvXw==", "dev": true, "license": "MIT" }, "node_modules/@percy/env": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.30.1.tgz", - "integrity": "sha512-ib9Ty/zo/+kfQSRC7RyzxnrS5zzsaoWJLgvTUDwi4iv/UIvx6vrEp7YPE0FQu1VGoRoL7zxRKalTh06/kBAsXg==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.30.2.tgz", + "integrity": "sha512-OAy98K3GfI1WSPO57fb3FeeWOux5Sifm0r7VJLKUkRk+auAtiPa2XCXKHBapopnDiteqj63ZDfkHbvjVtNVa9g==", "dev": true, "license": "MIT", "dependencies": { - "@percy/logger": "1.30.1" + "@percy/logger": "1.30.2" }, "engines": { "node": ">=14" } }, "node_modules/@percy/logger": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.30.1.tgz", - "integrity": "sha512-FaVW4YGmgPaW0OviMFUn7m7ski2uZQAeUJ/hg+IXFIN+zSreX2ORcsp+Fep2p+h5UjcZX5wFuf/8O3nth5YAfQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.30.2.tgz", + "integrity": "sha512-MQAxqp4RHwlemkgK7d5sjt0ePUKAKbgugmrzOuiI9KLTbeoZoGuxn9RbuNamAfHAUMNYZ8B7DGU4ID518vpP4Q==", "dev": true, "license": "MIT", "engines": { @@ -5720,9 +5909,9 @@ } }, "node_modules/@percy/sdk-utils": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.30.1.tgz", - "integrity": "sha512-xdeaHEdQvytFEbNBYCFdu1ToD6T/BT6YtZYwfNKAYXwQqVbm4wr/3LVH+GUcxYZsBCxmeSyCrF4buspUhxTNJQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.30.2.tgz", + "integrity": "sha512-EkWP6Qjj02uHYnpkq5BTOLqkpwzZGdJ6XfxiSAQ7/q8UQRGaAHQtJl1wTYan8yLOYisCQwVZRd3ev2UrhI6ERw==", "dev": true, "license": "MIT", "engines": { @@ -5730,14 +5919,14 @@ } }, "node_modules/@percy/webdriver-utils": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@percy/webdriver-utils/-/webdriver-utils-1.30.1.tgz", - "integrity": "sha512-mXY40mUBLsdwFMKsZpg87K457a76Qi0Dq8+nZ0rLqYj5STZs3RQWbgi9qMI3ELoB3BqLzePqR9pL8J9WjvRXDg==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/@percy/webdriver-utils/-/webdriver-utils-1.30.2.tgz", + "integrity": "sha512-MiUVBPnv2ajz/ih/LkCxGAXJsPl4PXSmb+WxbKzTIFE8WOkXJSpyEuueYAUk5vInLJoeZ5xyImr83zJ+Bx2Y4A==", "dev": true, "license": "MIT", "dependencies": { - "@percy/config": "1.30.1", - "@percy/sdk-utils": "1.30.1" + "@percy/config": "1.30.2", + "@percy/sdk-utils": "1.30.2" }, "engines": { "node": ">=14" @@ -5992,14 +6181,14 @@ ] }, "node_modules/@schematics/angular": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.9.tgz", - "integrity": "sha512-LlMHZQ6f8zrqSK24OBXi4u2MTNHNu9ZN6JXpbElq0bz/9QkUR2zy+Kk2wLpPxCwXYTZby7/xgHiTzXvG+zTdhw==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.12.tgz", + "integrity": "sha512-sIoeipsisK5eTLW3XuNZYcal83AfslBbgI7LnV+3VrXwpasKPGHwo2ZdwhCd2IXAkuJ02Iyu7MyV0aQRM9i/3g==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.9", - "@angular-devkit/schematics": "18.2.9", + "@angular-devkit/core": "18.2.12", + "@angular-devkit/schematics": "18.2.12", "jsonc-parser": "3.3.1" }, "engines": { @@ -6009,137 +6198,118 @@ } }, "node_modules/@sentry-internal/browser-utils": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.35.0.tgz", - "integrity": "sha512-uj9nwERm7HIS13f/Q52hF/NUS5Al8Ma6jkgpfYGeppYvU0uSjPkwMogtqoJQNbOoZg973tV8qUScbcWY616wNA==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.40.0.tgz", + "integrity": "sha512-tx7gb/PWMbTEyil/XPETVeRUeS3nKHIvQY2omyebw30TbhyLnibPZsUmXJiaIysL5PcY3k9maub3W/o0Y37T7Q==", "license": "MIT", "dependencies": { - "@sentry/core": "8.35.0", - "@sentry/types": "8.35.0", - "@sentry/utils": "8.35.0" + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.35.0.tgz", - "integrity": "sha512-7bjSaUhL0bDArozre6EiIhhdWdT/1AWNWBC1Wc5w1IxEi5xF7nvF/FfvjQYrONQzZAI3HRxc45J2qhLUzHBmoQ==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.40.0.tgz", + "integrity": "sha512-1O9F3z80HNE0VfepKS+v+dixdatNqWlrlwgvvWl4BGzzoA+XhqvZo+HWxiOt7yx7+k1TuZNrB6Gy3u/QvpozXA==", "license": "MIT", "dependencies": { - "@sentry/core": "8.35.0", - "@sentry/types": "8.35.0", - "@sentry/utils": "8.35.0" + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.35.0.tgz", - "integrity": "sha512-3wkW03vXYMyWtTLxl9yrtkV+qxbnKFgfASdoGWhXzfLjycgT6o4/04eb3Gn71q9aXqRwH17ISVQbVswnRqMcmA==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.40.0.tgz", + "integrity": "sha512-0SaDsBCSWxNVgNmPKu23frrHEXzN/MKl0hIkfuO55vL5TgjLTwpgkf0Ne4rNvaZQ5omIKk9Qd63HuQP3PHAMaw==", "license": "MIT", "dependencies": { - "@sentry-internal/browser-utils": "8.35.0", - "@sentry/core": "8.35.0", - "@sentry/types": "8.35.0", - "@sentry/utils": "8.35.0" + "@sentry-internal/browser-utils": "8.40.0", + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.35.0.tgz", - "integrity": "sha512-TUrH6Piv19kvHIiRyIuapLdnuwxk/Un/l1WDCQfq7mK9p1Pac0FkQ7Uufjp6zY3lyhDDZQ8qvCS4ioCMibCwQg==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.40.0.tgz", + "integrity": "sha512-Zr+m/le0SH4RowZB7rBCM0aRnvH3wZTaOFhwUk03/oGf2BRcgKuDCUMjnXKC9MyOpmey7UYXkzb8ro+81R6Q8w==", "license": "MIT", "dependencies": { - "@sentry-internal/replay": "8.35.0", - "@sentry/core": "8.35.0", - "@sentry/types": "8.35.0", - "@sentry/utils": "8.35.0" + "@sentry-internal/replay": "8.40.0", + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/angular": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@sentry/angular/-/angular-8.35.0.tgz", - "integrity": "sha512-mHbmvt8R79TvVSidshdKgKDE6GMii3rHjBBJmdwfBpRPmr28/XsrcheX6IOooePzyJucEcjkYCkrtHlHGs4kzg==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry/angular/-/angular-8.40.0.tgz", + "integrity": "sha512-zHq+wI353AmsWuJv7usWY2/EhYfQdS1cao8/88ygKiPp/zUgqZbBQY/qDKpRdRadeosyyd1is53necGN61B1gg==", "license": "MIT", "dependencies": { - "@sentry/browser": "8.35.0", - "@sentry/core": "8.35.0", - "@sentry/types": "8.35.0", - "@sentry/utils": "8.35.0", + "@sentry/browser": "8.40.0", + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0", "tslib": "^2.4.1" }, "engines": { "node": ">=14.18" }, "peerDependencies": { - "@angular/common": ">= 14.x <= 18.x", - "@angular/core": ">= 14.x <= 18.x", - "@angular/router": ">= 14.x <= 18.x", + "@angular/common": ">= 14.x <= 19.x", + "@angular/core": ">= 14.x <= 19.x", + "@angular/router": ">= 14.x <= 19.x", "rxjs": "^6.5.5 || ^7.x" } }, "node_modules/@sentry/browser": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.35.0.tgz", - "integrity": "sha512-WHfI+NoZzpCsmIvtr6ChOe7yWPLQyMchPnVhY3Z4UeC70bkYNdKcoj/4XZbX3m0D8+71JAsm0mJ9s9OC3Ue6MQ==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.40.0.tgz", + "integrity": "sha512-m/Yor6IDBeDHtQochu8n6z4HXrXkrPhu6+o5Ouve0Zi3ptthSoK1FOGvJxVBat3nRq0ydQyuuPuTB6WfdWbwHQ==", "license": "MIT", "dependencies": { - "@sentry-internal/browser-utils": "8.35.0", - "@sentry-internal/feedback": "8.35.0", - "@sentry-internal/replay": "8.35.0", - "@sentry-internal/replay-canvas": "8.35.0", - "@sentry/core": "8.35.0", - "@sentry/types": "8.35.0", - "@sentry/utils": "8.35.0" + "@sentry-internal/browser-utils": "8.40.0", + "@sentry-internal/feedback": "8.40.0", + "@sentry-internal/replay": "8.40.0", + "@sentry-internal/replay-canvas": "8.40.0", + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/core": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.35.0.tgz", - "integrity": "sha512-Ci0Nmtw5ETWLqQJGY4dyF+iWh7PWKy6k303fCEoEmqj2czDrKJCp7yHBNV0XYbo00prj2ZTbCr6I7albYiyONA==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.40.0.tgz", + "integrity": "sha512-u/U2CJpG/+SmTR2bPM4ZZoPYTJAOUuxzj/0IURnvI0v9+rNu939J/fzrO9huA5IJVxS5TiYykhQm7o6I3Zuo3Q==", "license": "MIT", "dependencies": { - "@sentry/types": "8.35.0", - "@sentry/utils": "8.35.0" + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/types": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.35.0.tgz", - "integrity": "sha512-AVEZjb16MlYPifiDDvJ19dPQyDn0jlrtC1PHs6ZKO+Rzyz+2EX2BRdszvanqArldexPoU1p5Bn2w81XZNXThBA==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.40.0.tgz", + "integrity": "sha512-nuCf3U3deolPM9BjNnwCc33UtFl9ec15/r74ngAkNccn+A2JXdIAsDkGJMO/9mgSFykLe1QyeJ0pQFRisCGOiA==", "license": "MIT", "engines": { "node": ">=14.18" } }, - "node_modules/@sentry/utils": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.35.0.tgz", - "integrity": "sha512-MdMb6+uXjqND7qIPWhulubpSeHzia6HtxeJa8jYI09OCvIcmNGPydv/Gx/LZBwosfMHrLdTWcFH7Y7aCxrq7cg==", - "license": "MIT", - "dependencies": { - "@sentry/types": "8.35.0" - }, - "engines": { - "node": ">=14.18" - } - }, "node_modules/@sigstore/bundle": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz", @@ -6241,9 +6411,9 @@ "license": "MIT" }, "node_modules/@storybook/addon-actions": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.3.6.tgz", - "integrity": "sha512-nOqgl0WoZK2KwjaABaXMoIgrIHOQl9inOzJvqQau0HOtsvnXGXYfJXYnpjZenoZDoZXKbUDl0U2haDFx2a2fJw==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.4.5.tgz", + "integrity": "sha512-rbB19uiGJ61XHbKIbS1a9bUS6re5L8rT5NMNeEJhCxXRpFUPrlTXMSoD/Pgcn3ENeEMVZsm8/eCzxAVgAP3Mgg==", "dev": true, "license": "MIT", "dependencies": { @@ -6258,7 +6428,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/addon-actions/node_modules/@types/uuid": { @@ -6283,9 +6453,9 @@ } }, "node_modules/@storybook/addon-backgrounds": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.3.6.tgz", - "integrity": "sha512-yBn+a8i5OJzJaX6Bx5MAkfei7c2nvq+RRmvuyvxw11rtDGR6Nz4OBBe56reWxo868wVUggpRTPJCMVe5tDYgVg==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.4.5.tgz", + "integrity": "sha512-FeMt4qHCMYDQiLGGDKiRuSPXFup2WXOaZSdL137v1W36wEL/vGkK1A5iQt1qJ8MZzL5WZQuedox8rSybFy7eow==", "dev": true, "license": "MIT", "dependencies": { @@ -6298,19 +6468,18 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/addon-controls": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.3.6.tgz", - "integrity": "sha512-9IMLHgtWPuFoRCt3hDsIk1FbkK5SlCMDW1DDwtTBIeWYYZLvptS42+vGVTeQ8v5SejmVzZkzuUdzu3p4sb3IcA==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.4.5.tgz", + "integrity": "sha512-RVTtDDuESLYc1+SJQv2kI7wzBddzAS9uoEe8P75quN6S4pC0GxAB6xirWZ2+WOcba4eHosY+PxMwuBXQfH78Ew==", "dev": true, "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0", "dequal": "^2.0.2", - "lodash": "^4.17.21", "ts-dedent": "^2.0.0" }, "funding": { @@ -6318,27 +6487,22 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/addon-docs": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.3.6.tgz", - "integrity": "sha512-31Rk1TOhDIzGM2wNCUIB1xKuWtArW0D2Puua9warEXlQ3FtvwmxnPrwbIzw6ufYZDWPwl9phDYTcRh8WqZIoGg==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.4.5.tgz", + "integrity": "sha512-zPELIl7wXormOylVaaSpkUIuuCCxrO+OFPMKZnlENt6zSReyy0dJu4V0tzfV8FCw+V4D6Y4wrLRk/TIG951Ojw==", "dev": true, "license": "MIT", "dependencies": { "@mdx-js/react": "^3.0.0", - "@storybook/blocks": "8.3.6", - "@storybook/csf-plugin": "8.3.6", - "@storybook/global": "^5.0.0", - "@storybook/react-dom-shim": "8.3.6", - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "fs-extra": "^11.1.0", + "@storybook/blocks": "8.4.5", + "@storybook/csf-plugin": "8.4.5", + "@storybook/react-dom-shim": "8.4.5", "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "rehype-external-links": "^3.0.0", - "rehype-slug": "^6.0.0", "ts-dedent": "^2.0.0" }, "funding": { @@ -6346,25 +6510,25 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/addon-essentials": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.3.6.tgz", - "integrity": "sha512-MQPFvThlGU7wlda1xhBPQCmDh90cSSZ31OsVs1uC5kJh0aLbY2gYXPurq1G54kzrYo8SMfBxsXrCplz8Ir6UTg==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.4.5.tgz", + "integrity": "sha512-AxetQo/zSPIu3RZqWG2opwAz22Bb+jpf1nWbHp0kEpCrBemcWd8X2gonVmXNOC1PDKNl3jcWyc3lmg/+3mxjYg==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/addon-actions": "8.3.6", - "@storybook/addon-backgrounds": "8.3.6", - "@storybook/addon-controls": "8.3.6", - "@storybook/addon-docs": "8.3.6", - "@storybook/addon-highlight": "8.3.6", - "@storybook/addon-measure": "8.3.6", - "@storybook/addon-outline": "8.3.6", - "@storybook/addon-toolbars": "8.3.6", - "@storybook/addon-viewport": "8.3.6", + "@storybook/addon-actions": "8.4.5", + "@storybook/addon-backgrounds": "8.4.5", + "@storybook/addon-controls": "8.4.5", + "@storybook/addon-docs": "8.4.5", + "@storybook/addon-highlight": "8.4.5", + "@storybook/addon-measure": "8.4.5", + "@storybook/addon-outline": "8.4.5", + "@storybook/addon-toolbars": "8.4.5", + "@storybook/addon-viewport": "8.4.5", "ts-dedent": "^2.0.0" }, "funding": { @@ -6372,13 +6536,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/addon-highlight": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.3.6.tgz", - "integrity": "sha512-A7uU+1OPVXGpkklEUJjSl2VEEDLCSNvmffUJlvW1GjajsNFIHOW2CSD+KnfFlQyPxyVbnWAYLqUP4XJxoqrvDw==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.4.5.tgz", + "integrity": "sha512-sMA7v+4unaKY+5RDhow6lLncJqNX9ZLUnBIt3vzY1ntUsOYVwykAY1Hq4Ysj0luCBXjJJdJ6223ylrycnb7Ilw==", "dev": true, "license": "MIT", "dependencies": { @@ -6389,13 +6553,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/addon-measure": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.3.6.tgz", - "integrity": "sha512-VHWeGgYjhzhwb2WAqYW/qyEPqg5pwKR/XqFfd+3tEirUs/64olL1l3lzLwZ8Cm07cJ81T8Z4myywb9kObZfQlw==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.4.5.tgz", + "integrity": "sha512-+sNjew991YaoXQyWWloFybjEGrDO40Jk6w8BgZs2X7oc3D5t/6oFzvyC862U++LGqKFA3quXDeBjEb92CI9cRA==", "dev": true, "license": "MIT", "dependencies": { @@ -6407,13 +6571,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/addon-outline": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.3.6.tgz", - "integrity": "sha512-+VXpM8SIHX2cn30qLlMvER9/6iioFRSn2sAfLniqy4RrcQmcMP+qgE7ZzbzExt7cneJh3VFsYqBS/HElu14Vgg==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.4.5.tgz", + "integrity": "sha512-XlpN98AUDnWQWNFSFVm+HkRUzm3xIUMjBGTkv6HsL6zt6XoJ+LsQMca+PPtYqlBJA+5CU41xMDaG8HC/p+sd3A==", "dev": true, "license": "MIT", "dependencies": { @@ -6425,13 +6589,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/addon-toolbars": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.3.6.tgz", - "integrity": "sha512-FJH+lRoZXENfpMR/G09ZqB0TmL/k6bv07GN1ysoVs420tKRgjfz6uXaZz5COrhcdISr5mTNmG+mw9x7xXTfX3Q==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.4.5.tgz", + "integrity": "sha512-hOq5560ONOU/qrslrwosWzxnC4nrF8HZWD43ciKwtethm8HuptU2M+Jrui1CRsMScEZLopWWVE9o0vJMdKpIFQ==", "dev": true, "license": "MIT", "funding": { @@ -6439,13 +6603,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/addon-viewport": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.3.6.tgz", - "integrity": "sha512-bL51v837W1cng/+0pypkoLsWKWmvux96zLOzqLCpcWAQ4OSMhW3foIWpCiFwMG/KY+GanoOocTx6i7j5hLtuTA==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.4.5.tgz", + "integrity": "sha512-l7Y41gIbJAsIN/QCg1QJ9sr61FLz1C/imUotcDej41tOHxUTSQOlXpNtVnfhUM1vGQc0yNpP3pVxj8BpXi0cAw==", "dev": true, "license": "MIT", "dependencies": { @@ -6456,23 +6620,23 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/angular": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-8.3.6.tgz", - "integrity": "sha512-mTJD8keLAYpymB6hJeliEIAbfnVAY5wKBIJzecq88YYID3QinS++evUue56TM3W7t8uxMpBxslSbRZb+U1sd0Q==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-8.4.5.tgz", + "integrity": "sha512-Ks+l4sgMQpCk8hy6J+f0N+fE8J7nihlnYkT0jrWTKnb7hZUipr+xPi03rnufBkk1a3KOFXD4/FEtFWh3IAhvAw==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/builder-webpack5": "8.3.6", - "@storybook/components": "^8.3.6", - "@storybook/core-webpack": "8.3.6", + "@storybook/builder-webpack5": "8.4.5", + "@storybook/components": "8.4.5", + "@storybook/core-webpack": "8.4.5", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "^8.3.6", - "@storybook/preview-api": "^8.3.6", - "@storybook/theming": "^8.3.6", + "@storybook/manager-api": "8.4.5", + "@storybook/preview-api": "8.4.5", + "@storybook/theming": "8.4.5", "@types/node": "^22.0.0", "@types/react": "^18.0.37", "@types/react-dom": "^18.0.11", @@ -6495,19 +6659,19 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "@angular-devkit/architect": ">=0.1500.0 < 0.1900.0", - "@angular-devkit/build-angular": ">=15.0.0 < 19.0.0", - "@angular-devkit/core": ">=15.0.0 < 19.0.0", - "@angular/cli": ">=15.0.0 < 19.0.0", - "@angular/common": ">=15.0.0 < 19.0.0", - "@angular/compiler": ">=15.0.0 < 19.0.0", - "@angular/compiler-cli": ">=15.0.0 < 19.0.0", - "@angular/core": ">=15.0.0 < 19.0.0", - "@angular/forms": ">=15.0.0 < 19.0.0", - "@angular/platform-browser": ">=15.0.0 < 19.0.0", - "@angular/platform-browser-dynamic": ">=15.0.0 < 19.0.0", + "@angular-devkit/architect": ">=0.1500.0 < 0.2000.0", + "@angular-devkit/build-angular": ">=15.0.0 < 20.0.0", + "@angular-devkit/core": ">=15.0.0 < 20.0.0", + "@angular/cli": ">=15.0.0 < 20.0.0", + "@angular/common": ">=15.0.0 < 20.0.0", + "@angular/compiler": ">=15.0.0 < 20.0.0", + "@angular/compiler-cli": ">=15.0.0 < 20.0.0", + "@angular/core": ">=15.0.0 < 20.0.0", + "@angular/forms": ">=15.0.0 < 20.0.0", + "@angular/platform-browser": ">=15.0.0 < 20.0.0", + "@angular/platform-browser-dynamic": ">=15.0.0 < 20.0.0", "rxjs": "^6.0.0 || ^7.4.0", - "storybook": "^8.3.6", + "storybook": "^8.4.5", "typescript": "^4.0.0 || ^5.0.0", "zone.js": ">= 0.11.1 < 1.0.0" }, @@ -6518,26 +6682,15 @@ } }, "node_modules/@storybook/blocks": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.3.6.tgz", - "integrity": "sha512-Oc5jU6EzfsENjrd91KcKyEKBh60RT+8uyLi1RIrymC2C/mzZMTEoNIrbnQt0eIqbjlHxn6y9JMJxHu4NJ4EmZg==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.4.5.tgz", + "integrity": "sha512-Z+LHauSqm3A4HBR9pUEf9KQhD3/3xYMt0FXgA+GHCAyDa6lFeD1C6r9Y2nlT+9dt8gv9B9oygTZvV6GqFVyRSQ==", "dev": true, "license": "MIT", "dependencies": { "@storybook/csf": "^0.1.11", - "@storybook/global": "^5.0.0", - "@storybook/icons": "^1.2.10", - "@types/lodash": "^4.14.167", - "color-convert": "^2.0.1", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "markdown-to-jsx": "^7.4.5", - "memoizerific": "^1.11.3", - "polished": "^4.2.2", - "react-colorful": "^5.1.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" + "@storybook/icons": "^1.2.12", + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", @@ -6546,7 +6699,7 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.3.6" + "storybook": "^8.4.5" }, "peerDependenciesMeta": { "react": { @@ -6558,13 +6711,13 @@ } }, "node_modules/@storybook/builder-webpack5": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.3.6.tgz", - "integrity": "sha512-Eqn2k8aA9f0o6IMQNAxGAMfSDeTP3YYCQAtOL5Gt5lgrqLV5JMTbZOfmaRBZ82ej/BBSAopnQKIJjQBBFx6kAQ==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.4.5.tgz", + "integrity": "sha512-5TSpirK2LIL4Wultpowlkrv3iAje57HTw92Hy6c4Zn64tAs30123mkdE6MoJcXMBfD4JwX9I2K2Q+ofZXblJPg==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/core-webpack": "8.3.6", + "@storybook/core-webpack": "8.4.5", "@types/node": "^22.0.0", "@types/semver": "^7.3.4", "browser-assert": "^1.2.1", @@ -6573,9 +6726,7 @@ "constants-browserify": "^1.0.0", "css-loader": "^6.7.1", "es-module-lexer": "^1.5.0", - "express": "^4.19.2", "fork-ts-checker-webpack-plugin": "^8.0.0", - "fs-extra": "^11.1.0", "html-webpack-plugin": "^5.5.0", "magic-string": "^0.30.5", "path-browserify": "^1.0.1", @@ -6597,7 +6748,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" }, "peerDependenciesMeta": { "typescript": { @@ -6671,9 +6822,9 @@ } }, "node_modules/@storybook/components": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.3.6.tgz", - "integrity": "sha512-TXuoGZY7X3iixF45lXkYOFk8k2q9OHcqHyHyem1gATLLQXgyOvDgzm+VB7uKBNzssRQPEE+La70nfG8bq/viRw==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.4.5.tgz", + "integrity": "sha512-2PdnKfqNNv3sO7qILgWXiNvmLOi503oN9OMemNCQjTIvdvySc5JpS9/eClwcl/JfmE4qHdSHZr8dLLkBM9S7+Q==", "dev": true, "license": "MIT", "funding": { @@ -6681,23 +6832,21 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, "node_modules/@storybook/core": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.3.6.tgz", - "integrity": "sha512-frwfgf0EJ7QL29DWZ5bla/g0eOOWqJGd14t+VUBlpP920zB6sdDfo7+p9JoCjD9u08lGeFDqbPNKayUk+0qDag==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.4.5.tgz", + "integrity": "sha512-aB1sQNX5nRoUAqg5u1py0MuR/VPd6c6PhECa4rW6pmr7kZcfyP4PP6UFpXuN71ypTQlkRE3Vc5PQZ3gLhE9o3g==", "dev": true, "license": "MIT", "dependencies": { "@storybook/csf": "^0.1.11", - "@types/express": "^4.17.21", "better-opn": "^3.0.2", "browser-assert": "^1.2.1", - "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0", + "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", "esbuild-register": "^3.5.0", - "express": "^4.19.2", "jsdoc-type-pratt-parser": "^4.0.0", "process": "^0.11.10", "recast": "^0.23.5", @@ -6708,12 +6857,20 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "prettier": "^2 || ^3" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } } }, "node_modules/@storybook/core-webpack": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.3.6.tgz", - "integrity": "sha512-ks306CFKD7FePQzRYyTjddiLsSriceblzv4rI+IjVtftkJvcEbxub2yWkV27kPP/e9kSd4Li3M34bX5mkiwkZA==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.4.5.tgz", + "integrity": "sha512-IpK/3fM+l2WjRNplTtP+MtnRf/394GcBwyemZknUCzFFDJWNYAN1+meEZmOaZKzJ3tQyRYiErrJLHzd1+UH6Dw==", "dev": true, "license": "MIT", "dependencies": { @@ -6725,7 +6882,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/csf": { @@ -6739,9 +6896,9 @@ } }, "node_modules/@storybook/csf-plugin": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.3.6.tgz", - "integrity": "sha512-TJyJPFejO6Gyr3+bXqE/+LomQbivvfHEbee/GwtlRj0XF4KQlqnvuEdEdcK25JbD0NXT8AbyncEUmjoxE7ojQw==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.4.5.tgz", + "integrity": "sha512-qd2rQTglOTS+phQmTbNTXNjNyxdGvolaqHqDNMw3Vf6h9o3U+mLkwnDWNVnQ9oqvOoUEAqpBthgwzU9FhkIk+A==", "dev": true, "license": "MIT", "dependencies": { @@ -6752,7 +6909,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/global": { @@ -6777,28 +6934,27 @@ } }, "node_modules/@storybook/instrumenter": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.3.6.tgz", - "integrity": "sha512-0RowbKwoB/s7rtymlnKNiyWN1Z3ZK5mwgzVjlRmzxDL8hrdi5KDjTNExuJTRR3ZaBP2RR0/I3m/n0p9JhHAZvg==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.4.5.tgz", + "integrity": "sha512-8qM35FkueuRpJr0zA6ENvhQICbo+iKL1ln450DwV1kKJtc41KdbA3CuCvtZ/FnoPsFnwdtPjhhICFtRt8LRTSg==", "dev": true, "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0", - "@vitest/utils": "^2.0.5", - "util": "^0.12.4" + "@vitest/utils": "^2.1.1" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/manager-api": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.3.6.tgz", - "integrity": "sha512-Xt5VFZcL+G/9uzaHjzWFhxRNrP+4rPhSRKEvCZorAbC9+Hv+ZDs1JSZS5wMb4WKpXBZ0rwDVOLwngqbVtfRHuQ==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.4.5.tgz", + "integrity": "sha512-t39JaMy3UX4StbUH/tIDcaflBDxTcyIq853wQtBMhVL3e1+Dw3MIiiG/5bw79HU4R7kSmPVLXIIbV3FmXkq7KQ==", "dev": true, "license": "MIT", "funding": { @@ -6806,13 +6962,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, "node_modules/@storybook/preview-api": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.3.6.tgz", - "integrity": "sha512-/Wxvb7wbI2O2iH63arRQQyyojA630vibdshkFjuC/u1nYdptEV1jkxa0OYmbZbKCn4/ze6uH4hfsKOpDPV9SWg==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.4.5.tgz", + "integrity": "sha512-MKIZ2jQO/3cUdsT57eq8jRgB6inALo9BxrQ88f7mqzltOkMvADvTAY6y8JZqTUoDzWTH/ny/8SGGdtpqlxRuiQ==", "dev": true, "license": "MIT", "funding": { @@ -6820,13 +6976,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, "node_modules/@storybook/react-dom-shim": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.3.6.tgz", - "integrity": "sha512-9BO6VXIdli4GHSfiP/Z0gwAf7oQig3D/yWK2U1+91UWDV8nIAgnNBAi76U4ORC6MiK5MdkDfIikIxnLLeLnahA==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.4.5.tgz", + "integrity": "sha512-YTWTfPagptEYXJsnxAl3zP97Ev0zebtaEV0WgjGaEeumr+zsfgKKwzzHxgrtumBmDzwkuKlzFwlQB5A8keOIGA==", "dev": true, "license": "MIT", "funding": { @@ -6836,38 +6992,37 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/test": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.3.6.tgz", - "integrity": "sha512-WIc8LzK9jaEw+e3OiweEM2j3cppPzsWod59swuf6gDBf176EQLIyjtVc+Kh3qO4NNkcL+lwmqaLPjOxlBLaDbg==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.4.5.tgz", + "integrity": "sha512-mHsRc6m60nfcEBsjvUkKz+Jnz0or4WH5jmJ1VL2pGKO4VzESCPqAwDnwDqP2YyeSQ0b/MAKUT5kdoLE2RE2eVw==", "dev": true, "license": "MIT", "dependencies": { "@storybook/csf": "^0.1.11", "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.3.6", + "@storybook/instrumenter": "8.4.5", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.5.0", "@testing-library/user-event": "14.5.2", "@vitest/expect": "2.0.5", - "@vitest/spy": "2.0.5", - "util": "^0.12.4" + "@vitest/spy": "2.0.5" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.4.5" } }, "node_modules/@storybook/theming": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.3.6.tgz", - "integrity": "sha512-LQjUk6GXRW9ELkoBKuqzQKFUW+ajfGPfVELcfs3/VQX61VhthJ4olov4bGPc04wsmmFMgN/qODxT485IwOHfPQ==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.4.5.tgz", + "integrity": "sha512-45e/jeG4iuqdZcHg3PbB6dwXQTwlnnEB7r/QcVExyC7ibrkTnjUfvxzyUw4mmU3CXETFGD5EcUobFkgK+/aPxQ==", "dev": true, "license": "MIT", "funding": { @@ -6875,7 +7030,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.6" + "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, "node_modules/@testing-library/dom": { @@ -6898,22 +7053,6 @@ "node": ">=18" } }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/@testing-library/dom/node_modules/aria-query": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", @@ -6924,46 +7063,6 @@ "dequal": "^2.0.3" } }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/jest-dom": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz", @@ -6985,22 +7084,6 @@ "yarn": ">=1" } }, - "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/@testing-library/jest-dom/node_modules/chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -7022,29 +7105,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@testing-library/jest-dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/user-event": { "version": "14.5.2", "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", @@ -7060,9 +7120,9 @@ } }, "node_modules/@thednp/event-listener": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@thednp/event-listener/-/event-listener-2.0.6.tgz", - "integrity": "sha512-6u55ydv4+2VHwHU8EJaJXa40QzZ7XOXVo74MMPnGCSzbl0q3yqHfQh8r0Sw/50rutHxecLVQBM/C9Fr0c+m+ew==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@thednp/event-listener/-/event-listener-2.0.8.tgz", + "integrity": "sha512-bZY04sWSn2YWAqcuY/fYy03ynARYHwn8xzYgdqqcHBXsBXhOc+bbWwHyLwW28XAA2NjzjMPZZAM3N5D09i+zEQ==", "dev": true, "license": "MIT", "engines": { @@ -7070,10 +7130,24 @@ "pnpm": ">=8.6.0" } }, + "node_modules/@thednp/position-observer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@thednp/position-observer/-/position-observer-1.0.5.tgz", + "integrity": "sha512-3ceT4kl8okq4HMMqQ3+7UGosf6u5p6n95kvYUqtgJGTSE69LcU4ep5NjeSChEmvk/I9V/3tNMMlXYKCSWYq61Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@thednp/shorty": "^2.0.9" + }, + "engines": { + "node": ">=16", + "pnpm": ">=8.6.0" + } + }, "node_modules/@thednp/shorty": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@thednp/shorty/-/shorty-2.0.4.tgz", - "integrity": "sha512-7iMeqgiHOTjAWLcl/rbWHgquHnvfawT2gExdAa1TLjZMGcFjx00FZkg6CHuMjLh9ayBnlgabC4Dsx0DV+h9yqQ==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@thednp/shorty/-/shorty-2.0.9.tgz", + "integrity": "sha512-btulzTMSxSQxNipN5iLMtw6MaTrZ3P0feRUX/rl2fZ1m31RI56PC967lnN5bwUCpZLzry0pl9QoCKlT3GtU+mw==", "dev": true, "license": "MIT", "engines": { @@ -7252,6 +7326,290 @@ "@types/node": "*" } }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz", + "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-scale": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz", + "integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-shape": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", + "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -7262,6 +7620,36 @@ "@types/ms": "*" } }, + "node_modules/@types/dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/trusted-types": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -7282,6 +7670,19 @@ } }, "node_modules/@types/express-serve-static-core": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.2.tgz", + "integrity": "sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { "version": "4.19.6", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", @@ -7298,7 +7699,7 @@ "version": "7946.0.14", "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/hammerjs": { @@ -7308,16 +7709,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -7363,9 +7754,9 @@ "license": "MIT" }, "node_modules/@types/leaflet": { - "version": "1.9.13", - "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.13.tgz", - "integrity": "sha512-wwLL4VKKwYlLmhMQRc/8HT5/8HgkzZyETG0hG3nbsSiHKSdxBWZnHqEkRIOOtpyUks3gbc81dk9WgQMC6bicDw==", + "version": "1.9.14", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.14.tgz", + "integrity": "sha512-sx2q6MDJaajwhKeVgPSvqXd8rhNJSTA3tMidQGduZn9S6WBYxDkCpSpV5xXEmSg7Cgdk/5vJGhVF1kMYLzauBg==", "dev": true, "license": "MIT", "dependencies": { @@ -7373,9 +7764,9 @@ } }, "node_modules/@types/lodash": { - "version": "4.17.12", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.12.tgz", - "integrity": "sha512-sviUmCE8AYdaF/KIHLDJBQgeYzPBI0vf/17NaYehBJfYD1j6/L95Slh07NlyK2iNyBNaEkb3En2jRt+a8y3xZQ==", + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==", "dev": true, "license": "MIT" }, @@ -7428,12 +7819,12 @@ } }, "node_modules/@types/node": { - "version": "22.7.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.8.tgz", - "integrity": "sha512-a922jJy31vqR5sk+kAdIENJjHblqcZ4RmERviFsER4WJcEONqxKcjNOlk0q7OUfrF5sddT+vng070cdfMlrPLg==", + "version": "22.9.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.3.tgz", + "integrity": "sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw==", "license": "MIT", "dependencies": { - "undici-types": "~6.19.2" + "undici-types": "~6.19.8" } }, "node_modules/@types/node-forge": { @@ -7658,9 +8049,9 @@ "license": "MIT" }, "node_modules/@types/qs": { - "version": "6.9.16", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", - "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", + "version": "6.9.17", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==", "dev": true, "license": "MIT" }, @@ -7672,9 +8063,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.11", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.11.tgz", - "integrity": "sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==", + "version": "18.3.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", "dev": true, "license": "MIT", "dependencies": { @@ -7747,9 +8138,9 @@ "license": "MIT" }, "node_modules/@types/sizzle": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", - "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==", + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.9.tgz", + "integrity": "sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==", "dev": true, "license": "MIT" }, @@ -7763,12 +8154,12 @@ "@types/node": "*" } }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "dev": true, - "license": "MIT" + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true }, "node_modules/@types/uuid": { "version": "10.0.0", @@ -7792,9 +8183,9 @@ "license": "MIT" }, "node_modules/@types/ws": { - "version": "8.5.12", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", - "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "version": "8.5.13", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", "dev": true, "license": "MIT", "dependencies": { @@ -7820,17 +8211,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.11.0.tgz", - "integrity": "sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.15.0.tgz", + "integrity": "sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.11.0", - "@typescript-eslint/type-utils": "8.11.0", - "@typescript-eslint/utils": "8.11.0", - "@typescript-eslint/visitor-keys": "8.11.0", + "@typescript-eslint/scope-manager": "8.15.0", + "@typescript-eslint/type-utils": "8.15.0", + "@typescript-eslint/utils": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -7853,17 +8244,27 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/@typescript-eslint/parser": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.11.0.tgz", - "integrity": "sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.15.0.tgz", + "integrity": "sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "8.11.0", - "@typescript-eslint/types": "8.11.0", - "@typescript-eslint/typescript-estree": "8.11.0", - "@typescript-eslint/visitor-keys": "8.11.0", + "@typescript-eslint/scope-manager": "8.15.0", + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/typescript-estree": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0", "debug": "^4.3.4" }, "engines": { @@ -7883,14 +8284,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.11.0.tgz", - "integrity": "sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz", + "integrity": "sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.11.0", - "@typescript-eslint/visitor-keys": "8.11.0" + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -7901,14 +8302,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.11.0.tgz", - "integrity": "sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.15.0.tgz", + "integrity": "sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.11.0", - "@typescript-eslint/utils": "8.11.0", + "@typescript-eslint/typescript-estree": "8.15.0", + "@typescript-eslint/utils": "8.15.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -7919,6 +8320,9 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, "peerDependenciesMeta": { "typescript": { "optional": true @@ -7926,9 +8330,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.11.0.tgz", - "integrity": "sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz", + "integrity": "sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==", "dev": true, "license": "MIT", "engines": { @@ -7940,14 +8344,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.11.0.tgz", - "integrity": "sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz", + "integrity": "sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "8.11.0", - "@typescript-eslint/visitor-keys": "8.11.0", + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -7969,16 +8373,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.11.0.tgz", - "integrity": "sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.15.0.tgz", + "integrity": "sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.11.0", - "@typescript-eslint/types": "8.11.0", - "@typescript-eslint/typescript-estree": "8.11.0" + "@typescript-eslint/scope-manager": "8.15.0", + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/typescript-estree": "8.15.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -7989,17 +8393,22 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.11.0.tgz", - "integrity": "sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz", + "integrity": "sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.11.0", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/types": "8.15.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8009,6 +8418,19 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@ucast/core": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/@ucast/core/-/core-1.10.2.tgz", @@ -8110,9 +8532,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.3.tgz", - "integrity": "sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.5.tgz", + "integrity": "sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==", "dev": true, "license": "MIT", "dependencies": { @@ -8136,14 +8558,14 @@ } }, "node_modules/@vitest/utils": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.3.tgz", - "integrity": "sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.5.tgz", + "integrity": "sha512-yfj6Yrp0Vesw2cwJbP+cl04OC+IHFsuQsrsJBL9pyGeQXE56v1UAOQco+SR55Vf1nQzfV0QJg1Qum7AaWUwwYg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.3", - "loupe": "^3.1.1", + "@vitest/pretty-format": "2.1.5", + "loupe": "^3.1.2", "tinyrainbow": "^1.2.0" }, "funding": { @@ -8151,148 +8573,148 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, @@ -8348,10 +8770,20 @@ "node": ">= 0.6" } }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", - "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -8364,6 +8796,7 @@ "version": "1.9.5", "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, "license": "MIT", "peerDependencies": { "acorn": "^8" @@ -8572,32 +9005,20 @@ } }, "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-styles/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ansi-styles/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, "node_modules/apache-crypt": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.6.tgz", @@ -8862,14 +9283,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", + "@babel/helper-define-polyfill-provider": "^0.6.3", "semver": "^6.3.1" }, "peerDependencies": { @@ -8901,13 +9322,13 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" + "@babel/helper-define-polyfill-provider": "^0.6.3" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -9142,10 +9563,23 @@ "dev": true, "license": "MIT" }, + "node_modules/body-parser/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", "dev": true, "license": "MIT", "dependencies": { @@ -9161,14 +9595,15 @@ "license": "ISC" }, "node_modules/bootstrap.native": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/bootstrap.native/-/bootstrap.native-5.0.13.tgz", - "integrity": "sha512-SiiTxaK3LjuOjPaXEnDBQNY3w0t28Qdx6I8drortuFg6Ch3q6cWoOxlFHThcGOPewziVarQAA4WPE00GFQmbWQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/bootstrap.native/-/bootstrap.native-5.1.1.tgz", + "integrity": "sha512-QlFMbaCSo1AvfoiiI3jdJk8Rh3BZIXh7UjVcR9/wo+aVTZqOrCrePA4f2chpXLZxwbHitWyMgl1CJSSSqqx8/w==", "dev": true, "license": "MIT", "dependencies": { - "@thednp/event-listener": "^2.0.4", - "@thednp/shorty": "^2.0.0" + "@thednp/event-listener": "^2.0.8", + "@thednp/position-observer": "^1.0.4", + "@thednp/shorty": "^2.0.9" }, "engines": { "node": ">=16", @@ -9446,9 +9881,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001669", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", - "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", + "version": "1.0.30001684", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz", + "integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==", "funding": [ { "type": "opencollective", @@ -9483,9 +9918,9 @@ "license": "Apache-2.0" }, "node_modules/chai": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", - "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", + "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", "dev": true, "license": "MIT", "dependencies": { @@ -9500,17 +9935,20 @@ } }, "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/chardet": { @@ -9856,21 +10294,6 @@ "node": ">=12" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -9913,6 +10336,19 @@ "node": ">=6" } }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/code-block-writer": { "version": "13.0.3", "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz", @@ -10019,34 +10455,24 @@ } }, "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", "dev": true, "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", + "negotiator": "~0.6.4", "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -10064,13 +10490,6 @@ "dev": true, "license": "MIT" }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -10165,9 +10584,9 @@ "license": "MIT" }, "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "dev": true, "license": "MIT", "engines": { @@ -10220,13 +10639,13 @@ } }, "node_modules/core-js-compat": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", - "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.23.3" + "browserslist": "^4.24.2" }, "funding": { "type": "opencollective", @@ -10301,6 +10720,7 @@ "version": "0.0.24", "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.24.tgz", "integrity": "sha512-Oyqew0FGM0wYUSNqR0L6AteO5MpMoUU0rhKRieXeiKs+PmRTxiJMyaunYB2KF6fQ3dzChXKCpbFOEJx3OQ1v/Q==", + "deprecated": "Ownership of Critters has moved to the Nuxt team, who will be maintaining the project going forward. If you'd like to keep using Critters, please switch to the actively-maintained fork at https://github.com/danielroe/beasties", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -10313,66 +10733,10 @@ "postcss-media-query-parser": "^0.2.3" } }, - "node_modules/critters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/critters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/critters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/critters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -10546,61 +10910,15 @@ "request-progress": "^3.0.0", "semver": "^7.5.3", "supports-color": "^8.1.1", - "tmp": "~0.2.3", - "untildify": "^4.0.0", - "yauzl": "^2.10.0" - }, - "bin": { - "cypress": "bin/cypress" - }, - "engines": { - "node": "^16.0.0 || ^18.0.0 || >=20.0.0" - } - }, - "node_modules/cypress/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cypress/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "tmp": "~0.2.3", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/cypress/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" + "bin": { + "cypress": "bin/cypress" }, "engines": { - "node": ">=8" + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" } }, "node_modules/cypress/node_modules/cli-truncate": { @@ -10646,16 +10964,6 @@ "node": ">=10" } }, - "node_modules/cypress/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/cypress/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -10781,9 +11089,9 @@ } }, "node_modules/cytoscape": { - "version": "3.30.2", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.30.2.tgz", - "integrity": "sha512-oICxQsjW8uSaRmn4UK/jkczKOqTrVqt5/1WL0POiJUT2EKNc9STM4hYFHv917yu55aTBMFNRzymlJhVAiWPCxw==", + "version": "3.30.3", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.30.3.tgz", + "integrity": "sha512-HncJ9gGJbVtw7YXtIs3+6YAFSSiKsom0amWc33Z7QbylbY2JGMrA0yz4EwrdTScZxnwclXeEZHzO5pxoy0ZE4g==", "license": "MIT", "optional": true, "engines": { @@ -11334,13 +11642,13 @@ } }, "node_modules/dagre-d3-es": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", - "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.11.tgz", + "integrity": "sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==", "license": "MIT", "optional": true, "dependencies": { - "d3": "^7.8.2", + "d3": "^7.9.0", "lodash-es": "^4.17.21" } }, @@ -11898,9 +12206,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.42", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.42.tgz", - "integrity": "sha512-gIfKavKDw1mhvic9nbzA5lZw8QSHpdMwLwXc0cWidQz9B15pDoDdDH4boIatuFfeoCatb3a/NGL6CYRVFxGZ9g==", + "version": "1.5.64", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.64.tgz", + "integrity": "sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ==", "license": "ISC" }, "node_modules/emitter-component": { @@ -11936,9 +12244,9 @@ } }, "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, "license": "MIT", "engines": { @@ -12010,16 +12318,6 @@ "node": ">=10.0.0" } }, - "node_modules/engine.io/node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/engine.io/node_modules/ws": { "version": "8.17.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", @@ -12264,12 +12562,16 @@ "license": "MIT" }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint": { @@ -12374,9 +12676,9 @@ } }, "node_modules/eslint-plugin-storybook": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.10.1.tgz", - "integrity": "sha512-YpxkdqyiKpMIrRquuvBaCinsqmZJ86JvXRX/gtRa4Qctpk0ipFt2cWqEjkB1HHWWG0DVRXlUBKHjRogC2Ig1fg==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.10.2.tgz", + "integrity": "sha512-iOrFJfyLgRLIbWDLbbs3J4yrknvIB+uiZ8KGqGOEXTL7/BGuBMZLiIU9Q4Pm/VYJrHN4JqmMtwCSrAemHL2nFg==", "dev": true, "license": "MIT", "dependencies": { @@ -12392,9 +12694,9 @@ } }, "node_modules/eslint-scope": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", - "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -12438,22 +12740,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -12465,36 +12751,6 @@ "concat-map": "0.0.1" } }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint/node_modules/eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", @@ -12528,14 +12784,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/eslint/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 4" } }, "node_modules/eslint/node_modules/json-schema-traverse": { @@ -12558,19 +12814,6 @@ "node": "*" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/eslint/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -12813,6 +13056,16 @@ "node": ">= 0.10.0" } }, + "node_modules/express/node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -12830,6 +13083,16 @@ "dev": true, "license": "MIT" }, + "node_modules/express/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/finalhandler": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", @@ -12862,6 +13125,19 @@ "node": ">=4" } }, + "node_modules/express/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/path-to-regexp": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", @@ -12904,6 +13180,16 @@ "node": ">= 0.8" } }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -13111,6 +13397,39 @@ "tough-cookie": "^4.0.0" } }, + "node_modules/fetch-cookie/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fetch-cookie/node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/fetch-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -13127,6 +13446,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -13181,16 +13510,6 @@ "ms": "2.0.0" } }, - "node_modules/finalhandler/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -13198,29 +13517,6 @@ "dev": true, "license": "MIT" }, - "node_modules/finalhandler/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/find-cache-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", @@ -13281,9 +13577,9 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", "dev": true, "license": "ISC" }, @@ -13386,34 +13682,18 @@ "uri-js": "^4.2.2" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/brace-expansion": { @@ -13427,23 +13707,6 @@ "concat-map": "0.0.1" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -13476,16 +13739,6 @@ "node": ">=12" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -13535,19 +13788,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", @@ -13772,13 +14012,6 @@ "assert-plus": "^1.0.0" } }, - "node_modules/github-slugger": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", - "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", - "dev": true, - "license": "ISC" - }, "node_modules/glob": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", @@ -13894,6 +14127,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globby/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/good-listener": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", @@ -14034,12 +14277,12 @@ "license": "MIT" }, "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/has-property-descriptors": { @@ -14105,48 +14348,6 @@ "node": ">= 0.4" } }, - "node_modules/hast-util-heading-rank": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", - "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-string": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", - "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -14280,9 +14481,9 @@ } }, "node_modules/html-webpack-plugin": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.2.tgz", - "integrity": "sha512-q7xp/FO9RGBVoTKNItkdX1jKLscLFkgn/dLVFNYbHVbfHLBk6DYW5nsQ8kCzIWcgKP/kUBocetjvav6lD8YfCQ==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", + "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", "dev": true, "license": "MIT", "dependencies": { @@ -14399,6 +14600,16 @@ "node": ">= 0.8" } }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", @@ -14436,18 +14647,18 @@ } }, "node_modules/http-proxy-middleware": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz", - "integrity": "sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.3.tgz", + "integrity": "sha512-usY0HG5nyDUwtqpiZdETNbmKtw3QQ1jwYFZ9wi5iHzX2BcILwQKtYDJPo7XHTsu5Z0B2Hj3W9NNnbd+AjFWjqg==", "dev": true, "license": "MIT", "dependencies": { - "@types/http-proxy": "^1.17.10", - "debug": "^4.3.4", + "@types/http-proxy": "^1.17.15", + "debug": "^4.3.6", "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.5" + "is-glob": "^4.0.3", + "is-plain-object": "^5.0.0", + "micromatch": "^4.0.8" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -14503,9 +14714,9 @@ } }, "node_modules/i18next": { - "version": "23.16.2", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.2.tgz", - "integrity": "sha512-dFyxwLXxEQK32f6tITBMaRht25mZPJhQ0WbC0p3bO2mWBal9lABTMqSka5k+GLSRWLzeJBKDpH7BeIA9TZI7Jg==", + "version": "23.16.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", + "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==", "dev": true, "funding": [ { @@ -14573,9 +14784,9 @@ "license": "BSD-3-Clause" }, "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz", + "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==", "dev": true, "license": "MIT", "engines": { @@ -14714,26 +14925,13 @@ } }, "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-absolute-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", - "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10" } }, "node_modules/is-arguments": { @@ -14986,14 +15184,11 @@ } }, "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, "engines": { "node": ">=0.10.0" } @@ -15155,29 +15350,6 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", @@ -15264,15 +15436,6 @@ "node": ">= 10.13.0" } }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -15664,22 +15827,6 @@ "source-map-support": "^0.5.5" } }, - "node_modules/karma/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/karma/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -15829,9 +15976,9 @@ "dev": true }, "node_modules/keycloak-angular": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/keycloak-angular/-/keycloak-angular-16.0.1.tgz", - "integrity": "sha512-ytkL32R/tfHEyZ3txQtgH1y0WofW/D36zTbo2agDCYUtZETq0wAQ3E/4bVDUAr6ZKwotgAnIyOORfErnvDkXng==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/keycloak-angular/-/keycloak-angular-16.1.0.tgz", + "integrity": "sha512-y2Eow2mISE0tY+ZOGzgiDISJ69faInYyV1ONwv+8mzU9Rn0xMPEjw7rQCRm9XsyFZiqM0LLucx9m73FCnl4wAg==", "license": "MIT", "dependencies": { "tslib": "^2.3.1" @@ -15840,7 +15987,7 @@ "@angular/common": "^18", "@angular/core": "^18", "@angular/router": "^18", - "keycloak-js": "^18 || ^19 || ^20 || ^21 || ^22 || ^23 || ^24 || ^25" + "keycloak-js": "^18 || ^19 || ^20 || ^21 || ^22 || ^23 || ^24 || ^25 || ^26" } }, "node_modules/keycloak-js": { @@ -16337,14 +16484,14 @@ } }, "node_modules/local-pkg": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", - "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz", + "integrity": "sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==", "license": "MIT", "optional": true, "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" + "mlly": "^1.7.3", + "pkg-types": "^1.2.1" }, "engines": { "node": ">=14" @@ -16420,62 +16567,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/log-update": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", @@ -16856,25 +16947,12 @@ "dev": true, "license": "MIT" }, - "node_modules/map-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", - "integrity": "sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/markdown-to-jsx": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.5.0.tgz", - "integrity": "sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "react": ">= 0.14.0" - } + "node_modules/map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==", + "dev": true, + "license": "MIT" }, "node_modules/marked": { "version": "12.0.2", @@ -16979,21 +17057,23 @@ } }, "node_modules/mermaid": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.3.0.tgz", - "integrity": "sha512-fFmf2gRXLtlGzug4wpIGN+rQdZ30M8IZEB1D3eZkXNqC7puhqeURBcD/9tbwXsqBO+A6Nzzo3MSSepmnw5xSeg==", + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.4.0.tgz", + "integrity": "sha512-mxCfEYvADJqOiHfGpJXLs4/fAjHz448rH0pfY5fAoxiz70rQiDSzUUy4dNET2T08i46IVpjohPd6WWbzmRHiPA==", "license": "MIT", "optional": true, "dependencies": { "@braintree/sanitize-url": "^7.0.1", "@iconify/utils": "^2.1.32", "@mermaid-js/parser": "^0.3.0", + "@types/d3": "^7.4.3", + "@types/dompurify": "^3.0.5", "cytoscape": "^3.29.2", "cytoscape-cose-bilkent": "^4.1.0", "cytoscape-fcose": "^2.2.0", "d3": "^7.9.0", "d3-sankey": "^0.12.3", - "dagre-d3-es": "7.0.10", + "dagre-d3-es": "7.0.11", "dayjs": "^1.11.10", "dompurify": "^3.0.11 <3.1.7", "katex": "^0.16.9", @@ -17377,15 +17457,15 @@ } }, "node_modules/mlly": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.2.tgz", - "integrity": "sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.3.tgz", + "integrity": "sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==", "license": "MIT", "optional": true, "dependencies": { - "acorn": "^8.12.1", + "acorn": "^8.14.0", "pathe": "^1.1.2", - "pkg-types": "^1.2.0", + "pkg-types": "^1.2.1", "ufo": "^1.5.4" } }, @@ -17439,19 +17519,6 @@ "dev": true, "license": "MIT" }, - "node_modules/morgan/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/mrmime": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", @@ -17469,9 +17536,9 @@ "license": "MIT" }, "node_modules/msgpackr": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz", - "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.2.tgz", + "integrity": "sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==", "dev": true, "license": "MIT", "optionalDependencies": { @@ -17584,9 +17651,9 @@ } }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "dev": true, "license": "MIT", "engines": { @@ -17645,6 +17712,51 @@ "node": ">=6.9" } }, + "node_modules/ngx-i18nsupport/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ngx-i18nsupport/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ngx-i18nsupport/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ngx-i18nsupport/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, "node_modules/ngx-i18nsupport/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -17652,6 +17764,26 @@ "dev": true, "license": "MIT" }, + "node_modules/ngx-i18nsupport/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ngx-i18nsupport/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/ngx-i18nsupport/node_modules/rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -17665,6 +17797,19 @@ "npm": ">=2.0.0" } }, + "node_modules/ngx-i18nsupport/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/ngx-i18nsupport/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -17811,9 +17956,9 @@ } }, "node_modules/node-gyp-build": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz", - "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", "dev": true, "license": "MIT", "optional": true, @@ -18130,9 +18275,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", "dev": true, "license": "MIT", "engines": { @@ -18193,9 +18338,9 @@ "license": "MIT" }, "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "dev": true, "license": "MIT", "dependencies": { @@ -18312,66 +18457,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ora/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ordered-binary": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.2.tgz", - "integrity": "sha512-JTo+4+4Fw7FreyAvlSLjb1BBVaxEQAacmjD3jjuyPZclpbEghTvQZbXBb2qPd2LeIMxiHwXBZUcpmG2Gl/mDEA==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.3.tgz", + "integrity": "sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==", "dev": true, "license": "MIT" }, @@ -18458,9 +18547,9 @@ } }, "node_modules/p-retry": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.0.tgz", - "integrity": "sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "dev": true, "license": "MIT", "dependencies": { @@ -18493,9 +18582,9 @@ "license": "BlueOak-1.0.0" }, "node_modules/package-manager-detector": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.2.tgz", - "integrity": "sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.5.tgz", + "integrity": "sha512-3dS7y28uua+UDbRCLBqltMBrbI+A5U2mI9YuxHRxIWYmLj3DwntEBmERYzIAQ4DMeuCUOBSak7dBHHoXKpOTYQ==", "license": "MIT", "optional": true }, @@ -18605,9 +18694,9 @@ } }, "node_modules/parse5": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.0.tgz", - "integrity": "sha512-ZkDsAOcxsUMZ4Lz5fVciOehNcJ+Gb8gTzcA4yl3wnc273BAybYWrQ+Ks/OjCjSEpjvQkDSeZbybK9qj2VHHdGA==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", "devOptional": true, "license": "MIT", "dependencies": { @@ -18749,9 +18838,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.1.tgz", - "integrity": "sha512-CgeuL5uom6j/ZVrg7G/+1IXqRY8JXX4Hghfy5YE0EhoYQWvndP1kufu58cmZLNIDKnRhZrXfdS9urVWx98AipQ==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz", + "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", "dev": true, "license": "ISC", "engines": { @@ -19099,14 +19188,14 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz", + "integrity": "sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==", "dev": true, "license": "MIT", "dependencies": { "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", + "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.1.0" }, "engines": { @@ -19117,13 +19206,13 @@ } }, "node_modules/postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", "dev": true, "license": "ISC", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^10 || ^12 || >= 14" @@ -19149,9 +19238,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19524,6 +19613,16 @@ "node": ">= 0.10" } }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/proxy-from-env": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", @@ -19548,10 +19647,22 @@ "license": "MIT" }, "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "license": "MIT" + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.13.0.tgz", + "integrity": "sha512-BFwmFXiJoFqlUpZ5Qssolv15DMyc84gTBds1BjsV1BfXEo1UyyD7GsmN67n7J77uRhoSNW1AXtXKPLcBFQn9Aw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + } + }, + "node_modules/psl/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } }, "node_modules/pump": { "version": "3.0.2", @@ -19681,17 +19792,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-colorful": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", - "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, "node_modules/react-dom": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", @@ -19832,16 +19932,16 @@ "license": "MIT" }, "node_modules/regexpu-core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", - "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dev": true, "license": "MIT", "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.0", "regjsgen": "^0.8.0", - "regjsparser": "^0.11.0", + "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -19857,9 +19957,9 @@ "license": "MIT" }, "node_modules/regjsparser": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.1.tgz", - "integrity": "sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -19882,43 +19982,6 @@ "node": ">=6" } }, - "node_modules/rehype-external-links": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz", - "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-is-element": "^3.0.0", - "is-absolute-url": "^4.0.0", - "space-separated-tokens": "^2.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-slug": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", - "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "github-slugger": "^2.0.0", - "hast-util-heading-rank": "^3.0.0", - "hast-util-to-string": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", @@ -20690,6 +20753,39 @@ "node": ">= 18" } }, + "node_modules/send/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/serialize-javascript": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", @@ -20775,16 +20871,6 @@ "dev": true, "license": "ISC" }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/serve-static": { "version": "1.16.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", @@ -20818,6 +20904,16 @@ "dev": true, "license": "MIT" }, + "node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/serve-static/node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -20831,6 +20927,19 @@ "node": ">=4" } }, + "node_modules/serve-static/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/serve-static/node_modules/send": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", @@ -20866,6 +20975,16 @@ "node": ">= 0.8" } }, + "node_modules/serve-static/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/set-cookie-parser": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", @@ -21047,9 +21166,9 @@ } }, "node_modules/socket.io": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz", - "integrity": "sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", "dev": true, "license": "MIT", "dependencies": { @@ -21237,17 +21356,6 @@ "node": ">=0.10.0" } }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/spark-md5": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", @@ -21389,23 +21497,23 @@ } }, "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, "node_modules/storybook": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.3.6.tgz", - "integrity": "sha512-9GVbtej6ZzPRUM7KRQ7848506FfHrUiJGqPuIQdoSJd09EmuEoLjmLAgEOmrHBQKgGYMaM7Vh9GsTLim6vwZTQ==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.4.5.tgz", + "integrity": "sha512-9tfgabXnMibYp3SvoaJXXMD63Pw0SA9Hnf5v6TxysCYZs4DZ/04fAkK+9RW+K4C5JkV83qXMMlrsPj766R47fg==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/core": "8.3.6" + "@storybook/core": "8.4.5" }, "bin": { "getstorybook": "bin/index.cjs", @@ -21415,6 +21523,14 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "prettier": "^2 || ^3" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } } }, "node_modules/stream-browserify": { @@ -21678,15 +21794,16 @@ "license": "MIT" }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -22019,13 +22136,13 @@ "optional": true }, "node_modules/tinyglobby": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.9.tgz", - "integrity": "sha512-8or1+BGEdk1Zkkw2ii16qSS7uVrQJPre5A9o/XkWPATkk23FZh/15BKFxPnlTy6vkljZxLqYCzzBMj30ZrSvjw==", + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.10.tgz", + "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.4.0", + "fdir": "^6.4.2", "picomatch": "^4.0.2" }, "engines": { @@ -22052,6 +22169,26 @@ "node": ">=14.0.0" } }, + "node_modules/tldts": { + "version": "6.1.64", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.64.tgz", + "integrity": "sha512-ph4AE5BXWIOsSy9stpoeo7bYe/Cy7VfpciIH4RhVZUPItCJmhqWCN0EVzxd8BOHiyNb42vuJc6NWTjJkg91Tuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^6.1.64" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.64", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.64.tgz", + "integrity": "sha512-uqnl8vGV16KsyflHOzqrYjjArjfXaU6rMPXYy2/ZWoRKCkXtghgB4VwTDXUG+t0OTGeSewNAG31/x1gCTfLt+Q==", + "dev": true, + "license": "MIT" + }, "node_modules/tmp": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", @@ -22062,15 +22199,6 @@ "node": ">=14.14" } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -22101,36 +22229,16 @@ "license": "MIT" }, "node_modules/tough-cookie": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", - "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz", + "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==", + "dev": true, "license": "BSD-3-Clause", "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "tldts": "^6.1.32" }, "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" + "node": ">=16" } }, "node_modules/tr46": { @@ -22167,9 +22275,9 @@ } }, "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.1.tgz", + "integrity": "sha512-5RU2/lxTA3YUZxju61HO2U6EoZLvBLtmV2mbTvqyu4a/7s7RmJPT+1YekhMVsQhznRWk/czIwDUg+V8Q9ZuG4w==", "dev": true, "license": "MIT", "engines": { @@ -22260,80 +22368,25 @@ } }, "node_modules/tsconfig-paths-webpack-plugin": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz", - "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.2.0.tgz", + "integrity": "sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==", "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.7.0", + "tapable": "^2.2.1", "tsconfig-paths": "^4.1.2" }, "engines": { "node": ">=10.13.0" } }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, "node_modules/tuf-js": { @@ -22568,51 +22621,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -22641,25 +22649,17 @@ } }, "node_modules/unplugin": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.14.1.tgz", - "integrity": "sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.0.tgz", + "integrity": "sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.12.1", + "acorn": "^8.14.0", "webpack-virtual-modules": "^0.6.2" }, "engines": { "node": ">=14.0.0" - }, - "peerDependencies": { - "webpack-sources": "^3" - }, - "peerDependenciesMeta": { - "webpack-sources": { - "optional": true - } } }, "node_modules/untildify": { @@ -23352,9 +23352,9 @@ } }, "node_modules/vite/node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "dev": true, "funding": [ { @@ -23373,7 +23373,7 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -23505,18 +23505,18 @@ "license": "BSD-2-Clause" }, "node_modules/webpack": { - "version": "5.95.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", - "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "version": "5.96.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", + "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", "license": "MIT", "dependencies": { - "@types/estree": "^1.0.5", + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", @@ -23600,6 +23600,19 @@ "url": "https://github.com/sponsors/streamich" } }, + "node_modules/webpack-dev-middleware/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/webpack-dev-server": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.0.4.tgz", @@ -23706,16 +23719,6 @@ } } }, - "node_modules/webpack-dev-server/node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, "node_modules/webpack-dev-server/node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -23837,6 +23840,12 @@ "dev": true, "license": "MIT" }, + "node_modules/webpack/node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" + }, "node_modules/webpack/node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -24058,38 +24067,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -24178,9 +24155,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", - "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", "dev": true, "license": "ISC", "bin": { diff --git a/src/app/child-dev-project/attendance/model/recurring-activity.ts b/src/app/child-dev-project/attendance/model/recurring-activity.ts index 78e15036e9..806ce59f57 100644 --- a/src/app/child-dev-project/attendance/model/recurring-activity.ts +++ b/src/app/child-dev-project/attendance/model/recurring-activity.ts @@ -11,6 +11,9 @@ import { asArray } from "../../../utils/utils"; @DatabaseEntity("RecurringActivity") export class RecurringActivity extends Entity { static override route = "attendance/recurring-activity"; + static override toStringAttributes = ["title"]; + static override label = $localize`:label for entity:Recurring Activity`; + static override labelPlural = $localize`:label (plural) for entity:Recurring Activities`; static create(title: string = ""): RecurringActivity { const instance = new RecurringActivity(); @@ -27,7 +30,12 @@ export class RecurringActivity extends Entity { } /** primary name to identify the activity */ - @DatabaseField() + @DatabaseField({ + label: $localize`:Label for the title of a recurring activity:Title`, + validators: { + required: true, + }, + }) title: string = ""; /** @@ -36,6 +44,7 @@ export class RecurringActivity extends Entity { * This is also assigned to individual events' category generated for this activity. */ @DatabaseField({ + label: $localize`:Label for the interaction type of a recurring activity:Type`, dataType: "configurable-enum", additional: INTERACTION_TYPE_CONFIG_ID, }) @@ -43,6 +52,7 @@ export class RecurringActivity extends Entity { /** IDs of children linked to this activity */ @DatabaseField({ + label: $localize`:Label for the participants of a recurring activity:Participants`, dataType: "entity", isArray: true, }) @@ -50,6 +60,7 @@ export class RecurringActivity extends Entity { /** IDs of groups (schools, teams) whose (active) members should be included in the activity*/ @DatabaseField({ + label: $localize`:Label for the linked schools of a recurring activity:Groups`, dataType: "entity", isArray: true, }) @@ -57,6 +68,7 @@ export class RecurringActivity extends Entity { /** IDs of children that should be excluded from this activity despite being a group member */ @DatabaseField({ + label: $localize`:Label for excluded participants of a recurring activity:Excluded Participants`, dataType: "entity", isArray: true, }) @@ -64,6 +76,7 @@ export class RecurringActivity extends Entity { /** IDs of the users who are responsible for conducting this activity */ @DatabaseField({ + label: $localize`:Label for the assigned user(s) of a recurring activity:Assigned user(s)`, dataType: "entity", isArray: true, }) diff --git a/src/app/child-dev-project/notes/model/note.ts b/src/app/child-dev-project/notes/model/note.ts index bb37755e59..85fd16c30a 100644 --- a/src/app/child-dev-project/notes/model/note.ts +++ b/src/app/child-dev-project/notes/model/note.ts @@ -37,6 +37,8 @@ import { PLACEHOLDERS } from "../../../core/entity/schema/entity-schema-field"; @DatabaseEntity("Note") export class Note extends Entity { static override toStringAttributes = ["subject"]; + static override label = $localize`:label for entity:Note`; + static override labelPlural = $localize`:label (plural) for entity:Notes`; static override hasPII = true; static create( @@ -73,6 +75,7 @@ export class Note extends Entity { // TODO: remove these special properties (children, schools) and use relatedEntities instead once the attendance system is generalized (#1364) /** IDs of Child entities linked with this note */ @DatabaseField({ + label: $localize`:Label for the participants field of a note:Participants`, dataType: "entity", isArray: true, additional: "Child", @@ -91,6 +94,7 @@ export class Note extends Entity { private childrenAttendance: EventAttendanceMap = new EventAttendanceMap(); @DatabaseField({ + label: $localize`:Label for the date of a note:Date`, dataType: "date-only", defaultValue: { mode: "dynamic", @@ -100,14 +104,20 @@ export class Note extends Entity { }) date: Date; - @DatabaseField() + @DatabaseField({ + label: $localize`:Label for the subject of a note:Subject`, + }) subject: string; - @DatabaseField({ dataType: "long-text" }) + @DatabaseField({ + label: $localize`:Label for the actual notes of a note:Notes`, + dataType: "long-text", + }) text: string; /** IDs of users that authored this note */ @DatabaseField({ + label: $localize`:Label for the social worker(s) who created the note:Team involved`, dataType: "entity", isArray: true, additional: "User", @@ -120,6 +130,7 @@ export class Note extends Entity { authors: string[] = []; @DatabaseField({ + label: $localize`:Label for the category of a note:Category`, dataType: "configurable-enum", additional: INTERACTION_TYPE_CONFIG_ID, anonymize: "retain", @@ -127,6 +138,7 @@ export class Note extends Entity { category: InteractionType; @DatabaseField({ + label: $localize`Attachment`, dataType: "file", }) attachment: string; @@ -158,6 +170,7 @@ export class Note extends Entity { * related school ids (e.g. to infer participants for event roll calls) */ @DatabaseField({ + label: $localize`:label for the linked schools:Groups`, dataType: "entity", isArray: true, additional: "School", @@ -167,6 +180,7 @@ export class Note extends Entity { schools: string[] = []; @DatabaseField({ + label: $localize`:Status of a note:Status`, dataType: "configurable-enum", additional: "warning-levels", anonymize: "retain", diff --git a/src/app/core/common-components/entity-form/entity-form.service.ts b/src/app/core/common-components/entity-form/entity-form.service.ts index a13ee3cf4a..c4883936e1 100644 --- a/src/app/core/common-components/entity-form/entity-form.service.ts +++ b/src/app/core/common-components/entity-form/entity-form.service.ts @@ -19,7 +19,6 @@ import { Subscription } from "rxjs"; import { filter } from "rxjs/operators"; import { EntitySchemaField } from "../../entity/schema/entity-schema-field"; import { DefaultValueService } from "../../default-values/default-value.service"; -import { DefaultValueConfig } from "../../entity/schema/default-value-config"; /** * These are utility types that allow to define the type of `FormGroup` the way it is returned by `EntityFormService.create` @@ -35,9 +34,9 @@ export interface EntityForm { entity: T; /** - * map of field ids to the default value configuration for that field + * (possible overridden) field configurations for that form */ - defaultValueConfigs: Map; + fieldConfigs: FormFieldConfig[]; /** * map of field ids to the current value to be inherited from the referenced parent entities' field @@ -87,6 +86,7 @@ export class EntityFormService { forTable = false, ): FormFieldConfig { const fullField = toFormFieldConfig(formField); + try { return this.addSchemaToFormField( fullField, @@ -102,11 +102,15 @@ export class EntityFormService { private addSchemaToFormField( formField: FormFieldConfig, - propertySchema: EntitySchemaField, + propertySchema: EntitySchemaField | undefined, forTable: boolean, ): FormFieldConfig { // formField config has precedence over schema - const fullField = Object.assign({}, propertySchema, formField); + const fullField = Object.assign( + {}, + JSON.parse(JSON.stringify(propertySchema ?? {})), // deep copy to avoid modifying the original schema + formField, + ); fullField.editComponent = fullField.editComponent || @@ -143,20 +147,20 @@ export class EntityFormService { forTable = false, withPermissionCheck = true, ): Promise> { + const fields = formFields.map((f) => + this.extendFormFieldConfig(f, entity.getConstructor(), forTable), + ); + const typedFormGroup: TypedFormGroup> = this.createFormGroup( - formFields, + fields, entity, - forTable, withPermissionCheck, ); - const defaultValueConfigs = - DefaultValueService.getDefaultValueConfigs(entity); - const entityForm: EntityForm = { formGroup: typedFormGroup, entity: entity, - defaultValueConfigs: defaultValueConfigs, + fieldConfigs: fields, inheritedParentValues: new Map(), watcher: new Map(), }; @@ -166,10 +170,16 @@ export class EntityFormService { return entityForm; } + /** + * + * @param formFields The field configs in their final form (will not be extended by schema automatically) + * @param entity + * @param withPermissionCheck + * @private + */ private createFormGroup( - formFields: ColumnConfig[], + formFields: FormFieldConfig[], entity: T, - forTable = false, withPermissionCheck = true, ): EntityFormGroup { const formConfig = {}; @@ -180,7 +190,7 @@ export class EntityFormService { ); for (const f of formFields) { - this.addFormControlConfig(formConfig, f, copy, forTable); + this.addFormControlConfig(formConfig, f, copy); } const group = this.fb.group>(formConfig); @@ -204,23 +214,15 @@ export class EntityFormService { /** * Add a property with form control initialization config to the given formConfig object. * @param formConfig - * @param fieldConfig + * @param field The final field config (will not be automatically extended by schema) * @param entity - * @param forTable * @private */ private addFormControlConfig( formConfig: { [key: string]: FormControl }, - fieldConfig: ColumnConfig, + field: FormFieldConfig, entity: Entity, - forTable: boolean, ) { - const field = this.extendFormFieldConfig( - fieldConfig, - entity.getConstructor(), - forTable, - ); - let value = entity[field.id]; const controlOptions: FormControlOptions = { nonNullable: true }; diff --git a/src/app/core/config/config-fix.ts b/src/app/core/config/config-fix.ts index 34ab6e3176..3c7dab26d8 100644 --- a/src/app/core/config/config-fix.ts +++ b/src/app/core/config/config-fix.ts @@ -13,66 +13,72 @@ import { EntityConfig } from "../entity/entity-config"; export const defaultJsonConfig = { "appConfig:usage-analytics": { url: "https://matomo.aam-digital.org", - site_id: "8", + site_id: "8" }, navigationMenu: { items: [ { label: $localize`:Menu item:Dashboard`, icon: "home", - link: "/", + link: "/" }, { label: $localize`:Menu item:Children`, icon: "child", - link: "/child", + link: "/child" }, { label: $localize`:Menu item:Schools`, icon: "university", - link: "/school", + link: "/school" }, { label: $localize`:Menu item:Attendance`, icon: "calendar-check", - link: "/attendance", + link: "/attendance" }, { label: $localize`:Menu item:Notes`, icon: "file-alt", - link: "/note", + link: "/note" }, { label: $localize`:Menu item:Tasks`, icon: "tasks", - link: "/todo", + link: "/todo" }, { label: $localize`:Menu item:Import`, icon: "file-import", - link: "/import", - }, - { - label: $localize`:Menu item:Users`, - icon: "users", - link: "/user", + link: "/import" }, { label: $localize`:Menu item:Reports`, icon: "line-chart", - link: "/report", + link: "/report" }, { label: $localize`:Menu item:Help`, icon: "question", - link: "/help", + link: "/help" }, { label: $localize`:Menu item:Admin`, icon: "wrench", - link: "/admin", - }, - ], + subMenu: [ + { + label: $localize`:Menu item:Admin Overview`, + icon: "wrench", + link: "/admin" + }, + { + label: $localize`:Menu item:Users`, + icon: "users", + link: "/user" + } + ] + } + ] }, "view:": { component: "Dashboard", @@ -85,82 +91,82 @@ export const defaultJsonConfig = { { label: $localize`:Dashboard shortcut widget|record attendance shortcut:Record Attendance`, icon: "calendar-check", - link: "/attendance/add-day", + link: "/attendance/add-day" }, { label: $localize`:Dashboard shortcut widget|record attendance shortcut:Add Child`, icon: "plus", - link: "/child/new", + link: "/child/new" }, { label: $localize`:Dashboard shortcut widget|open public form:Public Registration Form`, icon: "file-circle-check", - link: "/public-form/test", - }, - ], - }, + link: "/public-form/test" + } + ] + } }, { - component: "EntityCountDashboard", + component: "EntityCountDashboard" }, { component: "ImportantNotesDashboard", config: { - warningLevels: ["WARNING", "URGENT"], - }, + warningLevels: ["WARNING", "URGENT"] + } }, { - component: "TodosDashboard", + component: "TodosDashboard" }, { component: "NotesDashboard", config: { sinceDays: 28, fromBeginningOfWeek: false, - mode: "with-recent-notes", - }, + mode: "with-recent-notes" + } }, { component: "NotesDashboard", config: { sinceDays: 28, fromBeginningOfWeek: false, - mode: "without-recent-notes", - }, + mode: "without-recent-notes" + } }, { component: "AttendanceWeekDashboard", config: { daysOffset: 7, - periodLabel: $localize`:Attendance week dashboard widget label:this week`, - }, + periodLabel: $localize`:Attendance week dashboard widget label:this week` + } }, { component: "AttendanceWeekDashboard", config: { daysOffset: 0, - periodLabel: $localize`:Attendance week dashboard widget label:last week`, - }, + periodLabel: $localize`:Attendance week dashboard widget label:last week` + } }, { component: "AttendanceWeekDashboard", config: { daysOffset: 0, label: $localize`:Attendance week dashboard widget label:Late last week`, - attendanceStatusType: "LATE", - }, + attendanceStatusType: "LATE" + } }, { component: "ProgressDashboard", config: { - dashboardConfigId: "1", - }, + dashboardConfigId: "1" + } }, { - component: "BirthdayDashboard", - }, - ], - }, + component: "BirthdayDashboard" + } + ] + } }, "entity:Note": { toStringAttributes: ["subject"], @@ -175,54 +181,54 @@ export const defaultJsonConfig = { additional: "Child", entityReferenceRole: "composite", editComponent: "EditAttendance", - anonymize: "retain", + anonymize: "retain" }, childrenAttendance: { dataType: EventAttendanceMap.DATA_TYPE, - anonymize: "retain", + anonymize: "retain" }, date: { label: $localize`:Label for the date of a note:Date`, dataType: "date-only", defaultValue: { mode: "dynamic", - value: PLACEHOLDERS.NOW, + value: PLACEHOLDERS.NOW }, - anonymize: "retain", + anonymize: "retain" }, subject: { dataType: "string", - label: $localize`:Label for the subject of a note:Subject`, + label: $localize`:Label for the subject of a note:Subject` }, text: { dataType: LongTextDatatype.dataType, - label: $localize`:Label for the actual notes of a note:Notes`, + label: $localize`:Label for the actual notes of a note:Notes` }, authors: { - label: $localize`:Label for the social worker(s) who created the note:SW`, + label: $localize`:Label for the social worker(s) who created the note:Team involved`, dataType: "entity", isArray: true, additional: "User", defaultValue: { mode: "dynamic", - value: PLACEHOLDERS.CURRENT_USER, + value: PLACEHOLDERS.CURRENT_USER }, - anonymize: "retain", + anonymize: "retain" }, category: { label: $localize`:Label for the category of a note:Category`, dataType: "configurable-enum", additional: INTERACTION_TYPE_CONFIG_ID, - anonymize: "retain", + anonymize: "retain" }, attachment: { label: $localize`Attachment`, - dataType: "file", + dataType: "file" }, relatesTo: { dataType: "entity", additional: RecurringActivity.ENTITY_TYPE, - anonymize: "retain", + anonymize: "retain" }, relatedEntities: { label: $localize`:label for the related Entities:Related Records`, @@ -230,7 +236,7 @@ export const defaultJsonConfig = { isArray: true, // by default no additional relatedEntities can be linked apart from children and schools, overwrite this in config to display (e.g. additional: "ChildSchoolRelation") additional: undefined, - anonymize: "retain", + anonymize: "retain" }, schools: { label: $localize`:label for the linked schools:Groups`, @@ -238,15 +244,15 @@ export const defaultJsonConfig = { isArray: true, additional: "School", entityReferenceRole: "composite", - anonymize: "retain", + anonymize: "retain" }, warningLevel: { label: $localize`:Status of a note:Status`, dataType: "configurable-enum", additional: "warning-levels", - anonymize: "retain", - }, - }, + anonymize: "retain" + } + } }, "view:note": { component: "NotesManager", @@ -260,27 +266,27 @@ export const defaultJsonConfig = { groups: [ { name: $localize`:Column group name:Standard`, - columns: ["date", "subject", "category", "authors", "children"], + columns: ["date", "subject", "category", "authors", "children"] }, { name: $localize`:Column group name:Mobile`, - columns: ["date", "subject", "children"], - }, - ], + columns: ["date", "subject", "children"] + } + ] }, filters: [ { - id: "warningLevel", + id: "warningLevel" }, { id: "date", default: 1, - options: defaultDateFilters, + options: defaultDateFilters }, { - id: "category", + id: "category" }, - { id: "authors" }, + { id: "authors" } ], exportConfig: [ { label: "event_id", query: "_id" }, @@ -297,41 +303,41 @@ export const defaultJsonConfig = { { label: "participant_id", query: "_id" }, { label: "participant", query: "name" }, { label: "gender", query: "gender" }, - { label: "religion", query: "religion" }, - ], + { label: "religion", query: "religion" } + ] }, { label: "status", - query: ".status._status.id", + query: ".status._status.id" }, { query: ".school:toEntities(School)", subQueries: [ { label: "school_name", query: "name" }, - { label: "school_id", query: "entityId" }, - ], - }, - ], - }, - ], - }, + { label: "school_id", query: "entityId" } + ] + } + ] + } + ] + } }, "view:note/:id": { component: "NoteDetails", config: { - topForm: ["date", "warningLevel", "category", "authors", "attachment"], - }, + topForm: ["date", "warningLevel", "category", "authors", "attachment"] + } }, "view:import": { - component: "Import", + component: "Import" }, "view:user": { component: "EntityList", config: { entityType: "User", - columns: ["name", "phone"], + columns: ["name", "phone"] }, - permittedUserRoles: ["admin_app"], + permittedUserRoles: ["admin_app"] }, "view:user/:id": { component: "EntityDetails", @@ -345,33 +351,33 @@ export const defaultJsonConfig = { title: "", component: "Form", config: { - fieldGroups: [{ fields: ["name"] }, { fields: ["phone"] }], - }, - }, - ], + fieldGroups: [{ fields: ["name"] }, { fields: ["phone"] }] + } + } + ] }, { title: $localize`:Panel title:Security`, components: [ { - component: "UserSecurity", - }, - ], - }, - ], - }, + component: "UserSecurity" + } + ] + } + ] + } }, "view:help": { component: "MarkdownPage", config: { - markdownFile: $localize`:Filename of markdown help page (make sure the filename you enter as a translation actually exists on the server!):assets/help/help.en.md`, - }, + markdownFile: $localize`:Filename of markdown help page (make sure the filename you enter as a translation actually exists on the server!):assets/help/help.en.md` + } }, "view:attendance": { - component: "AttendanceManager", + component: "AttendanceManager" }, "view:attendance/add-day": { - component: "AddDayAttendance", + component: "AddDayAttendance" }, "view:school": { component: "EntityList", @@ -382,13 +388,13 @@ export const defaultJsonConfig = { { id: "DisplayParticipantsCount", viewComponent: "DisplayParticipantsCount", - label: $localize`Children`, + label: $localize`Children` }, "privateSchool", - "language", + "language" ], - filters: [{ id: "privateSchool" }], - }, + filters: [{ id: "privateSchool" }] + } }, "view:school/:id": { component: "EntityDetails", @@ -406,32 +412,32 @@ export const defaultJsonConfig = { { fields: ["name", "privateSchool", "parentSchool"] }, { fields: ["address", "phone"] }, { fields: ["language", "timing"] }, - { fields: ["remarks"] }, - ], - }, - }, - ], + { fields: ["remarks"] } + ] + } + } + ] }, { title: $localize`:Panel title:Students`, components: [ { title: "", - component: "ChildSchoolOverview", - }, - ], + component: "ChildSchoolOverview" + } + ] }, { title: $localize`:Panel title:Activities`, components: [ { title: "", - component: "ActivitiesOverview", - }, - ], - }, - ], - }, + component: "ActivitiesOverview" + } + ] + } + ] + } }, "view:child": { component: "ChildrenList", @@ -441,44 +447,44 @@ export const defaultJsonConfig = { { viewComponent: "ChildBlock", label: $localize`:Column title for ChildBlockComponents:Name`, - id: "name", + id: "name" }, { viewComponent: "DisplayAge", label: $localize`:Column label for age of child:Age`, id: "age", - additional: "dateOfBirth", + additional: "dateOfBirth" }, { viewComponent: "DisplayText", label: $localize`:Column label for class which child attends:Class`, - id: "schoolClass", + id: "schoolClass" }, { viewComponent: "DisplayEntity", label: $localize`:Column label for school which child attends:School`, id: "schoolId", additional: "School", - noSorting: true, + noSorting: true }, { viewComponent: "RecentAttendanceBlocks", label: $localize`:Column label for school attendance of child:Attendance (School)`, id: "schoolAttendance", additional: { - filterByActivityType: "SCHOOL_CLASS", + filterByActivityType: "SCHOOL_CLASS" }, - noSorting: true, + noSorting: true }, { viewComponent: "RecentAttendanceBlocks", label: $localize`:Column label for coaching attendance of child:Attendance (Coaching)`, id: "coachingAttendance", additional: { - filterByActivityType: "COACHING_CLASS", + filterByActivityType: "COACHING_CLASS" }, - noSorting: true, - }, + noSorting: true + } ], columnGroups: { default: $localize`:Translated name of default column group:Basic Info`, @@ -494,8 +500,8 @@ export const defaultJsonConfig = { "schoolClass", "schoolId", "center", - "status", - ], + "status" + ] }, { name: $localize`:Column group name:School Info`, @@ -507,8 +513,8 @@ export const defaultJsonConfig = { "schoolId", "schoolAttendance", "coachingAttendance", - "motherTongue", - ], + "motherTongue" + ] }, { name: $localize`:Column group name:Status`, @@ -517,8 +523,8 @@ export const defaultJsonConfig = { "name", "center", "status", - "admissionDate", - ], + "admissionDate" + ] }, { name: $localize`:Column group name:Health`, @@ -531,24 +537,24 @@ export const defaultJsonConfig = { "gender", "age", "dateOfBirth", - "birth_certificate", - ], + "birth_certificate" + ] }, { name: $localize`:Column group name:Mobile`, - columns: ["projectNumber", "name", "age"], - }, - ], + columns: ["projectNumber", "name", "age"] + } + ] }, filters: [ { - id: "center", + id: "center" }, { id: "schoolId", type: "School", - label: $localize`:Label of schools filter:School`, - }, + label: $localize`:Label of schools filter:School` + } ], exportConfig: [ { label: "Name", query: "name" }, @@ -557,10 +563,10 @@ export const defaultJsonConfig = { { label: "School", query: ".schoolId:toEntities(School).name" }, { label: "more fields can be configured - or all data exported", - query: "projectNumber", - }, - ], - }, + query: "projectNumber" + } + ] + } }, "view:child/:id": { component: "EntityDetails", @@ -578,25 +584,25 @@ export const defaultJsonConfig = { { fields: ["photo"] }, { fields: ["name", "projectNumber", "admissionDate"], - header: $localize`:Header for form section:Personal Information`, + header: $localize`:Header for form section:Personal Information` }, { fields: [ "dateOfBirth", "birth_certificate", "gender", - "motherTongue", + "motherTongue" ], - header: $localize`:Header for form section:Additional`, + header: $localize`:Header for form section:Additional` }, { fields: ["center", "status", "address", "phone"], - header: $localize`:Header for form section:Scholar activities`, - }, - ], - }, - }, - ], + header: $localize`:Header for form section:Scholar activities` + } + ] + } + } + ] }, { title: $localize`:Panel title:Education`, @@ -609,17 +615,17 @@ export const defaultJsonConfig = { columns: [ { id: "start", - visibleFrom: "sm", + visibleFrom: "sm" }, { id: "end", - visibleFrom: "sm", + visibleFrom: "sm" }, "schoolId", "schoolClass", - "result", - ], - }, + "result" + ] + } }, { title: $localize`:Title inside a panel:ASER Results`, @@ -630,30 +636,30 @@ export const defaultJsonConfig = { columns: [ { id: "date", - visibleFrom: "xs", + visibleFrom: "xs" }, { id: "math", - visibleFrom: "xs", + visibleFrom: "xs" }, { id: "english", - visibleFrom: "xs", + visibleFrom: "xs" }, { id: "hindi", - visibleFrom: "md", + visibleFrom: "md" }, { id: "bengali", - visibleFrom: "md", + visibleFrom: "md" }, { id: "remarks", - visibleFrom: "md", - }, - ], - }, + visibleFrom: "md" + } + ] + } }, { title: $localize`:Child details section title:Find a suitable new school`, @@ -661,33 +667,33 @@ export const defaultJsonConfig = { config: { rightSide: { entityType: "School", - availableFilters: [{ id: "language" }], - }, - }, - }, - ], + availableFilters: [{ id: "language" }] + } + } + } + ] }, { title: $localize`:Panel title:Attendance`, components: [ { title: "", - component: "GroupedChildAttendance", - }, - ], + component: "GroupedChildAttendance" + } + ] }, { title: $localize`:Panel title:Notes & Tasks`, components: [ { title: "", - component: "NotesRelatedToEntity", + component: "NotesRelatedToEntity" }, { title: "Tasks", - component: "TodosRelatedToEntity", - }, - ], + component: "TodosRelatedToEntity" + } + ] }, { title: $localize`:Panel title:Health`, @@ -703,13 +709,13 @@ export const defaultJsonConfig = { { id: "_description_health", editComponent: "EditDescriptionOnly", - label: $localize`:description section:Health checkups are to be done regularly, at least every 6 months according to the program guidelines.`, + label: $localize`:description section:Health checkups are to be done regularly, at least every 6 months according to the program guidelines.` }, - "health_lastDentalCheckup", - ], - }, - ], - }, + "health_lastDentalCheckup" + ] + } + ] + } }, { title: $localize`:Title inside a panel:Height & Weight Tracking`, @@ -729,13 +735,13 @@ export const defaultJsonConfig = { additional: { calculation: "bmi", valueFields: ["weight", "height"], - decimalPlaces: 1, - }, - }, - ], - }, - }, - ], + decimalPlaces: 1 + } + } + ] + } + } + ] }, { title: $localize`:Panel title:Educational Materials`, @@ -750,17 +756,17 @@ export const defaultJsonConfig = { { id: "date", visibleFrom: "xs" }, { id: "materialType", visibleFrom: "xs" }, { id: "materialAmount", visibleFrom: "md" }, - { id: "description", visibleFrom: "md" }, + { id: "description", visibleFrom: "md" } ], summaries: { countProperty: "materialAmount", groupBy: "materialType", total: true, - average: false, - }, - }, - }, - ], + average: false + } + } + } + ] }, { title: $localize`:Panel title:Observations`, @@ -775,11 +781,11 @@ export const defaultJsonConfig = { { id: "isParticipatingInClass", visibleFrom: "lg" }, { id: "isInteractingWithOthers", visibleFrom: "lg" }, { id: "doesHomework", visibleFrom: "lg" }, - { id: "asksQuestions", visibleFrom: "lg" }, - ], - }, - }, - ], + { id: "asksQuestions", visibleFrom: "lg" } + ] + } + } + ] }, { title: $localize`:Panel title:Dropout`, @@ -791,54 +797,54 @@ export const defaultJsonConfig = { fieldGroups: [ { fields: ["dropoutDate"] }, { fields: ["dropoutType"] }, - { fields: ["dropoutRemarks"] }, - ], - }, - }, - ], - }, - ], - }, + { fields: ["dropoutRemarks"] } + ] + } + } + ] + } + ] + } }, "entity:EducationalMaterial": { attributes: { child: { dataType: EntityDatatype.dataType, additional: "Child", - entityReferenceRole: "composite", + entityReferenceRole: "composite" }, date: { dataType: "date", label: $localize`:Date on which the material has been borrowed:Date`, defaultValue: { mode: "dynamic", - value: PLACEHOLDERS.NOW, - }, + value: PLACEHOLDERS.NOW + } }, materialType: { label: $localize`:The material which has been borrowed:Material`, dataType: "configurable-enum", additional: "materials", validators: { - required: true, - }, + required: true + } }, materialAmount: { dataType: "number", label: $localize`:The amount of the material which has been borrowed:Amount`, defaultValue: { mode: "static", - value: 1, + value: 1 }, validators: { - required: true, - }, + required: true + } }, description: { dataType: "string", - label: $localize`:An additional description for the borrowed material:Description`, - }, - }, + label: $localize`:An additional description for the borrowed material:Description` + } + } }, "entity:RecurringActivity": { toStringAttributes: ["title"], @@ -851,39 +857,39 @@ export const defaultJsonConfig = { dataType: "string", label: $localize`:Label for the title of a recurring activity:Title`, validators: { - required: true, - }, + required: true + } }, type: { label: $localize`:Label for the interaction type of a recurring activity:Type`, dataType: "configurable-enum", - additional: INTERACTION_TYPE_CONFIG_ID, + additional: INTERACTION_TYPE_CONFIG_ID }, participants: { label: $localize`:Label for the participants of a recurring activity:Participants`, dataType: "entity", isArray: true, - additional: "Child", + additional: "Child" }, linkedGroups: { label: $localize`:Label for the linked schools of a recurring activity:Groups`, dataType: "entity", isArray: true, - additional: "School", + additional: "School" }, excludedParticipants: { label: $localize`:Label for excluded participants of a recurring activity:Excluded Participants`, dataType: "entity", isArray: true, - additional: "Child", + additional: "Child" }, assignedTo: { label: $localize`:Label for the assigned user(s) of a recurring activity:Assigned user(s)`, dataType: "entity", isArray: true, - additional: "User", - }, - }, + additional: "User" + } + } }, "view:attendance/recurring-activity": { component: "EntityList", @@ -893,9 +899,9 @@ export const defaultJsonConfig = { exportConfig: [ { label: "Title", query: "title" }, { label: "Type", query: "type" }, - { label: "Assigned users", query: "assignedTo" }, - ], - }, + { label: "Assigned users", query: "assignedTo" } + ] + } }, "view:attendance/recurring-activity/:id": { component: "EntityDetails", @@ -911,11 +917,11 @@ export const defaultJsonConfig = { fieldGroups: [ { fields: ["title"] }, { fields: ["type"] }, - { fields: ["assignedTo"] }, - ], - }, - }, - ], + { fields: ["assignedTo"] } + ] + } + } + ] }, { title: $localize`:Panel title:Participants`, @@ -928,27 +934,27 @@ export const defaultJsonConfig = { fields: [ "linkedGroups", "participants", - "excludedParticipants", - ], - }, - ], - }, - }, - ], + "excludedParticipants" + ] + } + ] + } + } + ] }, { title: $localize`:Panel title:Events & Attendance`, components: [ { - component: "ActivityAttendanceSection", - }, - ], - }, - ], - }, + component: "ActivityAttendanceSection" + } + ] + } + ] + } }, "view:report": { - component: "Reporting", + component: "Reporting" }, "entity:Child": { @@ -958,7 +964,7 @@ export const defaultJsonConfig = { toBlockDetailsAttributes: { title: "name", image: "photo", - fields: ["phone", "schoolId", "schoolClass"], + fields: ["phone", "schoolId", "schoolClass"] }, icon: "child", color: "#1565C0", @@ -969,94 +975,94 @@ export const defaultJsonConfig = { dataType: "string", label: $localize`:Label for the name of a child:Name`, validators: { - required: true, - }, + required: true + } }, projectNumber: { dataType: "string", label: $localize`:Label for the project number of a child:Project Number`, labelShort: $localize`:Short label for the project number:PN`, searchable: true, - anonymize: "retain", + anonymize: "retain" }, dateOfBirth: { dataType: "date-with-age", label: $localize`:Label for the date of birth of a child:Date of birth`, labelShort: $localize`:Short label for the date of birth:DoB`, - anonymize: "retain-anonymized", + anonymize: "retain-anonymized" }, center: { dataType: "configurable-enum", additional: "center", label: $localize`:Label for the center of a child:Center`, - anonymize: "retain", + anonymize: "retain" }, gender: { dataType: "configurable-enum", label: $localize`:Label for the gender of a child:Gender`, additional: "genders", - anonymize: "retain", + anonymize: "retain" }, admissionDate: { dataType: "date-only", label: $localize`:Label for the admission date of a child:Admission`, - anonymize: "retain-anonymized", + anonymize: "retain-anonymized" }, status: { dataType: "string", - label: $localize`:Label for the status of a child:Status`, + label: $localize`:Label for the status of a child:Status` }, dropoutDate: { dataType: "date-only", label: $localize`:Label for the dropout date of a child:Dropout Date`, - anonymize: "retain-anonymized", + anonymize: "retain-anonymized" }, dropoutType: { dataType: "string", label: $localize`:Label for the type of dropout of a child:Dropout Type`, - anonymize: "retain", + anonymize: "retain" }, dropoutRemarks: { dataType: "string", - label: $localize`:Label for the remarks about a dropout of a child:Dropout remarks`, + label: $localize`:Label for the remarks about a dropout of a child:Dropout remarks` }, photo: { dataType: "photo", - label: $localize`:Label for the file field of a photo of a child:Photo`, + label: $localize`:Label for the file field of a photo of a child:Photo` }, phone: { dataType: "string", - label: $localize`:Label for the phone number of a child:Phone Number`, + label: $localize`:Label for the phone number of a child:Phone Number` }, address: { dataType: "location", - label: $localize`:Label for the address of a child:Address`, + label: $localize`:Label for the address of a child:Address` }, health_bloodGroup: { dataType: "string", - label: $localize`:Label for a child attribute:Blood Group`, + label: $localize`:Label for a child attribute:Blood Group` }, religion: { dataType: "string", - label: $localize`:Label for the religion of a child:Religion`, + label: $localize`:Label for the religion of a child:Religion` }, motherTongue: { dataType: "string", label: $localize`:Label for the mother tongue of a child:Mother Tongue`, - description: $localize`:Tooltip description for the mother tongue of a child:The primary language spoken at home`, + description: $localize`:Tooltip description for the mother tongue of a child:The primary language spoken at home` }, health_lastDentalCheckup: { dataType: "date", - label: $localize`:Label for a child attribute:Last Dental Check-Up`, + label: $localize`:Label for a child attribute:Last Dental Check-Up` }, birth_certificate: { dataType: "file", label: $localize`:Label for a child attribute:Birth certificate`, additional: { - acceptedFileTypes: ".pdf", - }, - }, - }, + acceptedFileTypes: ".pdf" + } + } + } } as EntityConfig, "entity:School": { toStringAttributes: ["name"], @@ -1069,34 +1075,34 @@ export const defaultJsonConfig = { dataType: "string", label: $localize`:Label for the name of a school:Name`, validators: { - required: true, - }, + required: true + } }, privateSchool: { dataType: "boolean", - label: $localize`:Label for if a school is a private school:Private School`, + label: $localize`:Label for if a school is a private school:Private School` }, language: { dataType: "string", - label: $localize`:Label for the language of a school:Language`, + label: $localize`:Label for the language of a school:Language` }, address: { dataType: "location", - label: $localize`:Label for the address of a school:Address`, + label: $localize`:Label for the address of a school:Address` }, phone: { dataType: "string", - label: $localize`:Label for the phone number of a school:Phone Number`, + label: $localize`:Label for the phone number of a school:Phone Number` }, timing: { dataType: "string", - label: $localize`:Label for the timing of a school:School Timing`, + label: $localize`:Label for the timing of a school:School Timing` }, remarks: { dataType: "string", - label: $localize`:Label for the remarks for a school:Remarks`, - }, - }, + label: $localize`:Label for the remarks for a school:Remarks` + } + } }, "entity:HistoricalEntityData": { hasPII: true, @@ -1106,47 +1112,47 @@ export const defaultJsonConfig = { label: $localize`:Label for date of historical data:Date`, defaultValue: { mode: "dynamic", - value: PLACEHOLDERS.NOW, + value: PLACEHOLDERS.NOW }, - anonymize: "retain-anonymized", + anonymize: "retain-anonymized" }, relatedEntity: { dataType: "entity", additional: "Child", entityReferenceRole: "composite", - anonymize: "retain", + anonymize: "retain" }, isMotivatedDuringClass: { dataType: "configurable-enum", additional: "rating-answer", label: $localize`:Label for a child attribute:Motivated`, - description: $localize`:Description for a child attribute:The child is motivated during the class.`, + description: $localize`:Description for a child attribute:The child is motivated during the class.` }, isParticipatingInClass: { dataType: "configurable-enum", additional: "rating-answer", label: $localize`:Label for a child attribute:Participating`, - description: $localize`:Description for a child attribute:The child is actively participating in the class.`, + description: $localize`:Description for a child attribute:The child is actively participating in the class.` }, isInteractingWithOthers: { dataType: "configurable-enum", additional: "rating-answer", label: $localize`:Label for a child attribute:Interacting`, - description: $localize`:Description for a child attribute:The child interacts with other students during the class.`, + description: $localize`:Description for a child attribute:The child interacts with other students during the class.` }, doesHomework: { dataType: "configurable-enum", additional: "rating-answer", label: $localize`:Label for a child attribute:Homework`, - description: $localize`:Description for a child attribute:The child does its homework.`, + description: $localize`:Description for a child attribute:The child does its homework.` }, asksQuestions: { dataType: "configurable-enum", additional: "rating-answer", label: $localize`:Label for a child attribute:Asking Questions`, - description: $localize`:Description for a child attribute:The child is asking questions during the class.`, - }, - }, + description: $localize`:Description for a child attribute:The child is asking questions during the class.` + } + } }, "entity:User": { toStringAttributes: ["name"], @@ -1156,11 +1162,15 @@ export const defaultJsonConfig = { hasPII: true, attributes: { - phone: { + name: { dataType: "string", - label: $localize`:Label of user phone:Contact`, + label: $localize`:Label of user field:Name` }, - }, + phone: { + dataType: "string", + label: $localize`:Label of user field:Contact` + } + } }, "view:matching": { component: "MatchingEntities", @@ -1168,24 +1178,24 @@ export const defaultJsonConfig = { rightSide: { entityType: "School", prefilter: { privateSchool: true }, - availableFilters: [{ id: "language" }], + availableFilters: [{ id: "language" }] }, - leftSide: { entityType: "Child" }, - }, + leftSide: { entityType: "Child" } + } }, "appConfig:matching-entities": { columns: [ ["name", "name"], ["motherTongue", "language"], ["address", "address"], - ["distance", "privateSchool"], + ["distance", "privateSchool"] ], onMatch: { newEntityType: ChildSchoolRelation.ENTITY_TYPE, newEntityMatchPropertyLeft: "childId", newEntityMatchPropertyRight: "schoolId", - columnsToReview: ["start", "end", "result", "childId", "schoolId"], - }, + columnsToReview: ["start", "end", "result", "childId", "schoolId"] + } }, "entity:Aser": { hasPII: true, @@ -1193,7 +1203,7 @@ export const defaultJsonConfig = { child: { dataType: "entity", additional: "Child", - entityReferenceRole: "composite", + entityReferenceRole: "composite" }, date: { @@ -1201,37 +1211,37 @@ export const defaultJsonConfig = { label: $localize`:Label for date of the ASER results:Date`, defaultValue: { mode: "dynamic", - value: PLACEHOLDERS.NOW, + value: PLACEHOLDERS.NOW }, - anonymize: "retain-anonymized", + anonymize: "retain-anonymized" }, hindi: { label: $localize`:Label of the Hindi ASER result:Hindi`, dataType: "configurable-enum", - additional: "reading-levels", + additional: "reading-levels" }, bengali: { label: $localize`:Label of the Bengali ASER result:Bengali`, dataType: "configurable-enum", - additional: "reading-levels", + additional: "reading-levels" }, english: { label: $localize`:Label of the English ASER result:English`, dataType: "configurable-enum", - additional: "reading-levels", + additional: "reading-levels" }, math: { label: $localize`:Label of the Math ASER result:Math`, dataType: "configurable-enum", - additional: "math-levels", + additional: "math-levels" }, remarks: { dataType: "string", - label: $localize`:Label for the remarks of a ASER result:Remarks`, - }, - }, + label: $localize`:Label for the remarks of a ASER result:Remarks` + } + } }, "entity:HealthCheck": { hasPII: true, @@ -1240,7 +1250,7 @@ export const defaultJsonConfig = { dataType: "entity", additional: "Child", entityReferenceRole: "composite", - anonymize: "retain", + anonymize: "retain" }, date: { dataType: "date", @@ -1248,22 +1258,22 @@ export const defaultJsonConfig = { anonymize: "retain-anonymized", defaultValue: { mode: "dynamic", - value: PLACEHOLDERS.NOW, - }, + value: PLACEHOLDERS.NOW + } }, height: { dataType: "number", label: $localize`:Label for height in cm of a health check:Height [cm]`, viewComponent: "DisplayUnit", - additional: "cm", + additional: "cm" }, weight: { dataType: "number", label: $localize`:Label for weight in kg of a health check:Weight [kg]`, viewComponent: "DisplayUnit", - additional: "kg", - }, - }, + additional: "kg" + } + } }, "entity:ChildSchoolRelation": { hasPII: true, @@ -1273,48 +1283,48 @@ export const defaultJsonConfig = { additional: "Child", entityReferenceRole: "composite", validators: { - required: true, + required: true }, anonymize: "retain", - label: $localize`:Label for the child of a relation:Child`, + label: $localize`:Label for the child of a relation:Child` }, schoolId: { dataType: "entity", additional: "School", entityReferenceRole: "aggregate", validators: { - required: true, + required: true }, anonymize: "retain", - label: $localize`:Label for the school of a relation:School`, + label: $localize`:Label for the school of a relation:School` }, schoolClass: { dataType: "string", label: $localize`:Label for the class of a relation:Class`, - anonymize: "retain", + anonymize: "retain" }, start: { dataType: "date-only", label: $localize`:Label for the start date of a relation:Start date`, description: $localize`:Description of the start date of a relation:The date a child joins a school`, - anonymize: "retain", + anonymize: "retain" }, end: { dataType: "date-only", label: $localize`:Label for the end date of a relation:End date`, description: $localize`:Description of the end date of a relation:The date of a child leaving the school`, - anonymize: "retain", + anonymize: "retain" }, result: { dataType: "percentage", label: $localize`:Label for the percentage result of a relation:Result`, validators: { min: 0, - max: 100, - }, - }, - }, + max: 100 + } + } + } }, - ...todoDefaultConfigs, + ...todoDefaultConfigs }; diff --git a/src/app/core/config/dynamic-routing/route-permissions.service.spec.ts b/src/app/core/config/dynamic-routing/route-permissions.service.spec.ts index 24da97cd15..0b8df0c908 100644 --- a/src/app/core/config/dynamic-routing/route-permissions.service.spec.ts +++ b/src/app/core/config/dynamic-routing/route-permissions.service.spec.ts @@ -3,15 +3,33 @@ import { TestBed } from "@angular/core/testing"; import { RoutePermissionsService } from "./route-permissions.service"; import { UserRoleGuard } from "../../permissions/permission-guard/user-role.guard"; import { EntityPermissionGuard } from "../../permissions/permission-guard/entity-permission.guard"; +import { MenuItem } from "app/core/ui/navigation/menu-item"; describe("RoutePermissionsService", () => { let service: RoutePermissionsService; + let mockUserRoleGuard: jasmine.SpyObj; + let mockEntityPermissionGuard: jasmine.SpyObj; + beforeEach(() => { + mockEntityPermissionGuard = jasmine.createSpyObj(["checkRoutePermissions"]); + mockEntityPermissionGuard.checkRoutePermissions.and.resolveTo(true); + + mockUserRoleGuard = jasmine.createSpyObj(["checkRoutePermissions"]); + mockUserRoleGuard.checkRoutePermissions.and.callFake( + async (path: string) => { + if (path === "allowed") { + return true; + } else { + return false; + } + }, + ); + TestBed.configureTestingModule({ providers: [ - { provide: UserRoleGuard, useValue: {} }, - { provide: EntityPermissionGuard, useValue: {} }, + { provide: UserRoleGuard, useValue: mockUserRoleGuard }, + { provide: EntityPermissionGuard, useValue: mockEntityPermissionGuard }, ], }); service = TestBed.inject(RoutePermissionsService); @@ -20,4 +38,86 @@ describe("RoutePermissionsService", () => { it("should be created", () => { expect(service).toBeTruthy(); }); + + it("should filter menu-items where user doesn't have permission for its link", async () => { + const itemPermitted: MenuItem = { + label: "Visible Item", + link: "allowed", + }; + const itemProtected: MenuItem = { + label: "Hidden Item", + link: "blocked", + }; + + const filteredItems: MenuItem[] = await service.filterPermittedRoutes([ + itemPermitted, + itemProtected, + ]); + + expect(filteredItems).toEqual([itemPermitted]); + }); + + it("should filter each submenu item based on permissions", async () => { + const itemPermitted: MenuItem = { + label: "Visible Item", + link: "allowed", + }; + const itemProtected: MenuItem = { + label: "Hidden Item", + link: "blocked", + }; + const nestedItem: MenuItem = { + label: "Parent Item", + subMenu: [itemPermitted, itemProtected], + }; + + const filteredItems: MenuItem[] = await service.filterPermittedRoutes([ + nestedItem, + ]); + + expect(filteredItems).toEqual([ + { + label: "Parent Item", + subMenu: [itemPermitted], + }, + ]); + }); + + it("should filter parent item if all submenu items are filter due to permissions", async () => { + const nestedItem: MenuItem = { + label: "Parent Item", + subMenu: [ + { + label: "Hidden Item 1", + link: "blocked", + }, + { + label: "Hidden Item 2", + link: "blocked", + }, + ], + }; + + const filteredItems: MenuItem[] = await service.filterPermittedRoutes([ + nestedItem, + ]); + + expect(filteredItems).toEqual([]); + }); }); + +/* + +Simple: + item 1 + item 2 x + +Nested: + item 1 + 1.1 + 1.2 x + + item 2 x + 2.1 x + + */ diff --git a/src/app/core/config/dynamic-routing/route-permissions.service.ts b/src/app/core/config/dynamic-routing/route-permissions.service.ts index 96687ccfb7..3fa077d336 100644 --- a/src/app/core/config/dynamic-routing/route-permissions.service.ts +++ b/src/app/core/config/dynamic-routing/route-permissions.service.ts @@ -20,15 +20,28 @@ export class RoutePermissionsService { */ async filterPermittedRoutes(items: MenuItem[]): Promise { const accessibleRoutes: MenuItem[] = []; + for (const item of items) { - if (await this.isAccessibleRouteForUser(item.link)) { + if (item.link && (await this.isAccessibleRouteForUser(item.link))) { accessibleRoutes.push(item); + } else if (item.subMenu) { + const accessibleSubItems: MenuItem[] = await this.filterPermittedRoutes( + item.subMenu, + ); + + if (accessibleSubItems.length > 0) { + // only adding the item if there is at least one accessible subMenu item + const filteredParentItem: MenuItem = Object.assign({}, item); + filteredParentItem.subMenu = accessibleSubItems; + accessibleRoutes.push(filteredParentItem); + } } } + return accessibleRoutes; } - private async isAccessibleRouteForUser(path: string) { + private async isAccessibleRouteForUser(path: string): Promise { return ( (await this.roleGuard.checkRoutePermissions(path)) && (await this.permissionGuard.checkRoutePermissions(path)) diff --git a/src/app/core/default-values/default-value-strategy.interface.ts b/src/app/core/default-values/default-value-strategy.interface.ts index 420b0e457d..668e43641b 100644 --- a/src/app/core/default-values/default-value-strategy.interface.ts +++ b/src/app/core/default-values/default-value-strategy.interface.ts @@ -3,6 +3,7 @@ import { EntitySchemaField } from "../entity/schema/entity-schema-field"; import { EntityForm } from "../common-components/entity-form/entity-form.service"; import { DefaultValueConfig } from "../entity/schema/default-value-config"; import { Entity } from "../entity/model/entity"; +import { FormFieldConfig } from "../common-components/entity-form/FormConfig"; /** * A special strategy to define and set default values, which can be used by the DefaultValueService, @@ -30,18 +31,18 @@ export abstract class DefaultValueStrategy { /** * Get the default value configs filtered for the given mode. - * @param defaultValueConfigs + * @param fieldConfigs * @param mode */ export function getConfigsByMode( - defaultValueConfigs: Map, + fieldConfigs: FormFieldConfig[], mode: ("inherited" | "static" | "dynamic")[], ): Map { let configs: Map = new Map(); - for (const [key, defaultValueConfig] of defaultValueConfigs) { - if (mode.indexOf(defaultValueConfig.mode) !== -1) { - configs.set(key, defaultValueConfig); + for (const field of fieldConfigs) { + if (mode.includes(field.defaultValue?.mode)) { + configs.set(field.id, field.defaultValue); } } diff --git a/src/app/core/default-values/default-value.service.spec.ts b/src/app/core/default-values/default-value.service.spec.ts index fc97d02296..b8d4d8fe44 100644 --- a/src/app/core/default-values/default-value.service.spec.ts +++ b/src/app/core/default-values/default-value.service.spec.ts @@ -28,7 +28,9 @@ export function getDefaultInheritedForm( return { entity: entity, - defaultValueConfigs: DefaultValueService.getDefaultValueConfigs(entity), + fieldConfigs: Array.from(entity.getSchema().entries()).map( + ([key, fieldConfig]) => ({ id: key, ...fieldConfig }), + ), inheritedParentValues: new Map(), watcher: new Map(), formGroup: new FormBuilder().group({ @@ -38,6 +40,7 @@ export function getDefaultInheritedForm( }), }; } + /** * Helper function to remove custom schema fields from Entity * that have been created using getDefaultInheritedForm(). diff --git a/src/app/core/default-values/default-value.service.ts b/src/app/core/default-values/default-value.service.ts index 2fdfad50d9..2e3cbd88ac 100644 --- a/src/app/core/default-values/default-value.service.ts +++ b/src/app/core/default-values/default-value.service.ts @@ -24,40 +24,38 @@ export class DefaultValueService { form: EntityForm, entity: Entity, ): Promise { - if (!(form.defaultValueConfigs?.size > 0)) { + if (!(form.fieldConfigs?.length > 0)) { return; } - const entitySchema: EntitySchema = entity.getSchema(); await this.inheritedValueService.initEntityForm(form); this.enableChangeListener(form); - for (const [key, entitySchemaField] of entitySchema) { - let targetFormControl = form.formGroup.get(key); + for (const fieldConfig of form.fieldConfigs) { + let targetFormControl = form.formGroup.get(fieldConfig.id); if ( !this.preConditionsFulfilled( entity.isNew, targetFormControl, - entitySchemaField, + fieldConfig, ) ) { continue; } - - switch (entitySchemaField.defaultValue?.mode) { + switch (fieldConfig.defaultValue?.mode) { case "static": - this.handleStaticMode(targetFormControl, entitySchemaField); + this.handleStaticMode(targetFormControl, fieldConfig); break; case "dynamic": this.dynamicPlaceholderValueService.setDefaultValue( targetFormControl, - entitySchemaField, + fieldConfig, ); break; case "inherited": - this.inheritedValueService.setDefaultValue( + await this.inheritedValueService.setDefaultValue( targetFormControl, - entitySchemaField, + fieldConfig, form, ); break; @@ -121,9 +119,12 @@ export class DefaultValueService { return; } - const mode = form?.defaultValueConfigs?.get(fieldId)?.mode; - if (mode === "inherited") { - return this.inheritedValueService.getDefaultValueUiHint(form, fieldId); + const fieldConfig = form?.fieldConfigs?.find((x) => x.id === fieldId); + if (fieldConfig?.defaultValue?.mode === "inherited") { + return this.inheritedValueService.getDefaultValueUiHint( + form, + fieldConfig, + ); } } diff --git a/src/app/core/default-values/inherited-value.service.spec.ts b/src/app/core/default-values/inherited-value.service.spec.ts index 4304f0b5bf..97bf0ccf40 100644 --- a/src/app/core/default-values/inherited-value.service.spec.ts +++ b/src/app/core/default-values/inherited-value.service.spec.ts @@ -47,7 +47,7 @@ describe("InheritedValueService", () => { field1: new FormControl(), }), entity: entity, - defaultValueConfigs: new Map(), + fieldConfigs: [], watcher: new Map(), inheritedParentValues: new Map(), }; @@ -86,7 +86,7 @@ describe("InheritedValueService", () => { field2: new FormControl(), }), entity: entity, - defaultValueConfigs: new Map(), + fieldConfigs: [], watcher: new Map(), inheritedParentValues: new Map(), }; @@ -129,7 +129,7 @@ describe("InheritedValueService", () => { field2: new FormControl(), }), entity: entity, - defaultValueConfigs: new Map(), + fieldConfigs: [], watcher: new Map(), inheritedParentValues: new Map(), }; diff --git a/src/app/core/default-values/inherited-value.service.ts b/src/app/core/default-values/inherited-value.service.ts index 529299986e..63fe07bbc3 100644 --- a/src/app/core/default-values/inherited-value.service.ts +++ b/src/app/core/default-values/inherited-value.service.ts @@ -11,6 +11,7 @@ import { EntityMapperService } from "../entity/entity-mapper/entity-mapper.servi import { DefaultValueConfig } from "../entity/schema/default-value-config"; import { DefaultValueHint } from "./default-value.service"; import { asArray } from "../../utils/utils"; +import { FormFieldConfig } from "../common-components/entity-form/FormConfig"; /** * An advanced default-value strategy that sets values based on the value in a referenced related entity. @@ -147,13 +148,13 @@ export class InheritedValueService extends DefaultValueStrategy { * Get details about the status and context of an inherited value field * to display to the user. * @param form - * @param fieldId + * @param field */ getDefaultValueUiHint( form: EntityForm, - fieldId: string, + field: FormFieldConfig, ): DefaultValueHint | undefined { - const defaultConfig = form?.defaultValueConfigs?.get(fieldId); + const defaultConfig = field?.defaultValue; if (!defaultConfig) { return; } @@ -172,19 +173,19 @@ export class InheritedValueService extends DefaultValueStrategy { ? Entity.extractTypeFromId(parentRefValue) : undefined, isInSync: - JSON.stringify(form.inheritedParentValues.get(fieldId)) === - JSON.stringify(form.formGroup.get(fieldId)?.value), + JSON.stringify(form.inheritedParentValues.get(field.id)) === + JSON.stringify(form.formGroup.get(field.id)?.value), syncFromParentField: () => { form.formGroup - .get(fieldId) - .setValue(form.inheritedParentValues.get(fieldId)); + .get(field.id) + .setValue(form.inheritedParentValues.get(field.id)); }, }; } private async updateLinkedEntities(form: EntityForm) { let inheritedConfigs: Map = getConfigsByMode( - form.defaultValueConfigs, + form.fieldConfigs, ["inherited"], ); diff --git a/src/app/core/ui/navigation/menu-item.ts b/src/app/core/ui/navigation/menu-item.ts index cf6f8187df..ee74b7298c 100644 --- a/src/app/core/ui/navigation/menu-item.ts +++ b/src/app/core/ui/navigation/menu-item.ts @@ -13,7 +13,9 @@ export interface MenuItem { /** * The url fragment to which the item will route to (e.g. '/dashboard') */ - link: string; + link?: string; + + subMenu?: MenuItem[]; } /** diff --git a/src/app/core/ui/navigation/menu-item/menu-item.component.html b/src/app/core/ui/navigation/menu-item/menu-item.component.html new file mode 100644 index 0000000000..d2e0b388f1 --- /dev/null +++ b/src/app/core/ui/navigation/menu-item/menu-item.component.html @@ -0,0 +1,31 @@ + + + +
{{ item.label }}
+ + +
+
+ + + diff --git a/src/app/core/ui/navigation/menu-item/menu-item.component.scss b/src/app/core/ui/navigation/menu-item/menu-item.component.scss new file mode 100644 index 0000000000..d3a418502c --- /dev/null +++ b/src/app/core/ui/navigation/menu-item/menu-item.component.scss @@ -0,0 +1,21 @@ +@use "../../../../../styles/variables/sizes"; +@use "../../../../../styles/variables/colors"; + +/* ensures that all icons have the same width */ +.nav-icon { + min-width: sizes.$max-icon-width; +} + +.matched-background { + background-color: colors.$background !important; +} + +.submenu { + padding-left: 20px; +} + +.indent-item { + margin-left: 8px; + padding-left: 8px; + width: auto; +} diff --git a/src/app/core/ui/navigation/menu-item/menu-item.component.ts b/src/app/core/ui/navigation/menu-item/menu-item.component.ts new file mode 100644 index 0000000000..42a0da7bd1 --- /dev/null +++ b/src/app/core/ui/navigation/menu-item/menu-item.component.ts @@ -0,0 +1,48 @@ +import { Component, Input } from "@angular/core"; +import { CommonModule, NgForOf } from "@angular/common"; +import { MatListModule } from "@angular/material/list"; +import { FaIconComponent } from "@fortawesome/angular-fontawesome"; +import { FaDynamicIconComponent } from "../../../common-components/fa-dynamic-icon/fa-dynamic-icon.component"; +import { RouterLink } from "@angular/router"; +import { Angulartics2Module } from "angulartics2"; +import { MenuItem } from "../menu-item"; +import { MatMenuModule } from "@angular/material/menu"; + +@Component({ + selector: "app-menu-item", + templateUrl: "./menu-item.component.html", + styleUrls: ["./menu-item.component.scss"], + imports: [ + CommonModule, + MatListModule, + FaIconComponent, + FaDynamicIconComponent, + RouterLink, + Angulartics2Module, + NgForOf, + MatMenuModule, + ], + standalone: true, +}) +export class MenuItemComponent { + /** + * The menu item to be displayed. + */ + @Input() item: MenuItem; + + /** + * The menu item link that is currently displayed in the app + * in order to highlight the active menu. + */ + @Input() activeLink: string; + + isExpanded: boolean = false; + + toggleSubMenu(): void { + this.isExpanded = !this.isExpanded; + } + + hasSubMenu(item: MenuItem): boolean { + return !!item.subMenu && item.subMenu.length > 0; + } +} diff --git a/src/app/core/ui/navigation/navigation/navigation.component.html b/src/app/core/ui/navigation/navigation/navigation.component.html index 7e77ebd422..7ae2194bc8 100644 --- a/src/app/core/ui/navigation/navigation/navigation.component.html +++ b/src/app/core/ui/navigation/navigation/navigation.component.html @@ -1,39 +1,5 @@ - - - - - -
{{ item.label }}
-
-
- +
diff --git a/src/app/core/ui/navigation/navigation/navigation.component.scss b/src/app/core/ui/navigation/navigation/navigation.component.scss index 880e13991b..e69de29bb2 100644 --- a/src/app/core/ui/navigation/navigation/navigation.component.scss +++ b/src/app/core/ui/navigation/navigation/navigation.component.scss @@ -1,11 +0,0 @@ -@use "variables/sizes"; -@use "variables/colors"; - -/* ensures that all icons have the same width */ -.nav-icon { - min-width: sizes.$max-icon-width; -} - -.matched-background { - background-color: colors.$background !important; -} diff --git a/src/app/core/ui/navigation/navigation/navigation.component.ts b/src/app/core/ui/navigation/navigation/navigation.component.ts index b9f897da24..a02755b067 100644 --- a/src/app/core/ui/navigation/navigation/navigation.component.ts +++ b/src/app/core/ui/navigation/navigation/navigation.component.ts @@ -1,31 +1,15 @@ -/* - * This file is part of ndb-core. - * - * ndb-core is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * ndb-core is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with ndb-core. If not, see . - */ - import { Component } from "@angular/core"; import { MenuItem, NavigationMenuConfig } from "../menu-item"; import { ConfigService } from "../../../config/config.service"; import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy"; -import { NavigationEnd, Router, RouterLink } from "@angular/router"; +import { NavigationEnd, Router } from "@angular/router"; import { filter, startWith } from "rxjs/operators"; import { MatListModule } from "@angular/material/list"; -import { NgForOf } from "@angular/common"; +import { CommonModule, NgForOf } from "@angular/common"; import { Angulartics2Module } from "angulartics2"; -import { FaDynamicIconComponent } from "../../../common-components/fa-dynamic-icon/fa-dynamic-icon.component"; import { RoutePermissionsService } from "../../../config/dynamic-routing/route-permissions.service"; +import { MatMenuModule } from "@angular/material/menu"; +import { MenuItemComponent } from "../menu-item/menu-item.component"; /** * Main app menu listing. @@ -39,8 +23,9 @@ import { RoutePermissionsService } from "../../../config/dynamic-routing/route-p MatListModule, NgForOf, Angulartics2Module, - RouterLink, - FaDynamicIconComponent, + MatMenuModule, + CommonModule, + MenuItemComponent, ], standalone: true, }) @@ -82,9 +67,10 @@ export class NavigationComponent { */ private computeActiveLink(newUrl: string): string { // conservative filter matching all items that could fit to the given url - const items: MenuItem[] = this.menuItems.filter((item) => - newUrl.startsWith(item.link), - ); + // flatten nested submenu items to parse all + const items: MenuItem[] = this.menuItems + .reduce((acc, item) => acc.concat(item, item.subMenu || []), []) + .filter((item) => newUrl.startsWith(item.link)); switch (items.length) { case 0: return ""; diff --git a/src/app/core/ui/navigation/navigation/navigation.stories.ts b/src/app/core/ui/navigation/navigation/navigation.stories.ts new file mode 100644 index 0000000000..99986a4941 --- /dev/null +++ b/src/app/core/ui/navigation/navigation/navigation.stories.ts @@ -0,0 +1,78 @@ +import { applicationConfig, Meta, StoryFn } from "@storybook/angular"; +import { StorybookBaseModule } from "../../../../utils/storybook-base.module"; +import { importProvidersFrom } from "@angular/core"; +import { NavigationComponent } from "./navigation.component"; +import { MenuItem } from "../menu-item"; + +export default { + title: "Core/UI/Navigation", + component: NavigationComponent, + decorators: [ + applicationConfig({ + providers: [importProvidersFrom(StorybookBaseModule)], + }), + ], +} as Meta; + +const Template: StoryFn = (args: NavigationComponent) => ({ + component: NavigationComponent, + props: args, +}); + +const flatMenuItems: MenuItem[] = [ + { + label: "Home", + icon: "home", + link: "/", + subMenu: [], + }, + { + label: "About", + icon: "info", + link: "/about", + }, + { + label: "Contact", + icon: "contact", + link: "/contact", + }, +]; + +const nestedMenuItems: MenuItem[] = [ + { + label: "Services", + icon: "build", + subMenu: [ + { + label: "Web Development", + icon: "code", + link: "/services/web-development", + }, + { + label: "App Development", + icon: "phone_android", + link: "/services/app-development", + }, + ], + }, + { + label: "Portfolio", + icon: "work", + link: "/portfolio", + }, + { + label: "Blog", + icon: "article", + link: "/blog", + }, +]; + +export const FlatMenu = Template.bind({}); +FlatMenu.args = { + menuItems: flatMenuItems, +}; + +export const NestedMenu = Template.bind({}); +NestedMenu.args = { + menuItems: nestedMenuItems, +}; diff --git a/src/app/features/public-form/demo-public-form-generator.service.ts b/src/app/features/public-form/demo-public-form-generator.service.ts index 42e2ccead7..88e23c7e35 100644 --- a/src/app/features/public-form/demo-public-form-generator.service.ts +++ b/src/app/features/public-form/demo-public-form-generator.service.ts @@ -1,6 +1,7 @@ import { Injectable } from "@angular/core"; import { DemoDataGenerator } from "../../core/demo-data/demo-data-generator"; import { PublicFormConfig } from "./public-form-config"; +import { PLACEHOLDERS } from "../../core/entity/schema/entity-schema-field"; @Injectable() export class DemoPublicFormGeneratorService extends DemoDataGenerator { @@ -18,8 +19,24 @@ export class DemoPublicFormGeneratorService extends DemoDataGenerator { testFormConfig = new PublicFormConfig("form-id"); testFormConfig.title = "test form"; testFormConfig.entity = "TestEntity"; - testFormConfig.columns = [["name"], ["category"]]; + testFormConfig.columns = [ + { + fields: [ + { + id: "name", + defaultValue: { mode: "static", value: "default name" }, + }, + "category", + ], + }, + ]; TestBed.configureTestingModule({ imports: [PublicFormComponent, MockedTestingModule.withState()], providers: [ @@ -73,17 +82,6 @@ describe("PublicFormComponent", () => { expect(component.formConfig.title).toBe("Some test title"); })); - it("should prefill entity with transformed values", fakeAsync(() => { - testFormConfig.prefilled = { name: "new", category: "M" }; - initComponent(); - tick(); - - expect(component.entity.name).toBe("new"); - expect(component.entity.category).toBe( - genders.find(({ id }) => id === "M"), - ); - })); - it("should show a snackbar and reset form when the form has been submitted", fakeAsync(() => { initComponent(); tick(); @@ -100,7 +98,6 @@ describe("PublicFormComponent", () => { ); tick(); expect(openSnackbarSpy).toHaveBeenCalled(); - expect(component.form.formGroup.get("name")).toHaveValue(null); })); it("should show a snackbar error and not reset when trying to submit invalid form", fakeAsync(() => { @@ -132,8 +129,45 @@ describe("PublicFormComponent", () => { component.reset(); tick(); + })); + + it("should set default value for field", fakeAsync(() => { + const config = new PublicFormConfig(); + config.entity = TestEntity.ENTITY_TYPE; + config.columns = [ + { + fields: [ + { + id: "name", + defaultValue: { mode: "static", value: "default name" }, + }, + ], + }, + ]; + spyOn(TestBed.inject(EntityMapperService), "load").and.resolveTo(config); + + initComponent(); + tick(); + + expect(component.form.formGroup.get("name")).toHaveValue("default name"); + })); + + it("should migrate old PublicFormConfig format to be backwards compatible", fakeAsync(() => { + const legacyConfig = { + _id: "PublicFormConfig:old-form", + title: "Old Form", + entity: TestEntity.ENTITY_TYPE, + columns: [["name"]], // string[][]; + prefilled: { name: "default name" }, // { [key in string]: any }; + }; + spyOn(TestBed.inject(EntityMapperService), "load").and.resolveTo( + legacyConfig as any, + ); + + initComponent(); + tick(); - expect(component.form.formGroup.get("name")).toHaveValue(null); + expect(component.form.formGroup.get("name")).toHaveValue("default name"); })); function initComponent() { diff --git a/src/app/features/public-form/public-form.component.ts b/src/app/features/public-form/public-form.component.ts index 4695170de0..460211bf04 100644 --- a/src/app/features/public-form/public-form.component.ts +++ b/src/app/features/public-form/public-form.component.ts @@ -18,6 +18,8 @@ import { MatCardModule } from "@angular/material/card"; import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy"; import { FieldGroup } from "../../core/entity-details/form/field-group"; import { InvalidFormFieldError } from "../../core/common-components/entity-form/invalid-form-field.error"; +import { FormFieldConfig } from "app/core/common-components/entity-form/FormConfig"; +import { DefaultValueConfig } from "../../core/entity/schema/default-value-config"; @UntilDestroy() @Component({ @@ -29,7 +31,6 @@ import { InvalidFormFieldError } from "../../core/common-components/entity-form/ }) export class PublicFormComponent implements OnInit { private entityType: EntityConstructor; - private prefilled: Partial = {}; formConfig: PublicFormConfig; entity: E; fieldGroups: FieldGroup[]; @@ -86,24 +87,66 @@ export class PublicFormComponent implements OnInit { this.entityType = this.entities.get( this.formConfig.entity, ) as EntityConstructor; - if (this.formConfig.prefilled) { - this.prefilled = this.entitySchemaService.transformDatabaseToEntityFormat( - this.formConfig.prefilled, - this.entityType.schema, + this.formConfig = this.migratePublicFormConfig(this.formConfig); + this.fieldGroups = this.formConfig.columns; + await this.initForm(); + } + + private migratePublicFormConfig( + formConfig: PublicFormConfig, + ): PublicFormConfig { + if (formConfig.columns) { + formConfig.columns = formConfig.columns.map( + (column: FieldGroup | string[]) => ({ + fields: Array.isArray(column) ? column : column.fields || [], + }), ); } - this.fieldGroups = this.formConfig.columns.map((row) => ({ fields: row })); - await this.initForm(); + + for (let [id, value] of Object.entries(formConfig["prefilled"] ?? [])) { + const defaultValue: DefaultValueConfig = { mode: "static", value }; + + const field: FormFieldConfig = this.findFieldInFieldGroups(id); + if (!field) { + // add new field to last column + const lastColumn: FieldGroup = + formConfig.columns[formConfig.columns.length - 1]; + lastColumn.fields.push({ id, defaultValue, hideFromForm: true }); + } else { + field.defaultValue = defaultValue; + } + } + delete formConfig.prefilled; + + return formConfig; + } + + private findFieldInFieldGroups(id: string): FormFieldConfig { + for (const column of this.formConfig.columns) { + for (const field of column.fields) { + if (typeof field === "string" && field === id) { + // replace the string with a field object, so that we can pass by reference + const newField: FormFieldConfig = { id: field }; + column.fields[column.fields.indexOf(field)] = newField; + return newField; + } else if (typeof field === "object" && field.id === id) { + return field; + } + } + } + return undefined; } private async initForm() { this.entity = new this.entityType(); - Object.entries(this.prefilled).forEach(([prop, value]) => { - this.entity[prop] = value; - }); - this.form = await this.entityFormService.createEntityForm( - [].concat(...this.fieldGroups.map((group) => group.fields)), - this.entity, - ); + this.entityFormService + .createEntityForm( + [].concat(...this.fieldGroups.map((group) => group.fields)), + this.entity, + ) + .then((value) => { + this.form = value; + const formControls = this.form.formGroup.controls; + }); } } diff --git a/src/app/features/todos/model/todo-default-configs.ts b/src/app/features/todos/model/todo-default-configs.ts index 6050e5595b..6251b56c75 100644 --- a/src/app/features/todos/model/todo-default-configs.ts +++ b/src/app/features/todos/model/todo-default-configs.ts @@ -1,79 +1,5 @@ -import { TimeInterval } from "../recurring-interval/time-interval"; - export const todoDefaultConfigs = { - "entity:Todo": { - label: $localize`:label for entity:Task`, - labelPlural: $localize`:label (plural) for entity:Tasks`, - toStringAttributes: ["subject"], - hasPII: true, - - attributes: { - subject: { - dataType: "string", - label: $localize`:Label:Subject`, - showInDetailsView: true, - }, - description: { - dataType: "long-text", - showInDetailsView: true, - label: $localize`:Label:Description`, - }, - deadline: { - dataType: "date-only", - showInDetailsView: true, - anonymize: "retain", - label: $localize`:Label:Deadline`, - }, - startDate: { - dataType: "date-only", - showInDetailsView: true, - anonymize: "retain", - label: $localize`:Label:Start date`, - description: $localize`:Description:When you are planning to start work so that you keep enough time before the actual hard deadline.`, - }, - assignedTo: { - label: $localize`:Label:Assigned to`, - dataType: "entity", - isArray: true, - additional: "User", - showInDetailsView: true, - defaultValue: { - mode: "dynamic", - value: "$current_user", - }, - anonymize: "retain", - }, - relatedEntities: { - dataType: "entity", - isArray: true, - label: $localize`:label for the related Entities:Related Records`, - additional: ["Child", "School", "RecurringActivity"], - entityReferenceRole: "composite", - showInDetailsView: true, - anonymize: "retain", - }, - repetitionInterval: { - label: $localize`:label for Todo entity property:repeats`, - additional: [ - { - label: $localize`:repetition interval option:every week`, - interval: { amount: 1, unit: "week" }, - }, - { - label: $localize`:repetition interval option:every month`, - interval: { amount: 1, unit: "month" }, - }, - ] as { label: string; interval: TimeInterval }[], - showInDetailsView: true, - anonymize: "retain", - }, - completed: { - label: $localize`:label for Todo entity property:completed`, - viewComponent: "DisplayTodoCompletion", - anonymize: "retain", - }, - }, - }, + // for "entity:Todo" see todo.ts DatabaseField annotations "view:todo": { component: "TodoList", config: { diff --git a/src/app/features/todos/model/todo.ts b/src/app/features/todos/model/todo.ts index e19f6e9f26..18c8e4dd8e 100644 --- a/src/app/features/todos/model/todo.ts +++ b/src/app/features/todos/model/todo.ts @@ -1,9 +1,11 @@ import { DatabaseEntity } from "../../../core/entity/database-entity.decorator"; import { Entity } from "../../../core/entity/model/entity"; +import { DatabaseField } from "../../../core/entity/database-field.decorator"; +import { RecurringActivity } from "../../../child-dev-project/attendance/model/recurring-activity"; import { TimeInterval } from "../recurring-interval/time-interval"; import { TodoCompletion } from "./todo-completion"; import { WarningLevel } from "../../../child-dev-project/warning-level"; -import { DatabaseField } from "../../../core/entity/database-field.decorator"; +import { PLACEHOLDERS } from "../../../core/entity/schema/entity-schema-field"; /** * Base Entity Type for the Todo Feature. @@ -13,28 +15,56 @@ import { DatabaseField } from "../../../core/entity/database-field.decorator"; */ @DatabaseEntity("Todo") export class Todo extends Entity { + static override label = $localize`:label for entity:Task`; + static override labelPlural = $localize`:label (plural) for entity:Tasks`; + static override toStringAttributes = ["subject"]; + static override hasPII = true; + static create(properties: Partial): Todo { const instance = new Todo(); Object.assign(instance, properties); return instance; } - @DatabaseField() + @DatabaseField({ label: $localize`:Label:Subject`, showInDetailsView: true }) subject: string = ""; - @DatabaseField() - description: string = ""; - - @DatabaseField({ dataType: "date-only" }) + @DatabaseField({ + dataType: "date-only", + label: $localize`:Label:Deadline`, + showInDetailsView: true, + anonymize: "retain", + }) deadline: Date; - /** - * Optional field to specify a point in time from when the task can be started. - */ - @DatabaseField({ dataType: "date-only" }) - startDate?: Date; + @DatabaseField({ + dataType: "date-only", + label: $localize`:Label:Start date`, + description: $localize`:Description:When you are planning to start work so that you keep enough time before the actual hard deadline.`, + showInDetailsView: true, + anonymize: "retain", + }) + startDate: Date; + + @DatabaseField({ + label: $localize`:Label:Description`, + editComponent: "EditLongText", + showInDetailsView: true, + }) + description: string = ""; - @DatabaseField({ dataType: "entity", isArray: true }) + @DatabaseField({ + label: $localize`:Label:Assigned to`, + dataType: "entity", + isArray: true, + additional: "User", + showInDetailsView: true, + defaultValue: { + mode: "dynamic", + value: PLACEHOLDERS.CURRENT_USER, + }, + anonymize: "retain", + }) assignedTo: string[] = []; /** @@ -42,13 +72,39 @@ export class Todo extends Entity { * * This property saves ids including their entity type prefix. */ - @DatabaseField({ dataType: "entity", isArray: true }) + @DatabaseField({ + dataType: "entity", + isArray: true, + label: $localize`:label for the related Entities:Related Records`, + additional: ["Child", "School", RecurringActivity.ENTITY_TYPE], + entityReferenceRole: "composite", + showInDetailsView: true, + anonymize: "retain", + }) relatedEntities: string[] = []; - @DatabaseField() + @DatabaseField({ + label: $localize`:label for Todo entity property:repeats`, + additional: [ + { + label: $localize`:repetition interval option:every week`, + interval: { amount: 1, unit: "week" }, + }, + { + label: $localize`:repetition interval option:every month`, + interval: { amount: 1, unit: "month" }, + }, + ] as { label: string; interval: TimeInterval }[], + showInDetailsView: true, + anonymize: "retain", + }) repetitionInterval: TimeInterval; - @DatabaseField() + @DatabaseField({ + label: $localize`:label for Todo entity property:completed`, + viewComponent: "DisplayTodoCompletion", + anonymize: "retain", + }) completed?: TodoCompletion; override get isActive(): boolean { diff --git a/src/assets/locale/messages.de.xlf b/src/assets/locale/messages.de.xlf index eae42b7447..4f2e24ff95 100644 --- a/src/assets/locale/messages.de.xlf +++ b/src/assets/locale/messages.de.xlf @@ -511,7 +511,7 @@ The material which has been borrowed src/app/core/config/config-fix.ts - 823 + 825 @@ -520,7 +520,7 @@ The amount of the material which has been borrowed src/app/core/config/config-fix.ts - 832 + 834 @@ -529,7 +529,7 @@ An additional description for the borrowed material src/app/core/config/config-fix.ts - 843 + 845 src/app/features/template-export/template-export.entity.ts @@ -690,7 +690,7 @@ Label for height in cm of a health check src/app/core/config/config-fix.ts - 1254 + 1262 @@ -699,7 +699,7 @@ Label for weight in kg of a health check src/app/core/config/config-fix.ts - 1260 + 1268 @@ -1159,7 +1159,7 @@ label for entity src/app/core/config/config-fix.ts - 168 + 173 @@ -1172,15 +1172,15 @@ src/app/core/config/config-fix.ts - 173 + 178 src/app/core/config/config-fix.ts - 396 + 391 src/app/core/config/config-fix.ts - 958 + 962 @@ -1189,7 +1189,7 @@ Label for the subject of a note src/app/core/config/config-fix.ts - 196 + 201 src/app/features/todos/model/todo-default-configs.ts @@ -1353,26 +1353,34 @@ The progress, e.g. of a certain activity src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts - 73 - - - - Quick actions - Schnellzugriffe - - src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.html - 4 + 94 - Title of dashboard widget that shows a list of certain actions a user can - click on Copy the link to share or paste it somewhere else Link kopieren, um ihn zu teilen oder einzufügen src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.html - 35 + 32 + + + + Quick Actions + Schnellzugriffe + + src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.ts + 48 + + dashboard widget subtitle + + + Shortcuts to quickly navigate to common actions + Links, um einfach zu häufig benötigten Bereichen zu navigieren + + src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.ts + 50 + dashboard widget explanation Example form @@ -1587,11 +1595,11 @@ Upcoming Birthdays Anstehende Geburtstage + dashboard widget subtitle - src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.html - 4 + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts + 59 - Subtitle of the birthday widget yrs @@ -1608,21 +1616,21 @@ Vorherige Gruppierung src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 11 + 21 - + by - nach : + von + >"/> : src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 22,32 + 32,40 @@ -1630,7 +1638,7 @@ Nächste Gruppierung src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 33 + 44 @@ -1639,7 +1647,7 @@ Label for children count dashboard src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 49 + 62 @@ -1648,7 +1656,7 @@ The center that a partiipant belongs to, e.g. a city src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 75 + 88 @@ -1657,7 +1665,7 @@ The amount of children that study at one school src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 78 + 91 @@ -1666,9 +1674,18 @@ A link that takes a user to a center src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 81 + 94 + + Counting all "active" records. If configured, you can view different disaggregations by using the arrows below. + Anzahl der "aktiven" Datensätze. Wenn konfiguriert, können Sie über die Pfeile verschiedene Disaggregationen einsehen. + + src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.ts + 126 + + dashboard widget explanation + dismiss schließen @@ -1933,7 +1950,7 @@ Manuelle Adresse aktualisieren? src/app/features/location/address-edit/address-edit.component.ts - 104 + 106 @@ -1941,7 +1958,23 @@ Wollen Sie den manuell eingetragenen Adresstext mit dem Ergebnis der Addresssuche ersetzen? Das überschreibt "" mit "". Der auf der Karte markierte Standort wird von dieser Entscheidung nicht beeinflusst. src/app/features/location/address-edit/address-edit.component.ts - 105 + 107 + + + + To accurately log your current address, please allow GPS access. + Um Ihren aktuellen Standort zu nutzen, erlauben Sie Bitte Zugriff auf das GPS des Geräts. + + src/app/features/location/address-gps-location/address-gps-location.component.html + 4 + + + + Failed to access device location. Please check if location permission is enabled in your device settings + Fehler beim Zugriff des Gerätestandorts. Bitte überprüfen Sie, ob die nötige Berechtigung zum Zugriff freigegeben ist. + + src/app/features/location/address-gps-location/address-gps-location.component.ts + 54 @@ -1949,8 +1982,7 @@ Adresse suchen src/app/features/location/address-search/address-search.component.html - 2 - + 2 Loading results... @@ -1980,6 +2012,14 @@ 30,32 + + [selected coordinates: - ] + [Koordinaten: - ] + + src/app/features/location/geo.service.ts + 91 + + Show the location marked on the map. Standort auf Karte anzeigen. @@ -2010,15 +2050,7 @@ Adresse suchen oder auf die Karte klicken, um einen anderen Standort auszuwählen. src/app/features/location/map-popup/map-popup.component.ts - 59 - - - - [selected on map: - ] - [auf Karte ausgewählt: - ] - - src/app/features/location/map-popup/map-popup.component.ts - 112 + 56 @@ -2159,7 +2191,7 @@ src/app/core/config/config-fix.ts - 1063 + 1071 @@ -2172,7 +2204,7 @@ src/app/core/config/config-fix.ts - 679 + 677 @@ -2194,9 +2226,18 @@ Menu item src/app/core/config/config-fix.ts - 71 + 66 + + Admin Overview + Admin Übersicht + + src/app/core/config/config-fix.ts + 70 + + Menu item + Site settings App-Einstellungen @@ -2220,11 +2261,11 @@ Menu item src/app/core/config/config-fix.ts - 56 + 75 src/app/core/config/config-fix.ts - 1153 + 1161 @@ -2233,7 +2274,7 @@ Menu item src/app/core/config/config-fix.ts - 61 + 56 @@ -2242,7 +2283,7 @@ Menu item src/app/core/config/config-fix.ts - 66 + 61 @@ -2252,7 +2293,7 @@ Dashboard shortcut widget src/app/core/config/config-fix.ts - 86 + 92 @@ -2262,7 +2303,7 @@ Dashboard shortcut widget src/app/core/config/config-fix.ts - 91 + 97 @@ -2272,7 +2313,7 @@ Dashboard shortcut widget src/app/core/config/config-fix.ts - 96 + 102 @@ -2281,7 +2322,7 @@ Attendance week dashboard widget label src/app/core/config/config-fix.ts - 143 + 148 @@ -2290,7 +2331,7 @@ Attendance week dashboard widget label src/app/core/config/config-fix.ts - 150 + 155 @@ -2299,7 +2340,7 @@ Attendance week dashboard widget label src/app/core/config/config-fix.ts - 136 + 141 @@ -2308,7 +2349,7 @@ Title for notes overview src/app/core/config/config-fix.ts - 255 + 260 @@ -2317,11 +2358,11 @@ Translated name of default column group src/app/core/config/config-fix.ts - 259 + 264 src/app/core/config/config-fix.ts - 263 + 268 @@ -2330,19 +2371,19 @@ Translated name of mobile column group src/app/core/config/config-fix.ts - 260 + 265 src/app/core/config/config-fix.ts - 273 + 272 src/app/core/config/config-fix.ts - 497 + 491 src/app/core/config/config-fix.ts - 550 + 544 @@ -2350,7 +2391,7 @@ Anhang src/app/core/config/config-fix.ts - 220 + 225 @@ -2408,7 +2449,7 @@ Panel title src/app/core/config/config-fix.ts - 353 + 348 @@ -2417,7 +2458,7 @@ Panel title src/app/core/config/config-fix.ts - 368 + 360 @@ -2426,7 +2467,7 @@ Filename of markdown help page (make sure the filename you enter as a translation actually exists on the server!) src/app/core/config/config-fix.ts - 381 + 373 @@ -2435,15 +2476,15 @@ Panel title src/app/core/config/config-fix.ts - 411 + 405 src/app/core/config/config-fix.ts - 584 + 577 src/app/core/config/config-fix.ts - 914 + 912 @@ -2452,7 +2493,7 @@ Panel title src/app/core/config/config-fix.ts - 428 + 422 @@ -2461,7 +2502,7 @@ Panel title src/app/core/config/config-fix.ts - 437 + 431 @@ -2474,7 +2515,7 @@ src/app/core/config/config-fix.ts - 460 + 454 @@ -2550,7 +2591,7 @@ Column label for school attendance of child src/app/core/config/config-fix.ts - 478 + 472 @@ -2559,7 +2600,7 @@ Column label for coaching attendance of child src/app/core/config/config-fix.ts - 487 + 481 @@ -2568,11 +2609,11 @@ Translated name of default column group src/app/core/config/config-fix.ts - 496 + 490 src/app/core/config/config-fix.ts - 500 + 494 @@ -2581,7 +2622,7 @@ Column group name src/app/core/config/config-fix.ts - 513 + 507 @@ -2590,11 +2631,11 @@ Column group name src/app/core/config/config-fix.ts - 536 + 530 src/app/core/config/config-fix.ts - 701 + 699 @@ -2603,7 +2644,7 @@ Header for form section src/app/core/config/config-fix.ts - 594 + 587 @@ -2612,7 +2653,7 @@ Header for form section src/app/core/config/config-fix.ts - 598 + 596 @@ -2621,7 +2662,7 @@ Header for form section src/app/core/config/config-fix.ts - 602 + 600 @@ -2630,7 +2671,7 @@ Panel title src/app/core/config/config-fix.ts - 610 + 608 @@ -2639,7 +2680,7 @@ Title inside a panel src/app/core/config/config-fix.ts - 613 + 611 @@ -2648,7 +2689,7 @@ Title inside a panel src/app/core/config/config-fix.ts - 633 + 631 @@ -2657,7 +2698,7 @@ Child details section title src/app/core/config/config-fix.ts - 667 + 665 @@ -2666,7 +2707,7 @@ Panel title src/app/core/config/config-fix.ts - 688 + 686 @@ -2675,7 +2716,7 @@ description section src/app/core/config/config-fix.ts - 711 + 712 @@ -2684,7 +2725,7 @@ Title inside a panel src/app/core/config/config-fix.ts - 719 + 721 @@ -2693,7 +2734,7 @@ Panel title src/app/core/config/config-fix.ts - 745 + 747 @@ -2702,7 +2743,7 @@ Panel title src/app/core/config/config-fix.ts - 770 + 772 @@ -2711,7 +2752,7 @@ label (plural) for entity src/app/core/config/config-fix.ts - 850 + 852 @@ -2720,7 +2761,7 @@ Panel title src/app/core/config/config-fix.ts - 942 + 946 @@ -2929,7 +2970,7 @@ src/app/core/config/config-fix.ts - 789 + 791 @@ -2938,11 +2979,11 @@ Label for the phone number of a child src/app/core/config/config-fix.ts - 1027 + 1035 src/app/core/config/config-fix.ts - 1087 + 1095 @@ -3060,11 +3101,11 @@ src/app/core/config/config-fix.ts - 169 + 174 src/app/core/config/config-fix.ts - 200 + 205 @@ -3073,7 +3114,7 @@ Label for the social worker(s) who created the note src/app/core/config/config-fix.ts - 203 + 208 @@ -3082,7 +3123,7 @@ Label for the category of a note src/app/core/config/config-fix.ts - 214 + 219 @@ -3091,7 +3132,7 @@ label for the related Entities src/app/core/config/config-fix.ts - 229 + 234 src/app/features/todos/model/todo-default-configs.ts @@ -3104,23 +3145,23 @@ Label for the date of a note src/app/core/config/config-fix.ts - 186 + 191 src/app/core/config/config-fix.ts - 816 + 818 src/app/core/config/config-fix.ts - 1104 + 1112 src/app/core/config/config-fix.ts - 1199 + 1207 src/app/core/config/config-fix.ts - 1245 + 1253 @@ -3129,7 +3170,7 @@ Label of the Math ASER result src/app/core/config/config-fix.ts - 1223 + 1231 @@ -3142,7 +3183,7 @@ src/app/core/config/config-fix.ts - 1218 + 1226 @@ -3155,7 +3196,7 @@ src/app/core/config/config-fix.ts - 1208 + 1216 @@ -3168,7 +3209,7 @@ src/app/core/config/config-fix.ts - 1213 + 1221 @@ -3177,20 +3218,24 @@ Column title for ChildBlockComponents src/app/core/config/config-fix.ts - 455 + 449 src/app/core/config/config-fix.ts - 968 + 976 src/app/core/config/config-fix.ts - 1068 + 1076 src/app/features/reporting/demo-report-config-generator.service.ts 93 + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 9 + Project Number @@ -3198,7 +3243,7 @@ Label for the project number of a child src/app/core/config/config-fix.ts - 975 + 983 @@ -3206,19 +3251,19 @@ Vermerk src/app/child-dev-project/attendance/edit-attendance/edit-attendance.component.html - 46 + 43 src/app/child-dev-project/attendance/edit-attendance/edit-attendance.component.html - 97 + 91 src/app/core/config/config-fix.ts - 1095 + 1103 src/app/core/config/config-fix.ts - 1230 + 1238 @@ -3328,7 +3373,7 @@ Short label for the project number src/app/core/config/config-fix.ts - 976 + 984 @@ -3337,7 +3382,7 @@ Label for the date of birth of a child src/app/core/config/config-fix.ts - 982 + 990 @@ -3346,7 +3391,7 @@ Short label for the date of birth src/app/core/config/config-fix.ts - 983 + 991 @@ -3355,7 +3400,7 @@ Label for the gender of a child src/app/core/config/config-fix.ts - 994 + 1002 @@ -4031,11 +4076,11 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Column label for class which child attends src/app/core/config/config-fix.ts - 466 + 460 src/app/core/config/config-fix.ts - 1291 + 1299 @@ -4052,7 +4097,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi src/app/core/config/config-fix.ts - 1296 + 1304 src/app/core/entity-details/related-time-period-entities/time-period.ts @@ -4077,7 +4122,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi src/app/core/config/config-fix.ts - 1297 + 1305 @@ -4094,7 +4139,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi src/app/core/config/config-fix.ts - 1302 + 1310 src/app/core/entity-details/related-time-period-entities/time-period.ts @@ -4115,7 +4160,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi src/app/core/config/config-fix.ts - 1303 + 1311 @@ -4124,7 +4169,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the percentage result of a relation src/app/core/config/config-fix.ts - 1308 + 1316 @@ -4376,15 +4421,23 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label gender - + Notes needing follow-up offene Notizen - src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.html - 3 + src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.ts + 35 + + dashboard widget subtitle + + + Notes require immediate attention or follow-up actions + Notizen, die markiert sind zur Nachbereitung + + src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.ts + 37 - dashboard showing notes that require action - subtitle + dashboard widget explanation >  days @@ -4455,19 +4508,19 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi src/app/core/config/config-fix.ts - 471 + 465 src/app/core/config/config-fix.ts - 566 + 556 src/app/core/config/config-fix.ts - 1062 + 1070 src/app/core/config/config-fix.ts - 1287 + 1295 @@ -4512,7 +4565,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi label for entity src/app/core/config/config-fix.ts - 849 + 851 @@ -4525,7 +4578,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi src/app/core/config/config-fix.ts - 856 + 858 src/app/features/template-export/template-export.entity.ts @@ -4541,7 +4594,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi src/app/core/config/config-fix.ts - 862 + 864 @@ -4614,11 +4667,11 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the participants of a recurring activity src/app/core/config/config-fix.ts - 867 + 869 src/app/core/config/config-fix.ts - 929 + 927 src/app/features/reporting/demo-report-config-generator.service.ts @@ -4631,11 +4684,11 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi label for the linked schools src/app/core/config/config-fix.ts - 237 + 242 src/app/core/config/config-fix.ts - 873 + 875 @@ -4644,7 +4697,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for excluded participants of a recurring activity src/app/core/config/config-fix.ts - 879 + 881 @@ -4653,7 +4706,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the assigned user(s) of a recurring activity src/app/core/config/config-fix.ts - 885 + 887 @@ -4662,7 +4715,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the center of a child src/app/core/config/config-fix.ts - 989 + 997 @@ -4671,7 +4724,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the admission date of a child src/app/core/config/config-fix.ts - 1000 + 1008 @@ -4680,15 +4733,15 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Status of a note src/app/core/config/config-fix.ts - 245 + 250 src/app/core/config/config-fix.ts - 526 + 520 src/app/core/config/config-fix.ts - 1005 + 1013 @@ -4697,7 +4750,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the dropout date of a child src/app/core/config/config-fix.ts - 1009 + 1017 @@ -4706,7 +4759,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the type of dropout of a child src/app/core/config/config-fix.ts - 1014 + 1022 @@ -4715,7 +4768,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the remarks about a dropout of a child src/app/core/config/config-fix.ts - 1019 + 1027 @@ -4724,7 +4777,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the file field of a photo of a child src/app/core/config/config-fix.ts - 1023 + 1031 @@ -4733,11 +4786,11 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for child src/app/core/config/config-fix.ts - 957 + 961 src/app/core/config/config-fix.ts - 1277 + 1285 @@ -4746,7 +4799,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Table header, Short for Body Mass Index src/app/core/config/config-fix.ts - 730 + 732 @@ -4755,7 +4808,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Tooltip for BMI info src/app/core/config/config-fix.ts - 731 + 733 @@ -5009,29 +5062,47 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Table showing organization progress Eine Tabelle welche den Fortschritt der Organisation anzeigt + Label for progress dashboard src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 12 + 14 - Label for progress dashboard Progress Bar Fortschrittsanzeige + A visual aid to understand a progress of sorts src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 36,38 + 38 - A visual aid to understand a progress of sorts Progress Value Fortschritt + A progress in numbers src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 39 + 41 - A progress in numbers + + + Progress Overview + Fortschitts-Übersicht + + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts + 47 + + dashboard widget subtitle + + + Shows the progress of different parts of project tasks. You can use this to track any kind of targets. + Fortschritt verschiedener Teile von Projektaufgaben. Sie können damit beliebige Ziele dokumentieren. + + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts + 49 + + dashboard widget explanation Coaching Class @@ -5048,11 +5119,11 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the address of a child src/app/core/config/config-fix.ts - 1031 + 1039 src/app/core/config/config-fix.ts - 1083 + 1091 @@ -5061,7 +5132,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for a child attribute src/app/core/config/config-fix.ts - 1035 + 1043 @@ -5070,7 +5141,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the religion of a child src/app/core/config/config-fix.ts - 1039 + 1047 @@ -5079,7 +5150,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the mother tongue of a child src/app/core/config/config-fix.ts - 1043 + 1051 @@ -5088,7 +5159,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Tooltip description for the mother tongue of a child src/app/core/config/config-fix.ts - 1044 + 1052 @@ -5097,7 +5168,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for a child attribute src/app/core/config/config-fix.ts - 1048 + 1056 @@ -5106,17 +5177,17 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for a child attribute src/app/core/config/config-fix.ts - 1052 + 1060 Private School Privatschule + Label for if a school is a private school src/app/core/config/config-fix.ts - 1075 + 1083 - Label for if a school is a private school Language @@ -5124,7 +5195,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the language of a school src/app/core/config/config-fix.ts - 1079 + 1087 @@ -5133,7 +5204,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for the timing of a school src/app/core/config/config-fix.ts - 1091 + 1099 @@ -5142,7 +5213,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for a child attribute src/app/core/config/config-fix.ts - 1120 + 1128 @@ -5151,7 +5222,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Description for a child attribute src/app/core/config/config-fix.ts - 1121 + 1129 @@ -5160,7 +5231,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for a child attribute src/app/core/config/config-fix.ts - 1126 + 1134 @@ -5169,7 +5240,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Description for a child attribute src/app/core/config/config-fix.ts - 1127 + 1135 @@ -5178,7 +5249,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for a child attribute src/app/core/config/config-fix.ts - 1132 + 1140 @@ -5187,7 +5258,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Description for a child attribute src/app/core/config/config-fix.ts - 1133 + 1141 @@ -5196,7 +5267,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for a child attribute src/app/core/config/config-fix.ts - 1138 + 1146 @@ -5205,7 +5276,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Description for a child attribute src/app/core/config/config-fix.ts - 1139 + 1147 @@ -5214,7 +5285,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label for a child attribute src/app/core/config/config-fix.ts - 1144 + 1152 @@ -5223,7 +5294,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Description for a child attribute src/app/core/config/config-fix.ts - 1145 + 1153 @@ -5232,7 +5303,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Label of user phone src/app/core/config/config-fix.ts - 1159 + 1167 @@ -6778,7 +6849,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 35 + 37 @@ -7741,7 +7812,7 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi label for entity src/app/core/config/config-fix.ts - 1152 + 1160 @@ -8118,11 +8189,15 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Table showing the report results Eine Tabelle welche die Ergebnisse des Reports anzeigt + Label for table showing report result src/app/features/reporting/reporting/object-table/object-table.component.html 7 - Label for table showing report result + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 6 + Name @@ -8136,11 +8211,15 @@ Zögern Sie nicht uns mit Fragen und Feedback zu kontaktieren: [support@aam-digi Count Anzahl + Table report header src/app/features/reporting/reporting/report-row/report-row.component.html 32 - Table report header + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 20 + Reports @@ -8804,6 +8883,10 @@ Template-Dateien können in den meisten Office-Dokumentformaten (odt, docx, ods, src/app/features/todos/todo-list/todo-list.component.ts 190 + + src/app/features/todos/todos-dashboard/todos-dashboard.component.ts + 38 + A new recurring has been created based on the repetition interval. @@ -8814,15 +8897,14 @@ Template-Dateien können in den meisten Office-Dokumentformaten (odt, docx, ods, 42 - - Tasks due - fällige Aufgaben + + Tasks that are beyond their deadline + Aufgaben, die bereits ihre Deadline überschritten haben - src/app/features/todos/todos-dashboard/todos-dashboard.component.html - 3 + src/app/features/todos/todos-dashboard/todos-dashboard.component.ts + 40 - dashboard showing open todos - subtitle + dashboard widget explanation Please click the link in the email we sent you to verify your email address. diff --git a/src/assets/locale/messages.fr.xlf b/src/assets/locale/messages.fr.xlf index e05099c87f..e3fe0c8479 100644 --- a/src/assets/locale/messages.fr.xlf +++ b/src/assets/locale/messages.fr.xlf @@ -40,23 +40,23 @@ Label for the date of a note src/app/core/config/config-fix.ts - 186 + 191 src/app/core/config/config-fix.ts - 816 + 818 src/app/core/config/config-fix.ts - 1104 + 1112 src/app/core/config/config-fix.ts - 1199 + 1207 src/app/core/config/config-fix.ts - 1245 + 1253 @@ -69,7 +69,7 @@ src/app/core/config/config-fix.ts - 1208 + 1216 @@ -82,7 +82,7 @@ src/app/core/config/config-fix.ts - 1213 + 1221 @@ -95,7 +95,7 @@ src/app/core/config/config-fix.ts - 1218 + 1226 @@ -104,7 +104,7 @@ Label of the Math ASER result src/app/core/config/config-fix.ts - 1223 + 1231 @@ -112,19 +112,19 @@ Observations src/app/child-dev-project/attendance/edit-attendance/edit-attendance.component.html - 46 + 43 src/app/child-dev-project/attendance/edit-attendance/edit-attendance.component.html - 97 + 91 src/app/core/config/config-fix.ts - 1095 + 1103 src/app/core/config/config-fix.ts - 1230 + 1238 @@ -846,19 +846,19 @@ src/app/core/config/config-fix.ts - 471 + 465 src/app/core/config/config-fix.ts - 566 + 556 src/app/core/config/config-fix.ts - 1062 + 1070 src/app/core/config/config-fix.ts - 1287 + 1295 @@ -903,7 +903,7 @@ label for entity src/app/core/config/config-fix.ts - 849 + 851 @@ -916,7 +916,7 @@ src/app/core/config/config-fix.ts - 856 + 858 src/app/features/template-export/template-export.entity.ts @@ -932,7 +932,7 @@ src/app/core/config/config-fix.ts - 862 + 864 @@ -1005,11 +1005,11 @@ Label for the participants of a recurring activity src/app/core/config/config-fix.ts - 867 + 869 src/app/core/config/config-fix.ts - 929 + 927 src/app/features/reporting/demo-report-config-generator.service.ts @@ -1022,11 +1022,11 @@ label for the linked schools src/app/core/config/config-fix.ts - 237 + 242 src/app/core/config/config-fix.ts - 873 + 875 @@ -1035,7 +1035,7 @@ Label for excluded participants of a recurring activity src/app/core/config/config-fix.ts - 879 + 881 @@ -1044,7 +1044,7 @@ Label for the assigned user(s) of a recurring activity src/app/core/config/config-fix.ts - 885 + 887 @@ -1061,7 +1061,7 @@ src/app/core/config/config-fix.ts - 789 + 791 @@ -1172,20 +1172,24 @@ Column title for ChildBlockComponents src/app/core/config/config-fix.ts - 455 + 449 src/app/core/config/config-fix.ts - 968 + 976 src/app/core/config/config-fix.ts - 1068 + 1076 src/app/features/reporting/demo-report-config-generator.service.ts 93 + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 9 + Project Number @@ -1193,7 +1197,7 @@ Label for the project number of a child src/app/core/config/config-fix.ts - 975 + 983 @@ -1202,7 +1206,7 @@ Short label for the project number src/app/core/config/config-fix.ts - 976 + 984 @@ -1211,7 +1215,7 @@ Label for the date of birth of a child src/app/core/config/config-fix.ts - 982 + 990 @@ -1220,7 +1224,7 @@ Short label for the date of birth src/app/core/config/config-fix.ts - 983 + 991 @@ -1229,7 +1233,7 @@ Label for the gender of a child src/app/core/config/config-fix.ts - 994 + 1002 @@ -1238,7 +1242,7 @@ Label for the center of a child src/app/core/config/config-fix.ts - 989 + 997 @@ -1247,7 +1251,7 @@ Label for the admission date of a child src/app/core/config/config-fix.ts - 1000 + 1008 @@ -1256,15 +1260,15 @@ Status of a note src/app/core/config/config-fix.ts - 245 + 250 src/app/core/config/config-fix.ts - 526 + 520 src/app/core/config/config-fix.ts - 1005 + 1013 @@ -1273,7 +1277,7 @@ Label for the dropout date of a child src/app/core/config/config-fix.ts - 1009 + 1017 @@ -1282,7 +1286,7 @@ Label for the type of dropout of a child src/app/core/config/config-fix.ts - 1014 + 1022 @@ -1291,7 +1295,7 @@ Label for the remarks about a dropout of a child src/app/core/config/config-fix.ts - 1019 + 1027 @@ -1300,7 +1304,7 @@ Label for the file field of a photo of a child src/app/core/config/config-fix.ts - 1023 + 1031 @@ -1309,11 +1313,11 @@ Label for the phone number of a child src/app/core/config/config-fix.ts - 1027 + 1035 src/app/core/config/config-fix.ts - 1087 + 1095 @@ -1322,11 +1326,11 @@ Label for child src/app/core/config/config-fix.ts - 957 + 961 src/app/core/config/config-fix.ts - 1277 + 1285 @@ -1335,11 +1339,11 @@ Column label for class which child attends src/app/core/config/config-fix.ts - 466 + 460 src/app/core/config/config-fix.ts - 1291 + 1299 @@ -1356,7 +1360,7 @@ src/app/core/config/config-fix.ts - 1296 + 1304 src/app/core/entity-details/related-time-period-entities/time-period.ts @@ -1381,7 +1385,7 @@ src/app/core/config/config-fix.ts - 1297 + 1305 @@ -1398,7 +1402,7 @@ src/app/core/config/config-fix.ts - 1302 + 1310 src/app/core/entity-details/related-time-period-entities/time-period.ts @@ -1419,7 +1423,7 @@ src/app/core/config/config-fix.ts - 1303 + 1311 @@ -1428,7 +1432,7 @@ Label for the percentage result of a relation src/app/core/config/config-fix.ts - 1308 + 1316 @@ -1680,15 +1684,23 @@ Label gender - + Notes needing follow-up Notes needing follow-up - src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.html - 3 + src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.ts + 35 - dashboard showing notes that require action - subtitle + dashboard widget subtitle + + + Notes require immediate attention or follow-up actions + Notes require immediate attention or follow-up actions + + src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.ts + 37 + + dashboard widget explanation >  days @@ -1728,7 +1740,7 @@ The material which has been borrowed src/app/core/config/config-fix.ts - 823 + 825 @@ -1737,7 +1749,7 @@ The amount of the material which has been borrowed src/app/core/config/config-fix.ts - 832 + 834 @@ -1746,7 +1758,7 @@ An additional description for the borrowed material src/app/core/config/config-fix.ts - 843 + 845 src/app/features/template-export/template-export.entity.ts @@ -1907,7 +1919,7 @@ Table header, Short for Body Mass Index src/app/core/config/config-fix.ts - 730 + 732 @@ -1916,7 +1928,7 @@ Tooltip for BMI info src/app/core/config/config-fix.ts - 731 + 733 @@ -1925,7 +1937,7 @@ Label for height in cm of a health check src/app/core/config/config-fix.ts - 1254 + 1262 @@ -1934,7 +1946,7 @@ Label for weight in kg of a health check src/app/core/config/config-fix.ts - 1260 + 1268 @@ -2408,7 +2420,7 @@ label for entity src/app/core/config/config-fix.ts - 168 + 173 @@ -2421,15 +2433,15 @@ src/app/core/config/config-fix.ts - 173 + 178 src/app/core/config/config-fix.ts - 396 + 391 src/app/core/config/config-fix.ts - 958 + 962 @@ -2438,7 +2450,7 @@ Label for the subject of a note src/app/core/config/config-fix.ts - 196 + 201 src/app/features/todos/model/todo-default-configs.ts @@ -2455,11 +2467,11 @@ src/app/core/config/config-fix.ts - 169 + 174 src/app/core/config/config-fix.ts - 200 + 205 @@ -2468,7 +2480,7 @@ Label for the social worker(s) who created the note src/app/core/config/config-fix.ts - 203 + 208 @@ -2477,7 +2489,7 @@ Label for the category of a note src/app/core/config/config-fix.ts - 214 + 219 @@ -2486,7 +2498,7 @@ label for the related Entities src/app/core/config/config-fix.ts - 229 + 234 src/app/features/todos/model/todo-default-configs.ts @@ -2665,29 +2677,47 @@ Table showing organization progress Table showing organization progress + Label for progress dashboard src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 12 + 14 - Label for progress dashboard Progress Bar Progress Bar + A visual aid to understand a progress of sorts src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 36,38 + 38 - A visual aid to understand a progress of sorts Progress Value Progress Value + A progress in numbers src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 39 + 41 - A progress in numbers + + + Progress Overview + Progress Overview + + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts + 47 + + dashboard widget subtitle + + + Shows the progress of different parts of project tasks. You can use this to track any kind of targets. + Shows the progress of different parts of project tasks. You can use this to track any kind of targets. + + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts + 49 + + dashboard widget explanation Ignore values? @@ -2817,26 +2847,34 @@ The progress, e.g. of a certain activity src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts - 73 - - - - Quick actions - Actions rapides - - src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.html - 4 + 94 - Title of dashboard widget that shows a list of certain actions a user can - click on Copy the link to share or paste it somewhere else Copy the link to share or paste it somewhere else src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.html - 35 + 32 + + + + Quick Actions + Quick Actions + + src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.ts + 48 + dashboard widget subtitle + + + Shortcuts to quickly navigate to common actions + Shortcuts to quickly navigate to common actions + + src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.ts + 50 + + dashboard widget explanation Example form @@ -3718,11 +3756,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Upcoming Birthdays Upcoming Birthdays + dashboard widget subtitle - src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.html - 4 + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts + 59 - Subtitle of the birthday widget yrs @@ -3739,21 +3777,21 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Previous Grouping src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 11 + 21 - + by + >"/> : by + >"/> : src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 22,32 + 32,40 @@ -3761,7 +3799,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Next Grouping src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 33 + 44 @@ -3770,7 +3808,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for children count dashboard src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 49 + 62 @@ -3779,7 +3817,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit The center that a partiipant belongs to, e.g. a city src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 75 + 88 @@ -3788,7 +3826,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit The amount of children that study at one school src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 78 + 91 @@ -3797,9 +3835,18 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit A link that takes a user to a center src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 81 + 94 + + Counting all "active" records. If configured, you can view different disaggregations by using the arrows below. + Counting all "active" records. If configured, you can view different disaggregations by using the arrows below. + + src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.ts + 126 + + dashboard widget explanation + dismiss dismiss @@ -3899,7 +3946,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/core/config/config-fix.ts - 1063 + 1071 @@ -3908,7 +3955,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit label (plural) for entity src/app/core/config/config-fix.ts - 850 + 852 @@ -3917,9 +3964,18 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Menu item src/app/core/config/config-fix.ts - 71 + 66 + + Admin Overview + Admin Overview + + src/app/core/config/config-fix.ts + 70 + + Menu item + Site settings Site settings @@ -3943,11 +3999,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Menu item src/app/core/config/config-fix.ts - 56 + 75 src/app/core/config/config-fix.ts - 1153 + 1161 @@ -3956,7 +4012,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Menu item src/app/core/config/config-fix.ts - 61 + 56 @@ -3965,7 +4021,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Menu item src/app/core/config/config-fix.ts - 66 + 61 @@ -3975,7 +4031,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Dashboard shortcut widget src/app/core/config/config-fix.ts - 86 + 92 @@ -3985,7 +4041,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Dashboard shortcut widget src/app/core/config/config-fix.ts - 91 + 97 @@ -3995,7 +4051,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Dashboard shortcut widget src/app/core/config/config-fix.ts - 96 + 102 @@ -4004,7 +4060,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Attendance week dashboard widget label src/app/core/config/config-fix.ts - 143 + 148 @@ -4013,7 +4069,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Attendance week dashboard widget label src/app/core/config/config-fix.ts - 150 + 155 @@ -4022,7 +4078,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Attendance week dashboard widget label src/app/core/config/config-fix.ts - 136 + 141 @@ -4031,7 +4087,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Title for notes overview src/app/core/config/config-fix.ts - 255 + 260 @@ -4040,11 +4096,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Translated name of default column group src/app/core/config/config-fix.ts - 259 + 264 src/app/core/config/config-fix.ts - 263 + 268 @@ -4053,19 +4109,19 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Translated name of mobile column group src/app/core/config/config-fix.ts - 260 + 265 src/app/core/config/config-fix.ts - 273 + 272 src/app/core/config/config-fix.ts - 497 + 491 src/app/core/config/config-fix.ts - 550 + 544 @@ -4073,7 +4129,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Attachment src/app/core/config/config-fix.ts - 220 + 225 @@ -4131,7 +4187,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 353 + 348 @@ -4140,7 +4196,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 368 + 360 @@ -4149,17 +4205,17 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Filename of markdown help page (make sure the filename you enter as a translation actually exists on the server!) src/app/core/config/config-fix.ts - 381 + 373 Private School École privée + Label for if a school is a private school src/app/core/config/config-fix.ts - 1075 + 1083 - Label for if a school is a private school Basic Information @@ -4167,15 +4223,15 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 411 + 405 src/app/core/config/config-fix.ts - 584 + 577 src/app/core/config/config-fix.ts - 914 + 912 @@ -4184,7 +4240,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 428 + 422 @@ -4193,7 +4249,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 437 + 431 @@ -4206,7 +4262,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/core/config/config-fix.ts - 460 + 454 @@ -4282,7 +4338,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Column label for school attendance of child src/app/core/config/config-fix.ts - 478 + 472 @@ -4291,7 +4347,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Column label for coaching attendance of child src/app/core/config/config-fix.ts - 487 + 481 @@ -4300,7 +4356,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Column group name src/app/core/config/config-fix.ts - 513 + 507 @@ -4309,11 +4365,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Translated name of default column group src/app/core/config/config-fix.ts - 496 + 490 src/app/core/config/config-fix.ts - 500 + 494 @@ -4322,11 +4378,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Column group name src/app/core/config/config-fix.ts - 536 + 530 src/app/core/config/config-fix.ts - 701 + 699 @@ -4335,7 +4391,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Header for form section src/app/core/config/config-fix.ts - 594 + 587 @@ -4344,7 +4400,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Header for form section src/app/core/config/config-fix.ts - 598 + 596 @@ -4353,7 +4409,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Header for form section src/app/core/config/config-fix.ts - 602 + 600 @@ -4362,7 +4418,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 610 + 608 @@ -4371,7 +4427,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Title inside a panel src/app/core/config/config-fix.ts - 613 + 611 @@ -4380,7 +4436,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Title inside a panel src/app/core/config/config-fix.ts - 633 + 631 @@ -4389,7 +4445,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Child details section title src/app/core/config/config-fix.ts - 667 + 665 @@ -4398,7 +4454,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 688 + 686 @@ -4407,7 +4463,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit description section src/app/core/config/config-fix.ts - 711 + 712 @@ -4420,7 +4476,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/core/config/config-fix.ts - 679 + 677 @@ -4442,7 +4498,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Title inside a panel src/app/core/config/config-fix.ts - 719 + 721 @@ -4451,7 +4507,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 745 + 747 @@ -4460,7 +4516,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 770 + 772 @@ -4469,7 +4525,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 942 + 946 @@ -4613,11 +4669,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for the address of a child src/app/core/config/config-fix.ts - 1031 + 1039 src/app/core/config/config-fix.ts - 1083 + 1091 @@ -4626,7 +4682,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1035 + 1043 @@ -4635,7 +4691,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for the religion of a child src/app/core/config/config-fix.ts - 1039 + 1047 @@ -4644,7 +4700,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for the mother tongue of a child src/app/core/config/config-fix.ts - 1043 + 1051 @@ -4653,7 +4709,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Tooltip description for the mother tongue of a child src/app/core/config/config-fix.ts - 1044 + 1052 @@ -4662,7 +4718,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1048 + 1056 @@ -4671,7 +4727,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1052 + 1060 @@ -4680,7 +4736,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for the language of a school src/app/core/config/config-fix.ts - 1079 + 1087 @@ -4689,7 +4745,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for the timing of a school src/app/core/config/config-fix.ts - 1091 + 1099 @@ -4698,7 +4754,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1120 + 1128 @@ -4707,7 +4763,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Description for a child attribute src/app/core/config/config-fix.ts - 1121 + 1129 @@ -4716,7 +4772,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1126 + 1134 @@ -4725,7 +4781,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Description for a child attribute src/app/core/config/config-fix.ts - 1127 + 1135 @@ -4734,7 +4790,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1132 + 1140 @@ -4743,7 +4799,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Description for a child attribute src/app/core/config/config-fix.ts - 1133 + 1141 @@ -4752,7 +4808,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1138 + 1146 @@ -4761,7 +4817,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Description for a child attribute src/app/core/config/config-fix.ts - 1139 + 1147 @@ -4770,7 +4826,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1144 + 1152 @@ -4779,7 +4835,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Description for a child attribute src/app/core/config/config-fix.ts - 1145 + 1153 @@ -4788,7 +4844,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label of user phone src/app/core/config/config-fix.ts - 1159 + 1167 @@ -5357,7 +5413,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 35 + 37 @@ -7414,7 +7470,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit label for entity src/app/core/config/config-fix.ts - 1152 + 1160 @@ -8005,7 +8061,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Update custom address? src/app/features/location/address-edit/address-edit.component.ts - 104 + 106 @@ -8013,7 +8069,23 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Do you want to overwrite the custom address to the full address from the online lookup? This will replace "" with "". The marked location on the map will be unaffected by this choice. src/app/features/location/address-edit/address-edit.component.ts - 105 + 107 + + + + To accurately log your current address, please allow GPS access. + To accurately log your current address, please allow GPS access. + + src/app/features/location/address-gps-location/address-gps-location.component.html + 4 + + + + Failed to access device location. Please check if location permission is enabled in your device settings + Failed to access device location. Please check if location permission is enabled in your device settings + + src/app/features/location/address-gps-location/address-gps-location.component.ts + 54 @@ -8052,6 +8124,14 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit 30,32 + + [selected coordinates: - ] + [selected coordinates: - ] + + src/app/features/location/geo.service.ts + 91 + + Show the location marked on the map. Show the location marked on the map. @@ -8082,15 +8162,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Search an address or click on the map directly to select a different location src/app/features/location/map-popup/map-popup.component.ts - 59 - - - - [selected on map: - ] - [selected on map: - ] - - src/app/features/location/map-popup/map-popup.component.ts - 112 + 56 @@ -8182,11 +8254,15 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Table showing the report results Table showing the report results + Label for table showing report result src/app/features/reporting/reporting/object-table/object-table.component.html 7 - Label for table showing report result + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 6 + Name @@ -8200,11 +8276,15 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Count Count + Table report header src/app/features/reporting/reporting/report-row/report-row.component.html 32 - Table report header + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 20 + Reports @@ -8868,6 +8948,10 @@ Template files can be in most office document formats (odt, docx, ods, xlsx, odp src/app/features/todos/todo-list/todo-list.component.ts 190 + + src/app/features/todos/todos-dashboard/todos-dashboard.component.ts + 38 + A new recurring has been created based on the repetition interval. @@ -8878,15 +8962,14 @@ Template files can be in most office document formats (odt, docx, ods, xlsx, odp 42 - - Tasks due - Tasks due + + Tasks that are beyond their deadline + Tasks that are beyond their deadline - src/app/features/todos/todos-dashboard/todos-dashboard.component.html - 3 + src/app/features/todos/todos-dashboard/todos-dashboard.component.ts + 40 - dashboard showing open todos - subtitle + dashboard widget explanation Please click the link in the email we sent you to verify your email address. diff --git a/src/assets/locale/messages.it.xlf b/src/assets/locale/messages.it.xlf index 9715c6dfe9..11bfb576b8 100644 --- a/src/assets/locale/messages.it.xlf +++ b/src/assets/locale/messages.it.xlf @@ -683,7 +683,7 @@ label for entity src/app/core/config/config-fix.ts - 849 + 851 @@ -696,7 +696,7 @@ src/app/core/config/config-fix.ts - 856 + 858 src/app/features/template-export/template-export.entity.ts @@ -712,7 +712,7 @@ src/app/core/config/config-fix.ts - 862 + 864 @@ -785,11 +785,11 @@ Label for the participants of a recurring activity src/app/core/config/config-fix.ts - 867 + 869 src/app/core/config/config-fix.ts - 929 + 927 src/app/features/reporting/demo-report-config-generator.service.ts @@ -802,11 +802,11 @@ label for the linked schools src/app/core/config/config-fix.ts - 237 + 242 src/app/core/config/config-fix.ts - 873 + 875 @@ -815,7 +815,7 @@ Label for excluded participants of a recurring activity src/app/core/config/config-fix.ts - 879 + 881 @@ -824,7 +824,7 @@ Label for the assigned user(s) of a recurring activity src/app/core/config/config-fix.ts - 885 + 887 @@ -833,23 +833,23 @@ Label for the date of a note src/app/core/config/config-fix.ts - 186 + 191 src/app/core/config/config-fix.ts - 816 + 818 src/app/core/config/config-fix.ts - 1104 + 1112 src/app/core/config/config-fix.ts - 1199 + 1207 src/app/core/config/config-fix.ts - 1245 + 1253 @@ -862,7 +862,7 @@ src/app/core/config/config-fix.ts - 1208 + 1216 @@ -875,7 +875,7 @@ src/app/core/config/config-fix.ts - 1213 + 1221 @@ -888,7 +888,7 @@ src/app/core/config/config-fix.ts - 1218 + 1226 @@ -897,7 +897,7 @@ Label of the Math ASER result src/app/core/config/config-fix.ts - 1223 + 1231 @@ -905,19 +905,19 @@ Remarks src/app/child-dev-project/attendance/edit-attendance/edit-attendance.component.html - 46 + 43 src/app/child-dev-project/attendance/edit-attendance/edit-attendance.component.html - 97 + 91 src/app/core/config/config-fix.ts - 1095 + 1103 src/app/core/config/config-fix.ts - 1230 + 1238 @@ -1035,7 +1035,7 @@ src/app/core/config/config-fix.ts - 789 + 791 @@ -1146,7 +1146,7 @@ The material which has been borrowed src/app/core/config/config-fix.ts - 823 + 825 @@ -1155,7 +1155,7 @@ The amount of the material which has been borrowed src/app/core/config/config-fix.ts - 832 + 834 @@ -1164,7 +1164,7 @@ An additional description for the borrowed material src/app/core/config/config-fix.ts - 843 + 845 src/app/features/template-export/template-export.entity.ts @@ -1325,7 +1325,7 @@ Table header, Short for Body Mass Index src/app/core/config/config-fix.ts - 730 + 732 @@ -1334,7 +1334,7 @@ Tooltip for BMI info src/app/core/config/config-fix.ts - 731 + 733 @@ -1343,7 +1343,7 @@ Label for height in cm of a health check src/app/core/config/config-fix.ts - 1254 + 1262 @@ -1352,7 +1352,7 @@ Label for weight in kg of a health check src/app/core/config/config-fix.ts - 1260 + 1268 @@ -1361,20 +1361,24 @@ Column title for ChildBlockComponents src/app/core/config/config-fix.ts - 455 + 449 src/app/core/config/config-fix.ts - 968 + 976 src/app/core/config/config-fix.ts - 1068 + 1076 src/app/features/reporting/demo-report-config-generator.service.ts 93 + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 9 + Project Number @@ -1382,7 +1386,7 @@ Label for the project number of a child src/app/core/config/config-fix.ts - 975 + 983 @@ -1391,7 +1395,7 @@ Short label for the project number src/app/core/config/config-fix.ts - 976 + 984 @@ -1400,7 +1404,7 @@ Label for the date of birth of a child src/app/core/config/config-fix.ts - 982 + 990 @@ -1409,7 +1413,7 @@ Short label for the date of birth src/app/core/config/config-fix.ts - 983 + 991 @@ -1418,7 +1422,7 @@ Label for the gender of a child src/app/core/config/config-fix.ts - 994 + 1002 @@ -1427,7 +1431,7 @@ Label for the center of a child src/app/core/config/config-fix.ts - 989 + 997 @@ -1436,7 +1440,7 @@ Label for the admission date of a child src/app/core/config/config-fix.ts - 1000 + 1008 @@ -1445,15 +1449,15 @@ Status of a note src/app/core/config/config-fix.ts - 245 + 250 src/app/core/config/config-fix.ts - 526 + 520 src/app/core/config/config-fix.ts - 1005 + 1013 @@ -1462,7 +1466,7 @@ Label for the dropout date of a child src/app/core/config/config-fix.ts - 1009 + 1017 @@ -1471,7 +1475,7 @@ Label for the type of dropout of a child src/app/core/config/config-fix.ts - 1014 + 1022 @@ -1480,7 +1484,7 @@ Label for the remarks about a dropout of a child src/app/core/config/config-fix.ts - 1019 + 1027 @@ -1489,7 +1493,7 @@ Label for the file field of a photo of a child src/app/core/config/config-fix.ts - 1023 + 1031 @@ -1498,11 +1502,11 @@ Label for the phone number of a child src/app/core/config/config-fix.ts - 1027 + 1035 src/app/core/config/config-fix.ts - 1087 + 1095 @@ -1511,11 +1515,11 @@ Label for child src/app/core/config/config-fix.ts - 957 + 961 src/app/core/config/config-fix.ts - 1277 + 1285 @@ -1528,19 +1532,19 @@ src/app/core/config/config-fix.ts - 471 + 465 src/app/core/config/config-fix.ts - 566 + 556 src/app/core/config/config-fix.ts - 1062 + 1070 src/app/core/config/config-fix.ts - 1287 + 1295 @@ -1549,11 +1553,11 @@ Column label for class which child attends src/app/core/config/config-fix.ts - 466 + 460 src/app/core/config/config-fix.ts - 1291 + 1299 @@ -1570,7 +1574,7 @@ src/app/core/config/config-fix.ts - 1296 + 1304 src/app/core/entity-details/related-time-period-entities/time-period.ts @@ -1595,7 +1599,7 @@ src/app/core/config/config-fix.ts - 1297 + 1305 @@ -1612,7 +1616,7 @@ src/app/core/config/config-fix.ts - 1302 + 1310 src/app/core/entity-details/related-time-period-entities/time-period.ts @@ -1633,7 +1637,7 @@ src/app/core/config/config-fix.ts - 1303 + 1311 @@ -1642,7 +1646,7 @@ Label for the percentage result of a relation src/app/core/config/config-fix.ts - 1308 + 1316 @@ -1894,15 +1898,23 @@ Label gender - + Notes needing follow-up Notes needing follow-up - src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.html - 3 + src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.ts + 35 - dashboard showing notes that require action - subtitle + dashboard widget subtitle + + + Notes require immediate attention or follow-up actions + Notes require immediate attention or follow-up actions + + src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.ts + 37 + + dashboard widget explanation >  days @@ -2414,7 +2426,7 @@ label for entity src/app/core/config/config-fix.ts - 168 + 173 @@ -2427,15 +2439,15 @@ src/app/core/config/config-fix.ts - 173 + 178 src/app/core/config/config-fix.ts - 396 + 391 src/app/core/config/config-fix.ts - 958 + 962 @@ -2444,7 +2456,7 @@ Label for the subject of a note src/app/core/config/config-fix.ts - 196 + 201 src/app/features/todos/model/todo-default-configs.ts @@ -2461,11 +2473,11 @@ src/app/core/config/config-fix.ts - 169 + 174 src/app/core/config/config-fix.ts - 200 + 205 @@ -2474,7 +2486,7 @@ Label for the social worker(s) who created the note src/app/core/config/config-fix.ts - 203 + 208 @@ -2483,7 +2495,7 @@ Label for the category of a note src/app/core/config/config-fix.ts - 214 + 219 @@ -2492,7 +2504,7 @@ label for the related Entities src/app/core/config/config-fix.ts - 229 + 234 src/app/features/todos/model/todo-default-configs.ts @@ -3349,11 +3361,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Upcoming Birthdays Compleanni + dashboard widget subtitle - src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.html - 4 + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts + 59 - Subtitle of the birthday widget yrs @@ -3370,21 +3382,21 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Previous Grouping src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 11 + 21 - + by + >"/> : by + >"/> : src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 22,32 + 32,40 @@ -3392,7 +3404,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Next Grouping src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 33 + 44 @@ -3401,7 +3413,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for children count dashboard src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 49 + 62 @@ -3410,7 +3422,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit The center that a partiipant belongs to, e.g. a city src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 75 + 88 @@ -3419,7 +3431,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit The amount of children that study at one school src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 78 + 91 @@ -3428,9 +3440,18 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit A link that takes a user to a center src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 81 + 94 + + Counting all "active" records. If configured, you can view different disaggregations by using the arrows below. + Counting all "active" records. If configured, you can view different disaggregations by using the arrows below. + + src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.ts + 126 + + dashboard widget explanation + dismiss dismiss @@ -3530,7 +3551,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/core/config/config-fix.ts - 1063 + 1071 @@ -3543,7 +3564,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/core/config/config-fix.ts - 679 + 677 @@ -3565,8 +3586,17 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Menu item src/app/core/config/config-fix.ts - 71 + 66 + + + + Admin Overview + Admin Overview + + src/app/core/config/config-fix.ts + 70 + Menu item Site settings @@ -3591,11 +3621,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Menu item src/app/core/config/config-fix.ts - 56 + 75 src/app/core/config/config-fix.ts - 1153 + 1161 @@ -3605,7 +3635,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Menu item src/app/core/config/config-fix.ts - 61 + 56 @@ -3614,7 +3644,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Menu item src/app/core/config/config-fix.ts - 66 + 61 @@ -3624,7 +3654,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Dashboard shortcut widget src/app/core/config/config-fix.ts - 86 + 92 @@ -3634,7 +3664,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Dashboard shortcut widget src/app/core/config/config-fix.ts - 91 + 97 @@ -3644,7 +3674,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Dashboard shortcut widget src/app/core/config/config-fix.ts - 96 + 102 @@ -3653,7 +3683,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Attendance week dashboard widget label src/app/core/config/config-fix.ts - 143 + 148 @@ -3662,7 +3692,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Attendance week dashboard widget label src/app/core/config/config-fix.ts - 150 + 155 @@ -3671,7 +3701,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Attendance week dashboard widget label src/app/core/config/config-fix.ts - 136 + 141 @@ -3680,7 +3710,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Title for notes overview src/app/core/config/config-fix.ts - 255 + 260 @@ -3689,11 +3719,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Translated name of default column group src/app/core/config/config-fix.ts - 259 + 264 src/app/core/config/config-fix.ts - 263 + 268 @@ -3702,19 +3732,19 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Translated name of mobile column group src/app/core/config/config-fix.ts - 260 + 265 src/app/core/config/config-fix.ts - 273 + 272 src/app/core/config/config-fix.ts - 497 + 491 src/app/core/config/config-fix.ts - 550 + 544 @@ -3722,7 +3752,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Attachment src/app/core/config/config-fix.ts - 220 + 225 @@ -3780,7 +3810,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 353 + 348 @@ -3789,7 +3819,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 368 + 360 @@ -3798,7 +3828,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Filename of markdown help page (make sure the filename you enter as a translation actually exists on the server!) src/app/core/config/config-fix.ts - 381 + 373 @@ -3807,15 +3837,15 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 411 + 405 src/app/core/config/config-fix.ts - 584 + 577 src/app/core/config/config-fix.ts - 914 + 912 @@ -3824,7 +3854,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 428 + 422 @@ -3833,7 +3863,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 437 + 431 @@ -3846,7 +3876,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/core/config/config-fix.ts - 460 + 454 @@ -3922,7 +3952,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Column label for school attendance of child src/app/core/config/config-fix.ts - 478 + 472 @@ -3931,7 +3961,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Column label for coaching attendance of child src/app/core/config/config-fix.ts - 487 + 481 @@ -3940,11 +3970,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Translated name of default column group src/app/core/config/config-fix.ts - 496 + 490 src/app/core/config/config-fix.ts - 500 + 494 @@ -3953,7 +3983,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Column group name src/app/core/config/config-fix.ts - 513 + 507 @@ -3962,11 +3992,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Column group name src/app/core/config/config-fix.ts - 536 + 530 src/app/core/config/config-fix.ts - 701 + 699 @@ -3975,7 +4005,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Header for form section src/app/core/config/config-fix.ts - 594 + 587 @@ -3984,7 +4014,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Header for form section src/app/core/config/config-fix.ts - 598 + 596 @@ -3993,7 +4023,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Header for form section src/app/core/config/config-fix.ts - 602 + 600 @@ -4002,7 +4032,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 610 + 608 @@ -4011,7 +4041,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Title inside a panel src/app/core/config/config-fix.ts - 613 + 611 @@ -4020,7 +4050,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Title inside a panel src/app/core/config/config-fix.ts - 633 + 631 @@ -4029,7 +4059,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Child details section title src/app/core/config/config-fix.ts - 667 + 665 @@ -4038,7 +4068,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 688 + 686 @@ -4047,7 +4077,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit description section src/app/core/config/config-fix.ts - 711 + 712 @@ -4056,7 +4086,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Title inside a panel src/app/core/config/config-fix.ts - 719 + 721 @@ -4065,7 +4095,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 745 + 747 @@ -4074,7 +4104,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 770 + 772 @@ -4083,7 +4113,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit label (plural) for entity src/app/core/config/config-fix.ts - 850 + 852 @@ -4092,7 +4122,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Panel title src/app/core/config/config-fix.ts - 942 + 946 @@ -4534,11 +4564,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for the address of a child src/app/core/config/config-fix.ts - 1031 + 1039 src/app/core/config/config-fix.ts - 1083 + 1091 @@ -4547,7 +4577,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1035 + 1043 @@ -4556,7 +4586,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for the religion of a child src/app/core/config/config-fix.ts - 1039 + 1047 @@ -4565,7 +4595,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for the mother tongue of a child src/app/core/config/config-fix.ts - 1043 + 1051 @@ -4574,7 +4604,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Tooltip description for the mother tongue of a child src/app/core/config/config-fix.ts - 1044 + 1052 @@ -4583,7 +4613,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1048 + 1056 @@ -4592,17 +4622,17 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1052 + 1060 Private School Private School + Label for if a school is a private school src/app/core/config/config-fix.ts - 1075 + 1083 - Label for if a school is a private school Language @@ -4610,7 +4640,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for the language of a school src/app/core/config/config-fix.ts - 1079 + 1087 @@ -4619,7 +4649,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for the timing of a school src/app/core/config/config-fix.ts - 1091 + 1099 @@ -4628,7 +4658,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1120 + 1128 @@ -4637,7 +4667,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Description for a child attribute src/app/core/config/config-fix.ts - 1121 + 1129 @@ -4646,7 +4676,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1126 + 1134 @@ -4655,7 +4685,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Description for a child attribute src/app/core/config/config-fix.ts - 1127 + 1135 @@ -4664,7 +4694,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1132 + 1140 @@ -4673,7 +4703,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Description for a child attribute src/app/core/config/config-fix.ts - 1133 + 1141 @@ -4682,7 +4712,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1138 + 1146 @@ -4691,7 +4721,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Description for a child attribute src/app/core/config/config-fix.ts - 1139 + 1147 @@ -4700,7 +4730,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label for a child attribute src/app/core/config/config-fix.ts - 1144 + 1152 @@ -4709,7 +4739,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Description for a child attribute src/app/core/config/config-fix.ts - 1145 + 1153 @@ -4718,7 +4748,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Label of user phone src/app/core/config/config-fix.ts - 1159 + 1167 @@ -4989,7 +5019,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 35 + 37 @@ -7107,7 +7137,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit label for entity src/app/core/config/config-fix.ts - 1152 + 1160 @@ -7698,7 +7728,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Update custom address? src/app/features/location/address-edit/address-edit.component.ts - 104 + 106 @@ -7706,7 +7736,23 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Do you want to overwrite the custom address to the full address from the online lookup? This will replace "" with "". The marked location on the map will be unaffected by this choice. src/app/features/location/address-edit/address-edit.component.ts - 105 + 107 + + + + To accurately log your current address, please allow GPS access. + To accurately log your current address, please allow GPS access. + + src/app/features/location/address-gps-location/address-gps-location.component.html + 4 + + + + Failed to access device location. Please check if location permission is enabled in your device settings + Failed to access device location. Please check if location permission is enabled in your device settings + + src/app/features/location/address-gps-location/address-gps-location.component.ts + 54 @@ -7745,6 +7791,14 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit 30,32 + + [selected coordinates: - ] + [selected coordinates: - ] + + src/app/features/location/geo.service.ts + 91 + + Show the location marked on the map. Show the location marked on the map. @@ -7775,15 +7829,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Search an address or click on the map directly to select a different location src/app/features/location/map-popup/map-popup.component.ts - 59 - - - - [selected on map: - ] - [selected on map: - ] - - src/app/features/location/map-popup/map-popup.component.ts - 112 + 56 @@ -8146,29 +8192,47 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Table showing organization progress Table showing organization progress + Label for progress dashboard src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 12 + 14 - Label for progress dashboard Progress Bar Progress Bar + A visual aid to understand a progress of sorts src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 36,38 + 38 - A visual aid to understand a progress of sorts Progress Value Progress Value + A progress in numbers src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 39 + 41 - A progress in numbers + + + Progress Overview + Progress Overview + + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts + 47 + + dashboard widget subtitle + + + Shows the progress of different parts of project tasks. You can use this to track any kind of targets. + Shows the progress of different parts of project tasks. You can use this to track any kind of targets. + + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts + 49 + + dashboard widget explanation Progress of X @@ -8176,26 +8240,34 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit The progress, e.g. of a certain activity src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts - 73 - - - - Quick actions - Azioni rapide - - src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.html - 4 + 94 - Title of dashboard widget that shows a list of certain actions a user can - click on Copy the link to share or paste it somewhere else Copy the link to share or paste it somewhere else src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.html - 35 + 32 + + + + Quick Actions + Quick Actions + + src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.ts + 48 + + dashboard widget subtitle + + + Shortcuts to quickly navigate to common actions + Shortcuts to quickly navigate to common actions + + src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.ts + 50 + dashboard widget explanation Example form @@ -8278,11 +8350,15 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Table showing the report results Table showing the report results + Label for table showing report result src/app/features/reporting/reporting/object-table/object-table.component.html 7 - Label for table showing report result + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 6 + Name @@ -8296,11 +8372,15 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Count Count + Table report header src/app/features/reporting/reporting/report-row/report-row.component.html 32 - Table report header + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 20 + Reports @@ -8965,6 +9045,10 @@ Template files can be in most office document formats (odt, docx, ods, xlsx, odp src/app/features/todos/todo-list/todo-list.component.ts 190 + + src/app/features/todos/todos-dashboard/todos-dashboard.component.ts + 38 + A new recurring has been created based on the repetition interval. @@ -8975,15 +9059,14 @@ Template files can be in most office document formats (odt, docx, ods, xlsx, odp 42 - - Tasks due - Tasks due + + Tasks that are beyond their deadline + Tasks that are beyond their deadline - src/app/features/todos/todos-dashboard/todos-dashboard.component.html - 3 + src/app/features/todos/todos-dashboard/todos-dashboard.component.ts + 40 - dashboard showing open todos - subtitle + dashboard widget explanation diff --git a/src/assets/locale/messages.xlf b/src/assets/locale/messages.xlf index cf8393b11b..7ab6d9b4c1 100644 --- a/src/assets/locale/messages.xlf +++ b/src/assets/locale/messages.xlf @@ -610,19 +610,19 @@ Remarks src/app/child-dev-project/attendance/edit-attendance/edit-attendance.component.html - 46 + 43 src/app/child-dev-project/attendance/edit-attendance/edit-attendance.component.html - 97 + 91 src/app/core/config/config-fix.ts - 1095 + 1103 src/app/core/config/config-fix.ts - 1230 + 1238 @@ -727,7 +727,7 @@ src/app/core/config/config-fix.ts - 789 + 791 Child status @@ -739,19 +739,19 @@ src/app/core/config/config-fix.ts - 471 + 465 src/app/core/config/config-fix.ts - 566 + 556 src/app/core/config/config-fix.ts - 1062 + 1070 src/app/core/config/config-fix.ts - 1287 + 1295 School demo name that is connected with a school name @@ -771,7 +771,7 @@ src/app/core/config/config-fix.ts - 1208 + 1216 Language of a school @@ -783,7 +783,7 @@ src/app/core/config/config-fix.ts - 1218 + 1226 Language of a school @@ -795,7 +795,7 @@ src/app/core/config/config-fix.ts - 1213 + 1221 Language of a school @@ -1113,7 +1113,7 @@ src/app/core/config/config-fix.ts - 1296 + 1304 src/app/core/entity-details/related-time-period-entities/time-period.ts @@ -1137,7 +1137,7 @@ src/app/core/config/config-fix.ts - 1297 + 1305 Description of the start date of a relation @@ -1153,7 +1153,7 @@ src/app/core/config/config-fix.ts - 1302 + 1310 src/app/core/entity-details/related-time-period-entities/time-period.ts @@ -1173,7 +1173,7 @@ src/app/core/config/config-fix.ts - 1303 + 1311 Description of the end date of a relation @@ -1201,14 +1201,21 @@ Label gender - + Notes needing follow-up - src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.html - 3 + src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.ts + 35 + + dashboard widget subtitle + + + Notes require immediate attention or follow-up actions + + src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.ts + 37 - dashboard showing notes that require action - subtitle + dashboard widget explanation >  days @@ -1776,7 +1783,7 @@ src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 35 + 37 @@ -1841,7 +1848,7 @@ src/app/core/config/config-fix.ts - 862 + 864 @@ -2461,7 +2468,7 @@ src/app/core/config/config-fix.ts - 856 + 858 src/app/features/template-export/template-export.entity.ts @@ -2824,7 +2831,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/core/config/config-fix.ts - 460 + 454 Placeholder for the input that displays the age @@ -3389,15 +3396,15 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/core/config/config-fix.ts - 173 + 178 src/app/core/config/config-fix.ts - 396 + 391 src/app/core/config/config-fix.ts - 958 + 962 Menu item @@ -3409,7 +3416,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/core/config/config-fix.ts - 1063 + 1071 Menu item @@ -3421,7 +3428,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/core/config/config-fix.ts - 679 + 677 Menu item @@ -3433,11 +3440,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/core/config/config-fix.ts - 169 + 174 src/app/core/config/config-fix.ts - 200 + 205 Menu item @@ -3461,39 +3468,47 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Menu item - - Users + + Reports src/app/core/config/config-fix.ts 56 + Menu item + + + Help src/app/core/config/config-fix.ts - 1153 + 61 Menu item - - Reports + + Admin src/app/core/config/config-fix.ts - 61 + 66 Menu item - - Help + + Admin Overview src/app/core/config/config-fix.ts - 66 + 70 Menu item - - Admin + + Users src/app/core/config/config-fix.ts - 71 + 75 + + + src/app/core/config/config-fix.ts + 1161 Menu item @@ -3501,7 +3516,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Record Attendance src/app/core/config/config-fix.ts - 86 + 92 record attendance shortcut Dashboard shortcut widget @@ -3510,7 +3525,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Add Child src/app/core/config/config-fix.ts - 91 + 97 record attendance shortcut Dashboard shortcut widget @@ -3519,7 +3534,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Public Registration Form src/app/core/config/config-fix.ts - 96 + 102 open public form Dashboard shortcut widget @@ -3528,7 +3543,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit this week src/app/core/config/config-fix.ts - 136 + 141 Attendance week dashboard widget label @@ -3536,7 +3551,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit last week src/app/core/config/config-fix.ts - 143 + 148 Attendance week dashboard widget label @@ -3544,7 +3559,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Late last week src/app/core/config/config-fix.ts - 150 + 155 Attendance week dashboard widget label @@ -3552,7 +3567,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Note src/app/core/config/config-fix.ts - 168 + 173 label for entity @@ -3560,23 +3575,23 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Date src/app/core/config/config-fix.ts - 186 + 191 src/app/core/config/config-fix.ts - 816 + 818 src/app/core/config/config-fix.ts - 1104 + 1112 src/app/core/config/config-fix.ts - 1199 + 1207 src/app/core/config/config-fix.ts - 1245 + 1253 Label for the date of a note @@ -3584,7 +3599,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Subject src/app/core/config/config-fix.ts - 196 + 201 src/app/features/todos/model/todo-default-configs.ts @@ -3596,7 +3611,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit SW src/app/core/config/config-fix.ts - 203 + 208 Label for the social worker(s) who created the note @@ -3604,7 +3619,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Category src/app/core/config/config-fix.ts - 214 + 219 Label for the category of a note @@ -3612,14 +3627,14 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Attachment src/app/core/config/config-fix.ts - 220 + 225 Related Records src/app/core/config/config-fix.ts - 229 + 234 src/app/features/todos/model/todo-default-configs.ts @@ -3631,11 +3646,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Groups src/app/core/config/config-fix.ts - 237 + 242 src/app/core/config/config-fix.ts - 873 + 875 label for the linked schools @@ -3643,15 +3658,15 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Status src/app/core/config/config-fix.ts - 245 + 250 src/app/core/config/config-fix.ts - 526 + 520 src/app/core/config/config-fix.ts - 1005 + 1013 Status of a note @@ -3659,7 +3674,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Notes & Reports src/app/core/config/config-fix.ts - 255 + 260 Title for notes overview @@ -3667,11 +3682,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Standard src/app/core/config/config-fix.ts - 259 + 264 src/app/core/config/config-fix.ts - 263 + 268 Translated name of default column group @@ -3679,19 +3694,19 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Mobile src/app/core/config/config-fix.ts - 260 + 265 src/app/core/config/config-fix.ts - 273 + 272 src/app/core/config/config-fix.ts - 497 + 491 src/app/core/config/config-fix.ts - 550 + 544 Translated name of mobile column group @@ -3699,7 +3714,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit User Information src/app/core/config/config-fix.ts - 353 + 348 Panel title @@ -3707,7 +3722,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Security src/app/core/config/config-fix.ts - 368 + 360 Panel title @@ -3715,7 +3730,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit assets/help/help.en.md src/app/core/config/config-fix.ts - 381 + 373 Filename of markdown help page (make sure the filename you enter as a translation actually exists on the server!) @@ -3723,15 +3738,15 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Basic Information src/app/core/config/config-fix.ts - 411 + 405 src/app/core/config/config-fix.ts - 584 + 577 src/app/core/config/config-fix.ts - 914 + 912 Panel title @@ -3739,7 +3754,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Students src/app/core/config/config-fix.ts - 428 + 422 Panel title @@ -3747,7 +3762,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Activities src/app/core/config/config-fix.ts - 437 + 431 Panel title @@ -3755,31 +3770,35 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Name src/app/core/config/config-fix.ts - 455 + 449 src/app/core/config/config-fix.ts - 968 + 976 src/app/core/config/config-fix.ts - 1068 + 1076 src/app/features/reporting/demo-report-config-generator.service.ts 93 + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 9 + Column title for ChildBlockComponents Class src/app/core/config/config-fix.ts - 466 + 460 src/app/core/config/config-fix.ts - 1291 + 1299 Column label for class which child attends @@ -3787,7 +3806,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Attendance (School) src/app/core/config/config-fix.ts - 478 + 472 Column label for school attendance of child @@ -3795,7 +3814,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Attendance (Coaching) src/app/core/config/config-fix.ts - 487 + 481 Column label for coaching attendance of child @@ -3803,11 +3822,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Basic Info src/app/core/config/config-fix.ts - 496 + 490 src/app/core/config/config-fix.ts - 500 + 494 Translated name of default column group @@ -3815,7 +3834,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit School Info src/app/core/config/config-fix.ts - 513 + 507 Column group name @@ -3823,11 +3842,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Health src/app/core/config/config-fix.ts - 536 + 530 src/app/core/config/config-fix.ts - 701 + 699 Column group name @@ -3835,7 +3854,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Personal Information src/app/core/config/config-fix.ts - 594 + 587 Header for form section @@ -3843,7 +3862,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Additional src/app/core/config/config-fix.ts - 598 + 596 Header for form section @@ -3851,7 +3870,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Scholar activities src/app/core/config/config-fix.ts - 602 + 600 Header for form section @@ -3859,7 +3878,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Education src/app/core/config/config-fix.ts - 610 + 608 Panel title @@ -3867,7 +3886,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit School History src/app/core/config/config-fix.ts - 613 + 611 Title inside a panel @@ -3875,7 +3894,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit ASER Results src/app/core/config/config-fix.ts - 633 + 631 Title inside a panel @@ -3883,7 +3902,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Find a suitable new school src/app/core/config/config-fix.ts - 667 + 665 Child details section title @@ -3891,7 +3910,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Notes & Tasks src/app/core/config/config-fix.ts - 688 + 686 Panel title @@ -3899,7 +3918,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Health checkups are to be done regularly, at least every 6 months according to the program guidelines. src/app/core/config/config-fix.ts - 711 + 712 description section @@ -3907,7 +3926,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Height & Weight Tracking src/app/core/config/config-fix.ts - 719 + 721 Title inside a panel @@ -3915,7 +3934,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit BMI src/app/core/config/config-fix.ts - 730 + 732 Table header, Short for Body Mass Index @@ -3923,7 +3942,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit This is calculated using the height and the weight measure src/app/core/config/config-fix.ts - 731 + 733 Tooltip for BMI info @@ -3931,7 +3950,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Educational Materials src/app/core/config/config-fix.ts - 745 + 747 Panel title @@ -3939,7 +3958,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Observations src/app/core/config/config-fix.ts - 770 + 772 Panel title @@ -3947,7 +3966,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Material src/app/core/config/config-fix.ts - 823 + 825 The material which has been borrowed @@ -3955,7 +3974,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Amount src/app/core/config/config-fix.ts - 832 + 834 The amount of the material which has been borrowed @@ -3963,7 +3982,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Description src/app/core/config/config-fix.ts - 843 + 845 src/app/features/template-export/template-export.entity.ts @@ -3979,7 +3998,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Recurring Activity src/app/core/config/config-fix.ts - 849 + 851 label for entity @@ -3987,7 +4006,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Recurring Activities src/app/core/config/config-fix.ts - 850 + 852 label (plural) for entity @@ -3995,11 +4014,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Participants src/app/core/config/config-fix.ts - 867 + 869 src/app/core/config/config-fix.ts - 929 + 927 src/app/features/reporting/demo-report-config-generator.service.ts @@ -4011,7 +4030,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Excluded Participants src/app/core/config/config-fix.ts - 879 + 881 Label for excluded participants of a recurring activity @@ -4019,7 +4038,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Assigned user(s) src/app/core/config/config-fix.ts - 885 + 887 Label for the assigned user(s) of a recurring activity @@ -4027,7 +4046,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Events & Attendance src/app/core/config/config-fix.ts - 942 + 946 Panel title @@ -4035,11 +4054,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Child src/app/core/config/config-fix.ts - 957 + 961 src/app/core/config/config-fix.ts - 1277 + 1285 Label for child @@ -4047,7 +4066,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Project Number src/app/core/config/config-fix.ts - 975 + 983 Label for the project number of a child @@ -4055,7 +4074,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit PN src/app/core/config/config-fix.ts - 976 + 984 Short label for the project number @@ -4063,7 +4082,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Date of birth src/app/core/config/config-fix.ts - 982 + 990 Label for the date of birth of a child @@ -4071,7 +4090,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit DoB src/app/core/config/config-fix.ts - 983 + 991 Short label for the date of birth @@ -4079,7 +4098,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Center src/app/core/config/config-fix.ts - 989 + 997 Label for the center of a child @@ -4087,7 +4106,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Gender src/app/core/config/config-fix.ts - 994 + 1002 Label for the gender of a child @@ -4095,7 +4114,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Admission src/app/core/config/config-fix.ts - 1000 + 1008 Label for the admission date of a child @@ -4103,7 +4122,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Dropout Date src/app/core/config/config-fix.ts - 1009 + 1017 Label for the dropout date of a child @@ -4111,7 +4130,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Dropout Type src/app/core/config/config-fix.ts - 1014 + 1022 Label for the type of dropout of a child @@ -4119,7 +4138,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Dropout remarks src/app/core/config/config-fix.ts - 1019 + 1027 Label for the remarks about a dropout of a child @@ -4127,7 +4146,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Photo src/app/core/config/config-fix.ts - 1023 + 1031 Label for the file field of a photo of a child @@ -4135,11 +4154,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Phone Number src/app/core/config/config-fix.ts - 1027 + 1035 src/app/core/config/config-fix.ts - 1087 + 1095 Label for the phone number of a child @@ -4147,11 +4166,11 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Address src/app/core/config/config-fix.ts - 1031 + 1039 src/app/core/config/config-fix.ts - 1083 + 1091 Label for the address of a child @@ -4159,7 +4178,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Blood Group src/app/core/config/config-fix.ts - 1035 + 1043 Label for a child attribute @@ -4167,7 +4186,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Religion src/app/core/config/config-fix.ts - 1039 + 1047 Label for the religion of a child @@ -4175,7 +4194,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Mother Tongue src/app/core/config/config-fix.ts - 1043 + 1051 Label for the mother tongue of a child @@ -4183,7 +4202,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit The primary language spoken at home src/app/core/config/config-fix.ts - 1044 + 1052 Tooltip description for the mother tongue of a child @@ -4191,7 +4210,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Last Dental Check-Up src/app/core/config/config-fix.ts - 1048 + 1056 Label for a child attribute @@ -4199,7 +4218,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Birth certificate src/app/core/config/config-fix.ts - 1052 + 1060 Label for a child attribute @@ -4207,7 +4226,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Private School src/app/core/config/config-fix.ts - 1075 + 1083 Label for if a school is a private school @@ -4215,7 +4234,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Language src/app/core/config/config-fix.ts - 1079 + 1087 Label for the language of a school @@ -4223,7 +4242,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit School Timing src/app/core/config/config-fix.ts - 1091 + 1099 Label for the timing of a school @@ -4231,7 +4250,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Motivated src/app/core/config/config-fix.ts - 1120 + 1128 Label for a child attribute @@ -4239,7 +4258,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit The child is motivated during the class. src/app/core/config/config-fix.ts - 1121 + 1129 Description for a child attribute @@ -4247,7 +4266,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Participating src/app/core/config/config-fix.ts - 1126 + 1134 Label for a child attribute @@ -4255,7 +4274,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit The child is actively participating in the class. src/app/core/config/config-fix.ts - 1127 + 1135 Description for a child attribute @@ -4263,7 +4282,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Interacting src/app/core/config/config-fix.ts - 1132 + 1140 Label for a child attribute @@ -4271,7 +4290,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit The child interacts with other students during the class. src/app/core/config/config-fix.ts - 1133 + 1141 Description for a child attribute @@ -4279,7 +4298,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Homework src/app/core/config/config-fix.ts - 1138 + 1146 Label for a child attribute @@ -4287,7 +4306,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit The child does its homework. src/app/core/config/config-fix.ts - 1139 + 1147 Description for a child attribute @@ -4295,7 +4314,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Asking Questions src/app/core/config/config-fix.ts - 1144 + 1152 Label for a child attribute @@ -4303,7 +4322,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit The child is asking questions during the class. src/app/core/config/config-fix.ts - 1145 + 1153 Description for a child attribute @@ -4311,7 +4330,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit User src/app/core/config/config-fix.ts - 1152 + 1160 label for entity @@ -4319,7 +4338,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Contact src/app/core/config/config-fix.ts - 1159 + 1167 Label of user phone @@ -4327,7 +4346,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Math src/app/core/config/config-fix.ts - 1223 + 1231 Label of the Math ASER result @@ -4335,7 +4354,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Height [cm] src/app/core/config/config-fix.ts - 1254 + 1262 Label for height in cm of a health check @@ -4343,7 +4362,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Weight [kg] src/app/core/config/config-fix.ts - 1260 + 1268 Label for weight in kg of a health check @@ -4351,7 +4370,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Result src/app/core/config/config-fix.ts - 1308 + 1316 Label for the percentage result of a relation @@ -6493,14 +6512,6 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit 180 - - Upcoming Birthdays - - src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.html - 4 - - Subtitle of the birthday widget - yrs @@ -6508,35 +6519,43 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit 26 + + Upcoming Birthdays + + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts + 59 + + dashboard widget subtitle + Previous Grouping src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 11 + 21 - + by + >"/> : src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 22,32 + 32,40 Next Grouping src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 33 + 44 Table showing disaggregation of the beneficiaries src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 49 + 62 Label for children count dashboard @@ -6544,7 +6563,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Center src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 75,77 + 88,90 The center that a partiipant belongs to, e.g. a city @@ -6552,7 +6571,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Count of children src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 78,80 + 91,93 The amount of children that study at one school @@ -6560,10 +6579,18 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Link src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.html - 81 + 94 A link that takes a user to a center + + Counting all "active" records. If configured, you can view different disaggregations by using the arrows below. + + src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.ts + 126 + + dashboard widget explanation + Clubs visited @@ -6719,7 +6746,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Table showing organization progress src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 12 + 14 Label for progress dashboard @@ -6727,7 +6754,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Progress Bar src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 36,38 + 38,40 A visual aid to understand a progress of sorts @@ -6735,33 +6762,56 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Progress Value src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.html - 39 + 41 A progress in numbers + + Progress Overview + + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts + 47 + + dashboard widget subtitle + + + Shows the progress of different parts of project tasks. You can use this to track any kind of targets. + + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts + 49 + + dashboard widget explanation + Progress of X src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts - 73 + 94 The progress, e.g. of a certain activity - - Quick actions + + Copy the link to share or paste it somewhere else src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.html - 4 + 32 - Title of dashboard widget that shows a list of certain actions a user can - click on - - Copy the link to share or paste it somewhere else + + Quick Actions - src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.html - 35 + src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.ts + 48 + + dashboard widget subtitle + + + Shortcuts to quickly navigate to common actions + + src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.ts + 50 + dashboard widget explanation Uploading "" @@ -6945,14 +6995,28 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Update custom address? src/app/features/location/address-edit/address-edit.component.ts - 104 + 106 Do you want to overwrite the custom address to the full address from the online lookup? This will replace "" with "". The marked location on the map will be unaffected by this choice. src/app/features/location/address-edit/address-edit.component.ts - 105 + 107 + + + + To accurately log your current address, please allow GPS access. + + src/app/features/location/address-gps-location/address-gps-location.component.html + 4 + + + + Failed to access device location. Please check if location permission is enabled in your device settings + + src/app/features/location/address-gps-location/address-gps-location.component.ts + 54 @@ -6985,6 +7049,13 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit 30,32 + + [selected coordinates: - ] + + src/app/features/location/geo.service.ts + 91 + + Show the location marked on the map. @@ -7011,14 +7082,7 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit Search an address or click on the map directly to select a different location src/app/features/location/map-popup/map-popup.component.ts - 59 - - - - [selected on map: - ] - - src/app/features/location/map-popup/map-popup.component.ts - 112 + 56 @@ -7274,6 +7338,10 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/features/reporting/reporting/object-table/object-table.component.html 7 + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 6 + Label for table showing report result @@ -7290,6 +7358,10 @@ Feel free to reach out to us with your questions or feedback: [support@aam-digit src/app/features/reporting/reporting/report-row/report-row.component.html 32 + + src/app/features/reporting/reporting/sql-v2-table/sql-v2-table.component.html + 20 + Table report header @@ -7862,6 +7934,10 @@ Template files can be in most office document formats (odt, docx, ods, xlsx, odp src/app/features/todos/todo-list/todo-list.component.ts 190 + + src/app/features/todos/todos-dashboard/todos-dashboard.component.ts + 38 + Currently Active @@ -7879,14 +7955,13 @@ Template files can be in most office document formats (odt, docx, ods, xlsx, odp snackbar message informing about next recurring task - - Tasks due + + Tasks that are beyond their deadline - src/app/features/todos/todos-dashboard/todos-dashboard.component.html - 3 + src/app/features/todos/todos-dashboard/todos-dashboard.component.ts + 40 - dashboard showing open todos - subtitle + dashboard widget explanation